Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM    Subskrybuj kanał ATOM dla tagu php Kanał ATOM (tag: php)

Autor wpisu: matipl, dodany: 13.04.2018 11:59, tagi: php

Dla mnie obecność na 4Developers to już tradycja. Idealna długość (1 dzień w poniedziałek), miesiąc perfekcyjny (kwiecień, gdzie świat konferencyjny dopiero się budzi), w miarę prosty dojazd z Trójmiasta (pociągiem ~ 3h). I samo miejsce w Warszawie mi odpowiada (dawny Hotel Gromada, ~ 20 minut z centrum).

A jak było w tym roku? Inaczej, co roku jest inaczej. Nigdy nie doświadczymy tego samego. Zmieniają się ludzie, ścieżki, technologie, a my sami mamy nowy bagaż własnych doświadczeń. Moim zdaniem dało się odczuć coraz większe niedostatki w ilości prelegentach, i nawet takiego organizatora jakim jest PROIDEA dotknął ten problem. Dlatego staram się posiłkować zagranicznymi konferencjami, ale do rzeczy.

Trendy

Zastanawiacie się czemu warto bywać na konferencjach, i dlaczego bywanie jest lepsze od oglądania nagrań? Uczestnicząc możecie wyczuć jakie są obecnie trendy na rynku, co się zmienia, z czego mniej się korzysta, a co stało się już standardem.

I tak jak kiedyś tylko napominano w świecie IT o DDD (Domain-Driven Design) to dzisiaj korzysta z niego wiele firm w wielu projektach. I nie zapominajmy, że jeśli mówimy o DDD, to w parze idzie z CQRS czy Event Sourcingiem, a tuż obok (a wręcz przed) stoi Event Storming. Jeśli nie słyszeliście o tych pojęciach, możecie szybko przeklikać się przez 233 slajdy Cyryla Martraire, z którego zaczerpnięty jest powyższe obrazek.

Natomiast w świecie bardziej sprzętowym coraz modniejszym podejście staje się Serverless. Coraz więcej i coraz częściej można usłyszeć, że znajduje się kolejny śmiałek, z odpowiednim budżetem, aby wejść w FaaS. W przeciwieństwie do DDD, nie widzę szerokiego miejsca w świecie IT na FaaS, ale jest to ciekawe podejście do wytwarzania oprogramowania i są pewne miejsce gdzie na pewno znajdzie zastosowanie.

Fajne było…

Fajnie, że identyfikator był na smyczy, a nie jak w 2016 roku (korkowa podkładka pod kubek). Fajne jest również to, że 4Developers nadal wpółpracuje z Eventory i cała agenda jest dostępna na telefonie i można układać własny program dnia. To o czym zapominają niektórzy organizatorzy w Polsce to napoje, kawa, herbata, słodkości w czasie przerw – ułatwia to nie tylko przeżycie całego dnia, ale również w pewien sposób rozmowy kuluarowe. I tego było pod dostatkiem.

Mniej fajne

Niefajnie, że wspomniany badge był z eko-papieru, bez agendy (ale agendę papierową można było dostać). Podczas tegorocznego 4Developers brakowało mi prelekcji stricte technicznych, takich z mięskiem (jak kiedyś np. GoldenLine, GOG, Allegro). Prelekcje, które były to bardziej forma prezentacji technologii, procesu, a nie podrasowania aplikacji/systemów pod maską.

Wydawało mi się, że w tym roku jest mniej ścieżek, ale mimo wszystko ścieżka PHP dostała salę wielkości 2/3 z poprzedniego roku. Dziwnie. Co było jeszcze dziwnego? Lunch – zimny, z boksu, ze słabymi ziemniakami. Ale…

Na pewno wrócę za rok, trzymając kciuki za CfP i czas prelegentów, aby pomiędzy swoimi obowiązkami zawodowymi i prywatnymi mieli czas na dzielenie się wiedzą. A poniżej możecie przeczytać moje notatki z tegorocznej edycji.

