avatar

Wojtek Erbetowski

4Developers 2013 - konferencyjne notatki

W tym roku wyjątkowo mało szumu było wokół 4Developers. Aż dobrze, że miałem zapisane w kalendarzu, kiedy jest, bo bym przegapił :-) Zgłosiłem swoją prezentację na długo przed konferencją, ale dopiero na dwa tygodnie przed została zaakceptowana. Nie mniej jednak się cieszę, że dostałem możliwość zaprezentowania <a href="https://github.com/Polidea/Robospock" target="_blank">RoboSpocka</a>. <!--break-->

<p style="text-align: center;"><a href="http://blog.erbetowski.pl/wp-content/uploads/2013/04/4dev_inter_PL.jpg"></a></p> Wyruszyłem zatem z rana na <a href="http://2013.4developers.org.pl/pl/miejsce-pl" target="_blank">ulicę Bobrowiecką</a>, do kompleksu znanego choćby z dwóch (czy więcej?) edycji Javarsovii/Confitury. Po odebraniu skromnego pakietu rozstawiłem się w małej salce przygotowanej pod ścieżkę mobile, aby tuż po 9:00 móc zacząć swój wykład.

<a href="http://blog.erbetowski.pl/wp-content/uploads/2013/04/4devs-robospock.png"></a>

Niewielkie grono słuchaczy przeszło ze mną ścieżkę od podstawowego schematu testów (niby) jednostkowych dla Androida, poprzez podmianę klas w czasie runtime aż <strong>do Spocka w połączeniu z Robolectric</strong>. Slajdy umieściłem <a href="http://wojtekerbetowski.github.io/robospock-4developers-2013/" target="_blank">na moim GitHubie</a>, a kod, który pokazywałem jest do zobaczenia na stronie projektu, oraz kolejny projekt Open Source, który z <a href="https://github.com/Polidea/Robospock" target="_blank">RoboSpocka</a> korzysta <a href="https://github.com/Polidea/AndroidImageCache" target="_blank">do zobaczenia tu</a>.

 

Następnie wybrałem <strong>ścieżkę Python </strong>a tu czekał na mnie bardzo fajny wykład <a href="http://2013.4developers.org.pl/pl/program-pl/prelegenci-i-prezentacje#p=43">Bartosza Kupidury</a> o <strong>OpenStack</strong>. Podobało mi się bardzo początkowe rozróżnienie pomiędzy chmurą a wirtualizacją! Prezentacja bardzo dobrze ułożona, a prowadzona dynamicznie i luźno. Dominowały opisy i schematy zamiast kodu pythona, a więc nawet ktoś niezwiązany z językiem mógł skorzystać. Poza tym Bartek pracuje z OpenStack na codzień w Allegro, jeśli dobrze zrozumiałem, więc mówił o doświadczeniach, nie tylko o teorii, co sprawiło, że łatwo było mu odpowiadać na pytania, nawet te już bardzo związane z konkretną sytuacją.

<strong>Neo4J</strong> jest tematem, o który już kilkukrotnie się ocierałem, ale coraz bardziej mnie ciekawi, zwłaszcza, że w <a href="http://polidea.pl" target="_blank">Polidei</a> ostatnio niektóre projekty bardzo pasują do abstrakcji bazy grafowej. Również i ta prezentacja zrobiła na mnie dobre wrażenie. Temat usłany przykładami i kodem. Polecam Grzegorza Godlewskiego i ten temat.

