TopConf 2012


Wszyscy wierzymy w bezstronność serwisu www.random.org, jednakże po raz drugi z rzędu za jego sprawą (oraz liderów WJUG) udało mi się wyjechać na zagraniczną konferencję. Tegorocznym celem okazał się Tallinn i odbywający się tam w pierwszych dniach listopada event TopConf 2012. 31 października wyruszyłem w osiemnastogodzinną podróż autokarem do stolicy Estonii. Wszelkie komentarze uprzedzę stwierdzeniem, że nie znalazłem dogodnego połączenia lotniczego gwarantującego mi uczestnictwo w porannych wykładach pierwszego dnia imprezy. Pod względem organizacyjnym konferencja okazała się bliźniaczo podobna do ubiegłorocznej GOTO Prague, relacje z której znajdziecie na niniejszym blogu. Dość jednak słów na temat logistyki – przejdźmy do opisu wyróżniających się wykładów.

Dzień pierwszy

Konferencję oficjalnie rozpoczął John-Henry Harris opisując proces projektowania modeli zabawek w firmie Lego. Wystąpienie utrzymane w bardzo zabawnym stylu, pokazujące istotę kreatywności oraz sposobność czerpania inspiracji z otaczającego Nas świata (np. koparka). Lego kładzie ogromny nacisk na jakość wypuszczanych produktów oraz ich perfekcyjne wykonanie. Modele powinny wytrzymywać wysokie temperatury, co weryfikowane jest poprzez opiekanie gotowego prototypu w piekarniku :).

Głodny wiedzy technicznej, postanowiłem jeszcze raz usłyszeć Vaclav’a Pech’a i “Unleash your processor(s)”. Prezentacja nie zmieniła się przez ostatni rok, jednakże zachęciła mnie do upgrade’u grubych klientów zaimplementowanych w Java’ie do JDK7 i skorzystania z Fork/Join Thread Pools. W implementacji Fork/Join każdy wątek posiada swoją własną kolejkę zadań, przez co wykonywanie dużej ilości krótkich task’ów nie powoduje opóźnień wynikających z blokowania końca współdzielonej kolejki (charakterystyka poprzednich wersji JDK i Executors#newFixedThreadPool(int)). BTW, organizator udostępnił niektóre prezentacje na głównej stronie konferencji w dziale “Conference program”.

Na następnej prelekcji Jakub Nabrdalik przestrzegał przed pułapkami, jakie niesie za sobą niewłaściwie stosowany Test Driven Development. Część uwag, takich jak np. Assertion Roulette, znałem już wcześniej. Inne, odnoszące się do ciągłego mock’owania serwisów zależnych, pisania jedynie testów integracyjnych oraz nadmiernego zliczania wywołań funkcji, wydały mi się sensowne i postaram się kierować nimi na co dzień.

Hitem dnia okazała się dla mnie prezentacja Alvin’a Richards’a “MongoDB Design Decisions and Use Cases”. Wystąpienie miało na celu ogólne przedstawienie produktu oraz jego możliwości. Do najciekawszych zaliczyłbym niemal liniową skalowalność, różne poziomy commit’owania (od fire & forget, przez znane z RDBMS redo log, aż po replikację zmian na zapasowe instancje) i automatyczną reallokację danych w celu zrównoważenia obciążenia wewnątrz klastra. Dzięki zastosowanemu modelowi danych JSON, MongoDB nie musi implementować rozproszonych operacji JOIN ani standardu 2PC, gdyż wszystkie dane powiązane z konkretnym dokumentem przechowywane są na jednym węźle. Alvin zdradził, że pięć instytucji finansowych zaimplementowało swoje systemy typu ERP lub CSM w oparciu o MongoDB.

Bardzo mieszane uczucia zawładnęły mną po wysłuchaniu prezentacji “What’s new in JEE 6. Spring ends, Summer comes?” Michała Szkopińskiego. Wystąpienie zawierało kilka ciekawych informacji, takich jak dążenie Oracle i IBM do konsolidacji JVM w wersji 8, nowe podejście odnośnie deployment’u aplikacji JEE7 w chmórze (automatyczne tworzenie i konfiguracja serwisów JDBC i LDAP – dobrze zrozumiałem?), oraz rozszerzanie zasobów w przypadku przekroczenia zdefiniowanego SLA. Z technicznego punktu widzenia prezentacja pozostawiała wiele do życzenia – odejście od deskryptorów XML w stronę adnotacji, @Stateless, @PostConstruct i @PreDestroy nie należą do nowości w JEE6.

Dzień zakończyłem około północy w jednym z Tallinnskich pubów wraz z grupą około dwudziestu uczestników konferencji :).

