Blog

11 września 2015 Tomasz Tarnowski

Dutch PHP 2015 (cz. 2)

Tagi: ,

Dutch PHP 2015 (cz. 2)

Poprzednia części relacji zawierała zarówno ogólne informacje o konferencji jak i opis wydarzeń z dnia pierwszego. Poniżej przedstawiam sprawozdanie z dnia drugiego.

Konferencja – dzień II

Drugi dzień konferencji rozpoczął się o tej samej godzinie co poprzedni – 9:45 i wtedy pełni energii, dzięki mocnej kawie, którą serwowali na terenie wydarzenia ruszyliśmy na wykłady. Tego dnia mój plan uczestnictwa w prezentacjach wyglądał następująco:

  • Application Logging & Logstash
  • Hexagonal architecture – message-oriented software design
  • Wrangle Cross-cutting Concerns with Event Driven Programming
  • I put on my mink and wizard behat
  • Adding 1.21 Gigawatts to Applications with RabbitMQ

Wykłady

Application Logging & Logstash (Ben Waine)
Bardzo ciekawy wykład o zestawie narzędzi wspomagających logowanie w aplikacjach zwanym ELK Stack. Na początku prowadzący na kilku slajdach przedstawił teorie dotyczącą samego logowana na przykładzie bardzo popularnej biblioteki Monolog. Po tym wstępie przeszedł do sedna, czyli opisu każdego z poszczególnych elementów ELK Stack, na który składają się: ElasticSearch – składuje dane, daje dostęp do wyszukiwania pełnotekstowego i filtrowania, Logstash – odczytuje logi z plików *.log i zapisuje je w ElasticSearch w odpowiednim formacie oraz Kibana – prezentuje zapisane dane logowania w wygodnym panelu. Na koniec prelegent przedstawił praktyczny przykład wykorzystania zestawu narzędzi – była to prezentacja zebranych logów na mapie opierająca się na danych geograficznych komunikatów błędów, które zostały zalogowane w różnych częściach świata.

19293946821_426765221f_z

Hexagonal architecture – message-oriented software design (Matthias Noback)
Po wczorajszym bardzo udanym wykładzie tego prowadzącego, liczyłem na równie ciekawą prezentację, szczególnie biorąc pod uwagę, iż temat był związany z moim aktualnymi zainteresowaniami – nie zawiodłem się. Temat ten dotyczył nowatorskiego, w stosunku do MVC, podejścia do architektury aplikacji, a polega ono na oddzieleniu logiki biznesowej od zewnętrznych zależności jakimi są np. framework, baza danych, konsola, interfejs, czy innego rodzaju usługi systemowe. Taki podział jest możliwy dzięki zastosowaniu interfejsów (portów), które mogą zostać zaimplementowane przez dowolną liczbę zewnętrznych komponentów/usług (adapterów) z możliwością ich dowolnej podmiany w razie potrzeby. Architektura również, co ważne, jest zorientowana na przesyłanie komunikatów (message-oriented), co, jak pod koniec wspomniał prelegent, wspomaga CQRS, AMPQ, BDD, czy DDD. Prelekcja wywołała burzę pytań, którą prowadzący prawdopodobnie przewidział, ponieważ poświęcił aż 20 minut czasu prezentacji właśnie na pytania i odpowiedzi.

Wrangle Cross-cutting Concerns with Event Driven Programming (Chris Saylor)
Sam temat wiązał się u mnie z dość wielkimi oczekiwaniami, które niestety nie zostały spełnione. Mowa była o złożoności cyklicznej (ang. cyclomatic complexity), wzorcach observer i mediator oraz podstawach dotyczących zdarzeń (ang. events), niestety sposób prowadzenia wykładu był zbyt monotonny, co nie ułatwiało zaangażowania się w temat i zniechęcało do uważnego słuchania.

behat