Strangler pattern – czyli jak sprawnie udusić Legacy

Prelegent: Michał Kurzeja Ścieżka: PHP

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Autor wpisu: matipl, dodany: 19.02.2018 13:12, tagi: php

Po rozmowach z różnymi osobami w minionym tygodniu doszedłem do wniosku, że nadszedł trudny czas dla programistów, nie tylko języka PHP.

Jeszcze nie tak dawno temu liczyła się głównie „głowa”, rozwiązywanie łamigłówek, projektowanie algorytmów pod konkretne rozwiązania, staż, doświadczenie. Obecnie staż i doświadczenie nie zawsze są sprzymierzeńcem programisty (developera), a czasami stają się wrogiem. Ponieważ rozwiązania, które uchodziły za właściwe jeszcze 5-10 lat temu dzisiaj przechodzą do lamusa, a raczej to ułamek pracy jaką dzisiejszy programista musi wykonać.

Technologia przynosi wiele dobrego w świecie programisty. Zamiast zajmować się połączeniami z bazą danych, tworzeniem nowych walidatorów, czuwaniem nad przepływem informacji teoretycznie mamy więcej czasu, aby zająć się tym czego oczekuje Klient. Ale technologia bywa przewrotna, i zamiast kilku klas, tworzymy dziesiątki, bo szyna, bo event itp. A do tego konfiguracja tu i tam (a może anotacje, a może YML, albo router w PHP). Coraz więcej osób się w tym gubi i potrzebuje o wiele więcej czasu na wdrożenie…

Dlatego dzisiaj polecam Wam zobaczyć nagranie z warsztatów, które odbyły się podczas Web Summer Camp 2017, a prowadził je Marco Pivetta. Warsztaty te to wprowadzenie w świat CQRS (Command Query Responsibility Segregation – teoria u Martina Fowlera).

Marco na GitHub umieścił kod aplikacji, dlatego możecie w pewien sposób uczestniczyć w tych warsztatach.

Artykuł CQRS + ES – świetny workshop pochodzi z serwisu Mateusz matipl Kamiński.

Autor wpisu: JoShiMa, dodany: 30.12.2017 02:01, tagi: framework, php

Tak. Zaczęłam miesiąc temu swoją przygodę z Symfony. Długo trzymałam się z daleka od tego frameworka. Dziś właściwie nie wiem z jakie były powody mojego postępowania. Życie mnie przymusiło, żeby się jednak z nim zapoznać i prawdę mówiąc, nie żałuję. Oczywiście nie ma dnia, żebym nie zmagała się z zupełnie nowymi dla mnie zagadnieniami. Ot […]

Autor wpisu: Piotr Pasich, dodany: 20.11.2017 08:00, tagi: php

Screen-Shot-2017-10-23-at-5.59.30-PM-e1508796050361Paying for goods with Bitcoin is becoming more and more popular. If you run, maintain or develop an e-commerce website, ICO project, exchange, or trading system, you may be interested in a quick way of integrating with the Bitcoin blockchain. This article will show one of many ways of installing a Bitcoin mining software and […]

Autor wpisu: Piotr Pasich, dodany: 19.10.2017 21:04, tagi: php

cryptoJust a couple months ago, I was asked to participate in a project that operates with the cryptocurrency networks. And I had a pretty basic knowledge about a blockchain that time, which was not enough. During the development we realized this is a common problem and finding a highly qualified programmer who used to work […]

Autor wpisu: Michał Janicki, dodany: 01.10.2017 12:51, tagi: php

W tym poście opiszę w jaki sposób można tworzyć własne reguły i zestawy reguł dla PHPMD. Jeśli chciałbyś się dowiedzieć czym jest PHPMD lub uzupełnić wiedzę na ten temat to zapraszam do lektury poprzedniego postu opisującego od podstaw PHPMD. Zachęcam także do zapoznania się z tym i z tym postem – oba poświęcone są narzędziom do statycznej analizy kodu.

