PHPCon 2022 - powrót po trzech latach

Po ponad dwóch latach czekania, odbył się PHPCon 2022. Tym razem spotkaliśmy się w Zawierciu na dwóch dniach wypełnionych wiedzą i rozmowami o PHP

Po ponad dwóch latach czekania, 28 października, w hotelu Villa Verde Congress & SPA w Zawierciu, rozpoczął się PHPCon 2020 2021 2022.

Hotel, jako jeden z nielicznych w Polsce, może poszczycić się własnym browarem. Jednak nie mamy mówić o hotelu, a o konferencji...

team
Ekipa na konferencji

Warsztaty

Pierwszego dnia wydarzenia odbyły się warsztaty. Niestety nie udało nam się załapać na zajęcia "Domain-Driven Design - modelowanie i implementacja agregatów" Mariusza Gila. Zamiast tego wybraliśmy się na "Jak dowiedzieć się dużo o swoim projekcie przy pomocy statycznej analizy kodu" oraz "Trunk Based Development i feature flags w istniejącym projekcie".

Jak dowiedzieć się dużo o swoim projekcie przy pomocy statycznej analizy kodu

Prowadzący: Grzegorz Byrka i Paweł Cierzniakowski

Grzegorz i Paweł zaczęli od zaprezentowania SonarQube - narzędzia, które może przeskanować kod projektu w celu wykrycia problemów w kodzie. Po skanowaniu, wszystko może być zaprezentowane w przystępnej formie.

sonarqube-example
Przykład wyników SonarQube

Poza PHP, "sonar" obsługuje 28 innych języków, więc sprawdzi się w projektach korzystających z wielu różnych technologii.

Skoro jesteśmy już przy różnych technologiach, Grzegorz stworzył narzędzie o nazwie Git Static Analyzer pozwalające na wyciągnięcie z repozytorium Git informacji o projekcie:

  • daty pierwszej oraz ostatniej zmiany w kodzie,
  • listę najczęściej modyfikowanych plików (wraz z ilością modyfikacji),
  • diagram aktywnych kontrybutorów.

W drugiej części warsztatu skupiliśmy się na narzędziach dedykowanych językowi PHP - Psalm, PHPStan oraz Deptrac. Wykorzystując aktywne projekty open-source skonfigurowaliśmy oraz przetestowaliśmy każde z tych narzędzi, a prowadzący omówili wyniki, powiedzieli na co zwracać uwagę oraz jak je wdrożyć w istniejących projektach.

Trunk Based Development i feature flags w istniejącym projekcie

Prowadzący: Adrian Słowik (FeatureFlags.pl)

Adrian pokazał w jaki sposób korzystać z feature flags - czyli przełączników włączających i wyłączających funkcjonalności w kodzie.

Przeszliśmy przez cały okres życia flagi - od wdrożenia, przez wykorzystanie, do usunięcia nieużywanych flag. Po drodze, do każdego dopisanego kawałka kodu, pisaliśmy testy jednostkowe - co rzadko się zdarza na warsztatach, ze względu na ograniczony czas.

Na koniec omówiliśmy bardziej skomplikowane zmiany czy to, w jaki sposób kilka flag może wpływać na siebie nawzajem.

Całość oparta była na Framework X, o którym żaden z uczestników warsztatu wcześniej nie słyszał.

Dzień drugi - prelekcje

Całodzienne prelekcje zostały podzielone na trzy ścieżki - zieloną, czerwoną oraz niebieską. Oficjalne otwarcie konferencji nastąpiło o 9:00, a o 9:30 mogliśmy brać udział w pierwszych prelekcjach.

Domain Driven Design - Jak zacząć?

Prowadzący: Michał Giergielewicz

Kolejna prelekcja z cyklu "podstawy i wprowadzenie do DDD". To już chyba czwarta, na którą trafiłem i czwarta, z której wyniosłem nową wiedzę. Tym razem omówiony został przypadek przekształcenia klasycznej architektury aplikacji, na architekturę warstwową z podejściem event driven oraz CQRS. Proces migracji opierał się o małe kroki, a nie wielki proces refaktoryzacji projektu. Takie podejście znacznie ułatwia zadanie oraz ogranicza ryzyko porzucenia procesu ze względu na zbyt dużą ilość jednoczesnych zmian.

