5 i 7 grudnia odbyła się “największa programistyczna konferencja w Polsce” – Code Europe. W tym roku miała ona miejsce w Centrum Kongresowym ICE w Krakowie (5.12) oraz na Stadionie Narodowym w Warszawie (7.12). My z racji odległości wybraliśmy Kraków. Zapraszam do przeczytania krótkiej relacji.
1. 12 rzeczy z Java8, o których musisz wiedzieć, aby Twój kod był mniej barokowy
Nasz pierwszy planowany wykład rozpoczął się o godz 9:00. Tematem było “12 rzeczy z Java8, o których musisz wiedzieć, aby Twój kod był mniej barokowy”. Prowadził go dobrze nam znany z innych konferencji Kuba Marchwicki. Niestety mieliśmy małe opóźnienie, a dodatkowo kolejka do wejścia była długa, więc nie zdążyliśmy. Na spokojnie oddaliśmy kurtki do szatni i odebraliśmy naklejki z naszymi imionami oraz przewodnik po konferencji (bardzo dobrze wykonany), w którym znalazły się opisy wszystkich prelegentów, prezentacji, firm oraz rozmieszczenie sal.
2. Building beautiful REST APIs using Flask-Restplus
Temat naszego faktycznie pierwszego wykładu to “Building beautiful REST APIs using Flask-Restplus”. W ostatnim miesiącu miałam okazję robić niewielki projekt uczelniany w Django i już w trakcie prelekcji zadawałam sobie pytanie “dlaczego nie robiłam tego we Flasku?!”. Michał Karzyński w bardzo przyjemny i zrozumiały sposób opowiadał jak prosto można pisać RESTowe aplikacji przy użyciu Pythona i Flaska. W swojej prezencji pokazywał dużo przykładów. Zainteresowało mnie to, w jak prosty sposób można obsługiwać wyjątki oraz zarządzać endpointami. Na koniec Michał przedstawił nam narzędzie jakim jest Swagger UI. Dzięki niemu mamy możliwość dokumentacji oraz wizualizacji naszego API z jednego miejsca.
3. Start hunting – kill the bugs and mutations
Sven Ruppert miał prelekcję na temat “Start hunting – kill the bugs and mutations”. Prelegent wchodził w dużą interakcję ze słuchaczami. W żartobliwy sposób opowiadał o testach mutacyjnych. Na przykładowych kawałkach kodu analizował ile testów jest nam faktycznie potrzebne do przetestowania konkretnych linii kodu. Już na samym początku prelegent zaznaczył, że wszystkie przykłady są napisane w Javie, bo nie ma pojęcia jak to czytać C# 🙂 Dzięki prezentacji Svena można było się zastanowić jak dobre są testy, które sami piszemy. Mogliśmy się przekonać w jaki sposób wprowadzać mutacje i testować je wykorzystując zachowanie programu.
4. Introduction to Functional Reactive Programming
Kolejny wykład poprowadził Eliasz Sawicki. Tematem było “Introduction to Functional Reactive Programming”. Prelekcja była ciekawa, ale nie znalazła się w moim “top 5”. W prezentacji pojawiło się mnóstwo przykładów w Swifcie. Moim zadaniem przydałoby się więcej teorii o samym programowaniu reaktywnym z naciskiem na trywialne przykłady w różnych językach.
5. Core Java Journey – Pattern / Reactive / Functional
Po serii prelekcji nadszedł czas na warsztaty z wcześniej poznanym już Svenem Ruppertem. Temat to “Core Java Journey – Pattern / Reactive / Functional”. Podobnie jak wykład, warsztaty były ciekawie poprowadzone i pomimo pełnych dwóch godzin nie odczuliśmy zmęczenia. W trakcie warsztatów mogliśmy przećwiczyć oraz utrwalić sobie znane nam możliwości Javy8, ale także poznać parę nowości z Javy9. Zaczęliśmy od wyrażeń lambda, przeszliśmy przez metody default i klasę Optional. Sven pokazywał i omawiał również potrzebę używania adnotacji @FunctionalInterface. Mieliśmy okazję posłuchać również o CompletableFuture z pakietu java.util.concurrent.
Część przykładów, które analizowaliśmy razem ze Svenem przedstawiały wzorce practical proxy, oraz observer. Warsztaty zakończyliśmy omówieniem strumieni, które są obecnie wyjątkowo popularne w środowisku Javowców.
Po warsztatach mieliśmy ponad godzinę przerwy. Udało nam się w tym czasie załapać na pizze, ale nie było to łatwe, ponieważ było bardzo duży chętnych na nią zaraz jak dojechała. W przerwie spotkaliśmy Jarka Pałkę, który na konferencji prowadził wykład “Bądź bohaterem swoich danych z grafami i Neo4j”. Na SpreadIT wysłuchaliśmy dłuższej wersji tej prezentacji, więc Jarek nam zagroził, że mamy się nie pojawiać i iść na coś nowego:) Zdążyliśmy jednak porozmawiać z przez nim w trakcie tej przerwy, wymienić się swoimi spostrzeżeniami i posłuchać o tym czym aktualnie się zajmuje. Padło stwierdzenie, że to był nasz “tydzień z Jarkiem”, bo w piątek 10.12 spotkaliśmy się na jego wykładzie na Silesia JUG‘u w Katowicach gdzie opowiadał o JIT’cie.
6. DevOps for Databases
Naszym ostatnim wykładem był “DevOps for Databases” Marka Maśko. Przyznam, że poszłam na niego z lekką niechęcią. Krzysiek uznał, że warto. I muszę mu przyznać rację, bo był to zdecydowanie jeden z najlepszych wykładów na tej konferencji. Szczególnie dla mnie, bo aktualnie dużo pracuję z bazami i ogromnymi ilościami danych. Słuchałam z lekkim zdziwieniem o testach i Continous Integration na bazach. Marek opowiadał o tym czym jest DevOps, a w zasadzie bardziej skupił się na tłumaczeniu czym jest DevOps Team. Jak to wygląda w firmach, a jak powinno wyglądać. Dowiedzieliśmy się jak budować zespół oraz automatyzować procesy w firmach. Marek rozwiązanie to wdrożył u siebie i mogliśmy usłyszeć jak to wygląda w praktyce, ile trwa i jakie są skutki (oczywiście pozytywne). Po wykładzie miałam ogromną ochotę spróbować pobawić się CI oraz testowaniem baz. Mam nadzieję, że w najbliższym czasie znajdzie się na to czas. W przerwie po wykładzie spotkaliśmy jeszcze Marka, więc mieliśmy okazję podziękować mu osobiście za prelekcję oraz wymienić się spostrzeżeniami.
7. Podsumowanie
Podsumowując, konferencja bardzo nam się podobała. Dużym plusem było to, że wszystkie prezentacje były po angielsku. Mogliśmy trochę poćwiczyć język i osłuchać się ze “stricte” technicznym słownictwem. Budynek Centrum Kongresowego ICE jest bardzo ładny zarówno na zewnątrz jak i w środku. Przeszklone ściany, jasne kolory, kilka poziomów. Wszystko sprawiało, że ta duża przestrzeń wydawała się jeszcze większa. Na każdym piętrze było mnóstwo stoisk firm reklamujących się i zachęcających uczestników konferencji do rekrutacji. Znalazły się tam takie firmy jak Delphi, ABB, ING Services, Microsoft, IBM czy Intel. Było sporo firm, które zajmują się automatyką i robotyką. Prezentowały one swoje roboty, które można było przetestować. Sale były umieszczone na różnych piętrach, a ich nazwy nawiązywały do przemysłu IT. Dwie z nich: Seattle oraz Redmond to miasta położone w stanie Waszyngton. Los Gatos, Cupertino i Palo Alto to części Doliny Krzemowej, a ostatnią salą była sama Dolina Krzemowa (Silicon Valley). Minusem było to, że duża część wykładów trwała tylko 30 min. Według mnie to trochę za mało, żeby omówić jakiś temat, dlatego prezentacje były mocno skondensowane i czasem brakowało zagłębienia się w temacie.
Z Code Europe wynieśliśmy dużą dawkę wiedzy i motywację do działania i testowania nowo poznanych rozwiązań. Już teraz zapraszamy was na kolejną edycję. Do zobaczenia!