Devoxx Poland 2019

Devoxx Poland 2019

Drugi rok z rzędu byłem na devoxxie w Krakowie. Konferencja odbyła się w ICE co jest dobrą lokalizacją na tak dużą konferencję. Podobno było 2700 osób więc dosyć sporo. Mimo tylu osób, wszystko odbywało się sprawnie od rejestracji po odbiór starter packa. Nawet oczekiwania na obiad przy tej ilości osób nie dało się przyśpieszyć a te kilkanaście minut stania w kolejce nie było tragedią.

Devoxx motyw przewodni

Na wielu prezentacjach pojawiał się GraalVm oraz serverless. Warto również zainteresować się quarkus od redhata, ponieważ ta technologia wygląda dosyć obiecująco.

Poniżej opis paru prezentacji, które myślę że warto polecić.

Chet Haase – A Complete Waste of Time

Prezentacja w ramach keynota. Poprowadzona w humorystyczny sposób. Ogólnie to była ona o quality w oprogramowaniu. Wiadomo, że jakość wiąże się z mniejszą ilością błędów a błędy powstają tylko przy kodowaniu. Wynika z tego że bez kodowania nie ma błędów a wtedy jakość jest najwyższa.

Richard Warburton – Fantastic Performance and where to find it

Prezentacja na temat rozwiązywania problemów wydajnościowych. Na początek kilka prostych przykładów, jak zoptymalizować procesy które używają dużo CPU oraz procesy które długo trwają i komunikują się z zewnętrznymi usługami. Później prelegent przeszedł do tego co najważniejsze. Mianowicie nie należy optymalizować bo coś się wydaje, tylko trzeba posiadać odpowiednie metryki. Również  nie ma sensu robienia testów obciążeniowych tylko trzeba bazować na metrykach. Powinna istnieć możliwość przeglądania ich z dowolnego okresu czasu jak i grupowania po określonym kawałku.

David Schmitz – Event Sourcing – You are doing it wrong

Praktyczna prezentacja w jaki sposób łatwo można kontrolować to co dzieje się w event sourcingu bez używania zewnętrznych frameworków oraz magii, która za tym stoi. Tym bardziej, że stworzenie takiego event sourcingu od zera jest proste i przez długi czas pozwala odwlec decyzję czy jest potrzebne coś więcej. Tym bardziej ta prezentacja mi się podobała, że w jednym z teamów w których pracowałem w podobny sposób zaimplementowaliśmy event sourcing i do podobnych wniosków doszliśmy. To wystąpienie było również na Devoxx Belgia.

devoxx starter pack
devoxx starter pack

Marcin Grzejszczak i Jakub Pilimon Testing Your Message-Driven Application

Jak dla mnie najlepsza prezentacja konferencji. Prelegenci w formie dialogu między programistą a biznesem pokazali jak z tradycyjnego systemu opartego na restowej integracji można stworzyć/wprowadzić system oparty na eventach i kolejkach razem z testami. Chłopaki prowadzili prezentację z poczuciem humoru (jeszcze więcej anotacji springowych na wszelki wypadek). Byli bardzo dobrze przygotowani i widać, że to o czym opowiadali to jest coś czego używają na co dzień. Myślę, że tą prezentację można traktować również jako przykład programowania w parze, gdzie na podstawie rozmowy programiści dochodzą do pewnych koncepcji i rozwiązań. Jedyna moja uwaga odnosi się do nazwy prezentacji bo o samym testowaniu przy pomocy Consumer Driver Contract było trochę za mało. Więcej na ten temat można się dowiedzieć na prezentacjach Marcina.

Brian Vermeer – Write better functional Java Code

Mimo tego, że java 8 jest już parę lat to nie każdy używa poprawnie funkcyjnych elementów, które zostały w niej wprowadzone. Prezentacja dobrze przygotowana, pokazuje poprawne funkcyjne podejście w samej javie. Pomimo tego, że javy 8 używam już parę lat to też czegoś nowego się nauczyłem.

Nathaniel Schutta – Functions and Platforms and Containers, Oh My!

Dawno, dawno temu serwery były trudno dostępnymi zasobami, na które czekało się miesiącami. Później nadeszły czasy platform, kontenerów, serverless. Każde z podejśc ma swoje plusy i minusy, które należy rozważyć. Wykorzystując serverless można skupić się tylko na logice biznesowej ale nie ma się wpływu na konfigurację. Przy własnym serwerze można dużo dostosować do własnych potrzeb. Niestety wtedy logika biznesowa jest tylko niewielkim kawałkiem na którym należy się skupić. Najważniejszy wniosek z tej prezentacji to to, że należy kierować się rozsądkiem i wybrać racjonalnie to co jest potrzebne biorąc pod uwagę wady i zalety a nie tylko panującą modę.

Tomasz Dubikowski – 7 Deadlier Sins of Craftsmanship

Prezentacja bardziej miękka w formie retro  gry. Na swojej drodze bohater spotyka postacie z popkultury które reprezetują siedem grzechów. Niestety te grzechy każdy z developerów popełnia. Jednak wiedząc jakie te błędy są mamy też wiedzę w jaki sposób ich uniknąć i stać się lepszymi developerami.

Simon Maple Live Hack: Finding Security Vulnerabilities Before They Find
You!

Prelegent pokazał jak prosto można shackować aplikację – poprzez wprowadzenie złośliwego kodu aż do wykonywania poleceń na serwerze przy pomocy zwykłego curla. Wszystkie te podatności w większości przypadków biorą się z dziur w zależnościach. Na prezentacji został przedstawiony prosty skrypt na kilkanascie linijek kodu. Skrypt ten mial dwie bezpośrednie zależnosci, a one miały kilka wlasnych. Niestety liczba linii kodu tych wszytkich dependencji przekraczała 190K. Z tego względu  łatwo o podatność. Dlatego nie należy zapominać o aktualizacjach bibliotek. Narzędziem które może przy tym pómoc jest snyk. Istnieje do niego wtyczka dla intellij.

Podsumowanie

Na pewno warto wybrać się na devoxx. Kilka różnych prezentacji w tym samym czasie, sprawia że każdy znajdzie coś ciekawego dla siebie. Tak samo są tematy dla osób początkujących ale również dla zaawansowanych. Dzięki dla organizatorów za dobrą pracę i polecam wybrać się w przyszłym roku na devoxx.