I jeszcze jedna uwaga – przykłady znajdujących się w tym poście jest zaczerpniętych bezpośrednio z dokumentacji PHPMD.

A teraz o tworzeniu własnych reguł

W pierwszej kolejności należy utworzyć plik z klasą, która będzie implementować interface \PHPMD\Rule. Znacznie lepszym rozwiązaniem będzie jednak zamiast implementować ten interface rozszerzyć klasę \PHPMD\AbstractRule. Zawiera ona całą logikę niezbędną do utworzenia klasy z regułą.

Kolejnym krokiem będzie stworzenie wewnątrz klasy metody apply, która jako argument przyjmuje obiekt będący instancją \PHPMD\AbstractNode. Ten obiekt reprezentuje klasę, metodę, funkcję lub interface, który możemy poddać testom. Pytanie jednak skąd wiadomo, że ten obiekt zawiera klasę a nie np. metodę? Aby to określić należy implementować jeden z czterech specjalnych interfaceów (\PHPMD\Rule\ClassAware, \PHPMD\Rule\FunctionAware, \PHPMD\Rule\InterfaceAware, \PHPMD\Rule\MethodAware). Ich jedynym zadaniem jest oznaczenie jakiego typu element testowanego kodu (klasa, funkcja, metoda, interface) będzie przekazywany w parametrze do metody apply. Przykład klasy poniżej:

class Com_Example_Rule_NoFunctions extends \PHPMD\AbstractRule
  implements \PHPMD\Rule\FunctionAware
{
  public function apply(\PHPMD\AbstractNode $node)
  {
  }
}

Teraz pozostaje tylko wywołać metodę addViolation, która dodaje informacje o błędzie do raportu końcowego w odpowiednim miejscu.

A teraz o regułach bazujących na danych z PHP Depend

PHPMD może posłużyć także do analizy istniejących już danych zwróconych PHP Depend i na ich bazie określić czy z kodem jest coś nie tak. Zasada tworzenia takiej reguły jest bardzo podobna do tych analizujących kod.

Pierwsze z czym należy się zapoznać to z listą metryk jakie oferuje PHP_Depend. Znajdziemy tam tabelę, w której każdy wiersz opisuje jedną metrykę. Gdy wybierzemy już, która metryka nas najbardziej interesuje przechodzimy do metody apply w na parametrze $node wywołujemy metodę getMetric i jako parametr podajemy nazwę metryki PHP_Depend. Metoda getMetric zwróci nam wartość, którą następnie możemy poddać analizie w samej metodzie apply. Klasa analizująca metrykę powinna być podobna do klasy poniżej:

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Autor wpisu: Michał Janicki, dodany: 21.08.2017 21:24, tagi: php

PHP Mess Detector jest kolejnym narzędziem po PHP_CodeSniffer i kilku innych wcześniej opisanych w tym i w tym poście narzędzi służących do statycznej analizy kodu jakie opiszę. Jeśli z jakiegoś powodu nie przeczytałeś tych wpisów to bardzo zachęcam do zapoznania się z nimi.

A teraz ogólnie o PHPMD

PHPMD (bo tak w skrócie nazwa się to narzędzie) jest to „odprysk” powstały w wyniku tworzenia narzędzia zwanego PHPDepend. Podobnie jak PHP_CodeSniffer najlepiej sprawdza się gdy chcemy przekonać się które fragmenty naszego kodu potencjalnie mogą zawierać błędy, nieużywane parametry lub wskaże fragmenty, które są zbyt skomplikowane.

A teraz o instalacji PHPMD

Sposoby instalacji są raczej standardowe. Po pierwsze można pobrać plik phar za pomocą następującego polecenia:

$ wget -c http://static.phpmd.org/php/latest/phpmd.phar

lub dodać zależność do pliku composer.json:

{
    "require-dev": {
        "phpmd/phpmd" : "@stable"
        }
}

potem wpisujemy:

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.