<a href="http://blog.erbetowski.pl/wp-content/uploads/2013/04/4dev_slawek.jpg"></a>A na chwilę przed obiadem wybrałem prezentację <strong><a href="http://art-of-software.blogspot.com/" target="_blank">Sławka Sobótki</a> </strong>o tym, że<strong> model jest wszystkim czego potrzebujesz</strong>. Sławek nie ma łatwo prezentując swoje tematy, ponieważ wszyscy, którzy już mieli przyjemność wcześniej uczestniczyć w jego wykładzie, stawiają mu wysoko poprzeczkę (w tym ja po <strong>33rd Degree</strong> i "<a href="http://2013.33degree.org/talk/show/25" target="_blank">Czego mama nigdy nie mówiła Ci na temat testowania automatycznego</a>"). Nie mniej jednak udaje mu się utrzymać ten wysoki poziom i słuchaczy nigdy nie brakuje. Dla mnie bardzo wartościowy był przykład z przepełnieniem modelu i wydzieleniem wyliczania podatku z zamówienia. Z każdym wykładem o DDD, modelu czy lekturze (właśnie rozpocząłem <a href="http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215" target="_blank">DDD Evansa</a>) zbliżam się, aby na poważnie spróbować tego podejścia w real life projekcie.

<a href="http://blog.erbetowski.pl/wp-content/uploads/2013/04/4dev_lunch.jpg"></a>Ufff, po takiej dawce wiedzy cieszę się z chwili wytchnienia i lunchu. Posiłek to ostatnio gorący temat konferencji. Niby nikt nie przychodzi po to, aby się najeść, tylko aby się nauczyć, ale negatywne wrażenia przy jedzeniu potrafią solidnie popsuć wrażenia z całego dnia. O zgrozo, solidna kolejka daje dojść głodowi do głosu, więc już po otrzymaniu ciepłego posiłku wchłonąłem go z wilczym apetytem. Tu pewien minus dla organizatorów. Na bonach obiadowych podana była godzina przyjścia, z tym, że część wypadała w innych prezentacjach :-( Na szczęście była to tylko sugerowana godzina i dostałem swój posiłek trochę później. Ogólnie ocena obiadu: 4 (w skali szkolnej).

<a style="color: #ff4b33; line-height: 24px; font-size: 16px;" href="http://blog.erbetowski.pl/wp-content/uploads/2013/04/4dev_maciej.jpg"></a>

Zaraz po lunchu udałem się do <a href="https://github.com/mg6maciej" target="_blank">Maćka Górskiego</a> <strong>znów w ścieżce Mobile</strong> na <strong>wycieki </strong><strong>pamięci</strong> oraz <strong>nowe API map Google</strong>. Maciek w pierwszej części miał zestaw anty-patternów i popularnych błędów popełnianych przez programistów Android. Co było najlepsze, bardzo często podawał źródła, dyskusje, skąd brały się przykłady, a także bardzo dobrze rozumiał o czym mówi. Może nieco gorzej z przekazem, bo (może głównie przez to, że nie jestem Androidowcem) ale miałem problem ze zrozumieniem niektórych use case'ów. W drugiej części także bardzo fajnie o nowym API. Luźna atmosfera i sporo żartów pozwoliło na z dystansem spojrzeć na API (jeszcze nie do końca stabline ;-)). Duży plus za te dwie krótkie prezentacje. Autor obiecał umieścić materiały na <a href="https://github.com/mg6maciej">https://github.com/mg6maciej</a>

I znów <strong>ścieżka Python</strong>. Tym razem problem mi bliski, czyli <strong>skalowanie aplikacji</strong> (ostatnio właśnie pracujemy nad pomiarami wydajności i optymalizacją apki Pythonowej opartej o Heroku). Prowadzący to Marcin Lulek, kolejny praktyk, a więc słucham z przyjemnością. Zaczęło się od wstępu (i poparcia wiedzy prelegenta pracą nad portalem z 5mln użytkowników). Następnie prezentację ogarnia chaos - narzędzia mieszają się z praktykami czy use case'ami. Brakuje mi jasnej ścieżki prezentacji. Wydaje mi się też, że zbyt szybkie przeskoki między tematami dla początkujących i zbyt podstawowe tematy poruszane jak dla zaawansowanych. Ogólnie pierwsza słaba prezentacja tego dnia. Czułem, że Marcinowi nie brakuje wiedzy, ale zabrakło lepszego sposobu jej przekazania.

Na sam koniec największy hit pod wodzą <a href="http://2013.4developers.org.pl/pl/program-pl/prelegenci-i-prezentacje#p=80" target="_blank">Jarka Pałki</a> - <strong>Architectural Kata</strong>. Otrzymaliśmy od niego zamówienie na system i mieliśmy szansę sprawdzić się w zespołach kilkuosobowych układając i definiując architekturę. Jarek zaś wystąpił w roli klienta doprecyzowującego wymagania. Bardzo mi to dużo dało i pomogło rozruszać szare komórki - super pomysł!

<strong>Podsumowanie</strong>

W porównaniu do zeszłorocznej edycji byłem <strong>bardzo pozytywnie</strong> zaskoczony! Zmieniło się wiele na plus i z pewnością będę wyczekiwał przyszłorocznej edycji. Dziękuję organizatorom za przygotowanie bardzo dobrego eventu!

<strong>W pigułce</strong>

Na plus: <ul> <li>listwy w salach</li> <li>bogata agenda</li> <li>poziom prezentacji</li> <li>sprawny net</li> <li>niezbyt wypchane sale</li> </ul> Na minus: <ul> <li>kolejka po lunch</li> <li>miejsce (jednak ciasne korytarze, sypiące się łazienki)</li> </ul> PS. Wybaczcie nieco chaotyczny styl. Pisane nieraz w trakcie prezentacji pod wpływem chwili :-)