Dzień drugi

Drugi dzień konferencji rozpocząłem od wysłuchania prezentacji Alvin’a Richards’a “Scaling for Humongous amounts of data with MongoDB”. Prawdę mówiąc nie maiłem wcześniej styczności z MongoDB, dlatego też wystąpienie przybrało dla mnie charakter bardziej hasłowy. Alvin pokazywał różne podejścia do tworzenia modeli danych JSON wraz z ich pozytywnymi oraz negatywnymi konsekwencjami. Wybór konkretnej reprezentacji danych (np. zagnieżdżanie vs. link’owanie powiązanych fragmentów dokumentu) znacząco wpływa na wydajność zapytań, ich liczbę oraz sposób wykonania. Mam nadzieję, że prezentacja zostanie zamieszczona na stronie konferencji i będę mógł się z nią jeszcze raz zapoznać podczas nauki MongoDB.

Na uwagę zasługiwała też trzygodzinna ścieżka poświęcona bezpieczeństwu systemów informatycznych. Podobno uczestnicy na żywo włamywali się na publiczne strony internetowe. Żałuję obecnie, że wybrałem inną serię wykładów. Polecam także przejrzenie listy przejętych stron na www.zone-h.org/archive oraz zabawę exploit’ami z Armitage :). Na konferencję zdecydowanie opłacało się zabrać własny komputer, gdyż organizatorzy w ramach konkursu udostępnili wewnętrzny, specjalnie spreparowany serwis do hack’owania.

Konferencję zakończył Dan North luźną, aczkolwiek pouczającą, prezentacją “Simplicity: the Way of the Unusual Architect”. Podczas implementacji nowych rozwiązań nie należy od razu opierać się o standardowy stos technologii J2EE. Kluczowe pytanie, na które powinno się udzielić odpowiedzi, to co muszę zrobić aby w najkrótszym czasie osiągnąć zamierzony cel. Proste rozwiązania z reguły okazują się najbardziej skuteczne :).

Pragnę jeszcze raz serdecznie podziękować WJUG i Marcinowi Zajączkowskiemu za umożliwienie mi wyjazdu na TopConf 2012.

Advertisements

2 Responses to TopConf 2012

  1. Zdanek says:

    Podobność do GOTO wynika z tego, że człowiek stojący za TopConf, pracuje dla organizatora GOTO 🙂
    Napisz coś o samej organizacji. Kilku dobrych prelegentów może nie uratować konferencji, jeśli jest źle zorganizowana. Warto jechać za rok?

    • Organizatorom nie mam praktycznie nic do zarzucenia. Elegancki hotel w centrum Tallinn’a; smaczny lunch, na którym niczego nie brakowało oraz ciastka, owoce i kawa w przerwach między wykładami; cztery równoległe ścieżki tematyczne i hostessy które pilnowały nieprzekraczania czasu przez prelegentów; dostępne darmowe WiFi; organizacja dwóch wyjść integracyjnych, w tym fajny pomysł z festiwalem zespołów rock’owych drugiego dnia; brak zmian w programie konferencji.

      Jedyne do czego mogę się przyczepić to mały rozmiar jednej z sal, gdzie podczas dwóch wykładów kilka osób musiało donieść sobie krzesła. Impreza integracyjna po pierwszym dniu z racji padającego deszczu została przeniesiona do sali hotelowej i skończyła się stosunkowo wcześnie około godziny 21:00. Nie przeszkadzało to jednak uczestnikom przenieść się do pub’u na starówce.

      Czy warto pojechać za rok? Chyba nie jestem w stanie odpowiedzieć na to pytanie. Podobno wejściówka kosztowała 500 EUR, a taka kwota dla każdego ma inną wartość. Może warto zostać speaker’em? Na pewno konferencja, mimo eleganckiego hotelu a nie Multikina, nie przebiła w moim prywatnym odczuciu GeeCon’a 2011 w Krakowie. Z doświadczenia widzę, że prelegenci wygłaszają swoje prezentacje na wielu konferencjach i te wymienione powyżej mogę na pewno polecić. Cała impreza kosztowała mnie 270 PLN za transport oraz 110 EUR wydanych na miejscu (nocleg + piwo).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: