PHPCon 2016

W tym roku nareszcie udało mi się wygospodarować trochę czasu na przełomie września i października, dzięki czemu mogłem wziąć udział w największej konferencji branżowej dla programistów PHP: PHPCon, która w tym roku odbyła się w hotelu: „Hotel Ossa Congress & Spa” w niewielkiej miejscowości o tej samej nazwie, między Rawą Mazowiecką, a Białą Rawską (podobnie zresztą jak przed rokiem). O ile w konferencji: 4developers4developers od kilku dobrych lat uczestniczę regularnie, tak to był mój pierwszy PHPCon, stąd pomysł podzielenia się ogólnymi wrażeniami.

Organizacyjnie cała konferencja wypadła bardzo dobrze z drobnymi zgrzytami, które miały miejsce jeszcze przed samą konferencja i na samym starcie:

  • dość dziwna sytuacja z miejscami noclegowymi w hotelu (podobno nie był to odosobniony przypadek) – organizatorzy najpierw przyjeli zamówienie na wejściówki i hotel, by na tydzień przed konferencją poinformować, że niestety ale brakuje im miejsc i trzeba szybko zarezerwować nocleg w innym pobliskim hotelu. W tej sytuacji bardziej jednak doszukiwałbym się winy po stronie hotelu;
  • po dotarciu na miejsce w piątek rano byłem lekko zdezorientowany – nie znalazłem żadnych informacji na temat samej konferencji i jako, że to był mój 1 PHPCon trochę ciężko było mi się odnaleźć. Po rejestracji, która była dostępna od 15 dalej było już tylko lepiej;

Na duży plus warto wspomnieć o:

  • świetnym hotelu, który zaskoczył bardzo pozytywnie: ładne pokoje, bardzo dobre jedzenie (bez ograniczeń) i co najważniejsze prelekcje / warsztaty w tym samym miejscu (nie dotyczy to oczywiście osób z wcześniej wspomnianym problemem noclegowym). Nie wiem ilu dokładnie uczestników brało udział w tegorocznym PHPConie ale organizacja śniadań / obiadów / kolacji była bardzo dobrze przemyślana – czego nie można powiedzieć np: o obiadach w czasie 4developers;
  • miło zaskoczyła mnie również maskotka PHP w pakiecie startowym podczas rejestracji – mój dwuletni syn był zachwycony 🙂

Warsztaty

Niestety z przyczyn logistycznych udało mi się wziać udział tylko w jednych warsztatach z PHPSpeca. Zajęcia podobnie jak warsztaty z Symfony2 były mocno wprowadzające w temat i dotyczyły przede wszystkim podstaw. Na koniec zajęć Miro Svrtan zaprezentował jak w prosty sposób zamodelować / wygenerować klasy pod prosty projekt startupu bankowego na bazie mocno ograniczonych wymagań.

Prelekcje

Przechodząc do sedna – większość prezentacji była na naprawdę wysokim poziomie, a na szczególne wyróżnienie zasługują prelekcje:

  • Mariusz Gil: „Discovering graph structures” – zgodnie z oczekiwaniami była to prawdopodobnie najlepsza prezentacja tegorocznego PHPCona. Mariusz w bardzo ciekawy sposób przedstawił alternatywne i zdecydowanie dużo bardziej wydajne podejście do przechowywania danych grafów – normalnie developerzy upychają tego typu struktury danych do relacyjnych baz danych. Zarządzanie obiektami i relacjami zachodzącymi pomiędzy tymi obiektami wydaje się być stosunkowo proste z wykorzystaniem narzędzi jakie oferuje Neo4j. Jako ciekawostkę dodam, że w związku z bardzo dużym zainteresowaniem tematem grafów i Neo4j, Mariusz postanowił zorganizować hackaton w mieście wyłonionym podczas głosowania – finalnie wybór padł na Warszawę i Wrocław:
  • Michiel Rook: „The road to continuous deployment: a case study” – prelekcja dotyczyła ciekawego, a zarazem dość radykalnego podejścia do continous deployment. Główne założenia to:
    • tylko 1 branch: master w projekcie w zespole ok 16 programistów;
    • 100℅ „code coverage”;
    • „pair Programming” – jako recepta na mniej doświadczonych programistów;
    • „feature toggle”;
    • tygodniowe sprinty.

    Dzięki takiemu podejściu, w firmie w której pracuje Michiel, udało się uzyskać bardzo dobre rezultaty: nowe funkcjonalności początkowo były wypuszczane średnio co 2-3 miesiące, po prowadzeniu powyższych zasad: co 2-3 dni;

  • Sebastian Malaca: „Refactoring hacked” – szereg interesujących wskazówek i niebezpieczeństw związanych z procesem refaktoryzacji kodu:
    • podstawowa zasada refaktoryzacji: „Leave the code in better state than you found it!”;
    • zasada: „czy obiekt wie” – jeśli tak to sam powinien odpowiedzieć jedną metodą;
    • wzorzec Strategy, zamiast rozbudowanych bloków CASE;
    • wzorzec Visitor zamiast instanceof.
  • Ondřej Mirtes: „Keep your users up-to-date in real-time with WebSockets!” – Ondřej zachęcał to PHPowej implementacji Websockets: podobno PHP w wersji 5.6+ i 7+ radzi sobie bardzo dobrze z pamięcią, a dobrze napisane skrypty uruchomione jako demony, mogą pracować bez restartowania bardzo długo – przytoczony przykład dotyczył skryptu nierestartowanego przez ok 2 lata. Jest to ciekawa alternatywa dla Node.js, którą niebawem będę miał okazję przetestować: ReactPHP;
  • Tomasz Kowalczyk: „Podejście funkcyjne w projektowaniu oprogramowania” – bardzo interesujący wykład na temat zalet programowania funkcyjnego w PHP;
  • Michał Łukaszewski: „Action Domain Response czyli nowoczesny MVC dla aplikacji webowych” – ACD jako alternatywa dla dobrze wszystkim znanego wzorca MVC;
  • Olaf Gałązka: „Time travelling with Event Sourcing” – kolejna odsłona dość dobrze już znanego podejścia dla alternatywnego sposobu przechowywania i przetwarzania danych;

Niestety fizycznie niemożliwe było uczestniczenie we wszystkich prelekacjach (równolegle odbywały się 2 prelekcje) ale praktycznie wszystkie (jeśli nie wszystkie?) były nagrywane – materiały video powinny być niebawem dostępne na stronie konferencji.

Dość popularnym tematem konferencji był CQRS (ang. Command Query Resposibility Segregation) / Event Sourcing i Functional Programming, które obecne były w wielu prelekcjach. Jeśli chodzi o frameworki to królowało przede wszystkim Symfony, aczkolwiek nie zabrakło prezentacji dotyczących architektury, refaktoryzacji i najlepszych praktyk.

Programistok

Jako ciekawostkę warto wspomnieć, że w czasie minionego weekendu miała miejsce inna bardzo ciekawa konferencja programistyczna: Programistok. Żałuję, że terminy pokryły się z PHPConem bo wstępnie planowałem w niej uczestniczyć. Poniżej bardzo fajnie zmontowane video z zapowiedzią konferencji, które warto zobaczyć:

Wracając do PHPCona, wydarzenie uważam za bardzo udane i szczerze zachęcam do uczestnictwa w kolejnych edycjach. Z tego co udało mi się dowiedzieć, impreza za rok ma się już odbyć w trochę zmienionej formie na znacznie większą skalę jako PHP CE (Central Europe).

Do zobaczenia za rok!