Divide & Conquer - Context Mapping

Prowadzący: Mariusz Gil (Better Software Design)

Co prawda nie udało mi się załapać na warsztat Mariusza, ale prelekcji nie mogłem odpuścić. Z "Divide & Conquer - Context Mapping" można było wynieść wiedzę o tym, w jaki sposób zapanować nad efektami ubocznymi podczas zmian w kodzie dzięki zaprojektowaniu granic modeli oraz sposobu ich łączenia. Mówią, że "3 miesiące pisania kodu pomogą ci zaoszczędzić 3 godziny planowania". A tak zupełnie serio, mając poprawnie wydzielone granice modeli, łatwiej jest zorganizować zespoły oraz przyspieszyć rozwój oprogramowania.

Środowisko deweloperskie made easy - podsumowanie

Prowadzący: Michał Giergielewicz

Początkowo miało to być wystąpienie pt. "Framework Agnostic - czy ma to w ogóle sens?", jednak w związku chorobą jednego z prelegentów, Michał zgodził się na poprowadzenie swojej prezentacji. Opowiedział nam, w jaki sposób wykorzystuje narzędzie Traefik w celu łatwego i szybkiego przygotowania środowiska deweloperskiego. W rzeczywistości było to streszczenie zajęć warsztatowych, które poprowadził dzień wcześniej.

Integracja

fire-photo
Ognisko i piwo

Po intensywnym dniu zdobywania wiedzy, przyszedł czas na relaks. organizatorzy przygotowali jednocześnie trzy atrakcje:

  • Koncert grupy Turnioki - zespołu folkowo-rockowego,
  • JeoPHPardy - zabawa oparta o zasady Jeopardy! (emitowany w latach 90' teleturniej Va Banque opierał się na tym samym formacie),
  • kręgielnia - bo kto nie lubi rzucić kulą o wadze 3-7kg w pionki.

Dzień trzeci - wolne

Podczas tej edycji, nie było drugiego dnia prelekcji. Organizatorzy tłumaczyli to tym, że niedzielne prezentacje zawsze cieszyły się małym zainteresowaniem, cześć osób opuszcza hotel z samego rana, a inni dochodzą do siebie po sobotniej nocy. Po chwili namysłu przypomniałem sobie, jak wyglądały moje niedziele na takich konferencjach i... W pełni popieram taką decyzję. Ani się człowiek nie skupi na słuchaniu prelegentów, ani prelegenci nie będą zadowoleni z niemrawej widowni, do której trudno dotrzeć.

Podsumowanie

Miło było powrócić po trzech latach na PHPCon. Organizacja stała na wysokim poziomie, a cały hotel był świetnie oznakowany - co miało znaczenie przy poszukiwaniu sal warsztatowych, które były rozsiane po całym obiekcie. Jeżeli w trakcie imprezy wystąpiły jakiekolwiek problemy techniczne, to nie dało się ich odczuć.

W tym roku, niestety, nie odważyłem się wysłać swojej prezentacji... Może za rok...

beer-wall
Ściana piw w recepcji hotelu

Podziękowanie

Aktualizacja 13 listopada 2022

Podczas konferencji była możliwość kupienia polskiego ElePHPanta "Janusza" - maskotki projektu PHP w wersji "Polska". Dwa tygodnie po konferencji przeprowadzaliśmy w biurze licytacje fantów na cele charytatywne. ElePHPant to doskonały fant... Tylko wtedy nikt o tym nie pomyślał. Po kontakcie z organizatorami, w dwie godziny, udało się ustalić wszystkie szczegóły i "załatwić" słonika na licytację.

Serdecznie dziękuję za sprawne załatwienie sprawy i możliwość zdobycia słonika drogą wysyłkową.

janusz
elePHPant "Janusz"

Odkryj podobne treści

PHPCon 2023 moim okiem

Miałem przyjemność uczestniczyć w kolejnej edycji PHPCon. Kilka słów o organizacji, warsztatach i prelekcjach.