I put on my mink and wizard behat (Thomas Shone)
Wykład o tworzeniu testów e2e z użyciem narzędzia Behat. Prelegent rozpoczął prezentację od dość obszernego, teoretycznego omówienia tego jak tworzyć prawidłowe scenariusze testowe i user story. Następnie przeszedł przez proces instalacji i konfiguracji Behata, a także jego integracji z biblioteką Mink pozwalającą na tworzenie scenariuszy w środowisku przeglądarek internetowych. Pokazał realny przykład takich testów na bazie formularza rejestracji. Poruszył również dodatkowe zagadnienia takie jak obsługa rollbacka danych z bazy po wykonaniu testu, czy też tworzenie scenariuszy z wysyłką maila i zastosowaniem captchy. Na koniec przedstawił kilka informacji dotyczących konfiguracji i układania testów w suity. Dla mnie temat był nowością, ale dzięki dobrze skomponowanej i konkretnie przedstawionej wiedzy wprowadził mnie w świat testowania aplikacji e2e i zachęcił do dalszego zgłębiania zagadnień z nim związanych.

rabbitmq

Adding 1.21 Gigawatts to Applications with RabbitMQ (James Titcumb)
Wystąpienie dotyczyło kolejkowania wiadomości (AMQP). Na początku prowadzący, posiłkując się praktycznymi przykładami, wytłumaczył podstawowe pojęcia – czym są kolejki, jak działają, na jakie typy się dzielą oraz jakie zalety pociąga za sobą ich stosowanie. Następnie zajął się instalacją i prezentacją możliwości rozwiązania RabbitMQ, przedstawił nieco dodatkowych informacji o konfiguracji narzędzia i poruszył kilka zagadnień dotyczących skalowania. W mojej ocenie wykład bardzo dobry, zwierał sporo odniesień do praktyki, zalety stosowania rozwiązania zostały przekazane w bardzo przekonujący sposób, było to świetne wprowadzenie do tematu kolejek i dalsza zachęta do poszerzania własnej wiedzy na ten temat.

Zakończenie

Przemówienie zamykające konferencje: Behind the Scenes of Maintaining an Open Source Project
Prowadzący to główny contributor znanej nam wszystkim biblioteki Composer. Pokazał on jak wygląda świat z perspektywy opiekunów tego popularnego projektu, przedstawił wady i zalety pracy nad rozwojem rozwiązań Open Source i opowiedział kilka ciekawych historii związanych z innymi contriburami oraz użytkownikami tej biblioteki. Cała prezentacja była prowadzona w dość humorystycznym tonie i dobrze się jej słuchało.

Powrót do domu
Po zakończeniu ostatniego przemówienia zostaliśmy jeszcze zaproszeni na poczęstunek i otrzymaliśmy darmowe gadżety, po czym o godz. 18:00 ruszyliśmy w stronę hotelu by móc odpocząć po ciężkim, ale zarazem produktywnie spędzonym dniu. Następnego dnia o 15:00 wystartowaliśmy samolotem w kierunku Pyrzowic.

Podsumowanie

Reasumując w kilku słowach – konferencja zorganizowana z wielkim rozmachem, prelegenci z wysokiej półki, ciekawe tematy wykładów, świetne przygotowanie techniczne – wszystkie prezentacje, w których brałem udział rozpoczęły się punktualnie i nie było żadnych problemów sprzętowych. Spodobało mi się również nasze zagraniczne środowisko branżowe, które jest bardzo otwarte i przyjaźnie nastawione. Wszystkim, którzy jeszcze nie byli polecam by pojechać w przyszłym roku 🙂

Zobacz na blogu

09.09.2022
Marcin Jahn
It’s Not Just HTTP It’s Not Just HTTP

In today’s world of cloud-based solutions, distributed systems, and microservices-based architectures, network communication is a...

23.08.2022
Adam Mrowiec
Konferencja IPC 2022 Berlin Konferencja IPC 2022 Berlin

Pandemia wreszcie się kończy, dlatego w tym roku postanowiliśmy wrócić do naszych wyjazdów na konferencje....