July 9, 2009

Sun Certified Web Component Developer - refleksje

Co prawda już ponad miesiąc upłynął od mojego egzaminu SCWCD (CX-310-083), a i 88% nie jest wynikiem powalającym, ale padło pytanie o przygotowania do tego certyfikatu. Nic odkrywczego nie wymyśliłem: korzystałem z Head First Servlets and JSP, wydanie angielskie, chyba przedostatnie. Przyjąłem taką strategię, aby co kilka przeczytanych stron siadać przed IDE i wypróbować zdobytą wiedzę w praktyce. Na koniec przekartkowałem książkę jeszcze raz i zrobiłem ponownie wszystkie pytania egzaminacyjne. Z egzaminu z końca książki uzyskałem kilka punktów procentowych* poniżej progu. Do roboty! - pomyślałem.

SCJP zdałem bez żadnych symulatorów (a w SCJD nie ma pytań testowych), tym razem zainwestowałem w oprogramowanie JWebPlus. Zapłaciłem sporo ponad 100 zł, ale inwestycja zdecydowanie udana. Dużo pytań bardzo zbliżonych do tych prawdziwych, wyniki miałem podobne do tych końcowych. Profesjonalna aplikacja, zdecydowanie warto.

Co do tytułowej refleksji - raczej negatywnie wspominam ten egzamin. SCJP zrobić trzeba by myśleć o dalszych egzaminach a SCJD dało mi wiele satysfakcji. Nauczyłem się co prawda sporo (nie tylko serwlety i JSP, ale także filtry, własne tagi, bezpieczeństwo, EL, JSTL), czasem nawet pożytecznych rzeczy. Była to jednak nauka wyjątkowo męcząca, usłana uczeniem się na pamięć schematów XML czy nazw klas/pakietów. Niestety, ale tak właśnie wygląda większość egzaminów Suna i nie tylko. Tak jest łatwiej, głównie dla sprawdzających.

* zadanie domowe - niech każdy sprawdzi, czym różni się procent od punktu procentowego. Zaskakujące, że tak praktyczna wiedza egzystuje niemal wyłącznie wśród ekonomistów...

July 6, 2009

Podsumowanie Javarsovia 2009

Dawno nie pojawiałem się na blogu, ale chociaż po trosze mogę się usprawiedliwić zdobytym ostatnio tytułem magistra inżyniera Wydziału Elektroniki stołecznej polibudy i nie mniej zaszczytnym certyfikatem SCWCD (w ciągu jednego tygodnia!) Bynajmniej nie zaniedbuję jednak tej strony - lista tematów, które chciałbym opisać, jest coraz dłuższa. Na pewno kiedyś doczekają się opracowania i publikacji.

Jednak do rzeczy. Dwa dni temu, w piękną, słoneczną sobotę, odbyła się trzecia edycja Javarsovii. Już długie kolejki przy rejestracji (oraz wspomniany przez szanowną Kapitułę duży odsetek uczestników spoza Warszawy) nie pozostawiły złudzeń, że ta rosnąca w siłę konferencja depcze po piętach GeeCONowi czy JDD.

Na pierwszy ogień padł Szczepan Faber, w kuluarach zwany "raperem" :-). Brawurowo poprowadzona prezentacja, zgrabnie lawirująca między narzędziami a samą metodyką. W szczególności prosta zasada dotycząca organizacji testu przy pomocy komentarzy given/when/then wydaje się być warta wielokroć więcej, niż znajomość trzynastego frameworku webowego MVC. Pamiętam testy jednostkowe w mojej pracy magisterskiej: owszem, pokrycie miałem świetnie. Ale gdy coś popsułem, błędem kończyło się jakieś 2/3 testów... Szczepan radził, jak uniknąć także takich patologii.

Potem wysłuchałem Łukasza Lipki pokazującego Mule - kiedyś pracowałem chwilę z JBoss ESB i odczuwam rosnącą wewnętrzną potrzebę poznania dogłębnie jednego z istniejących rozwiązań klasy SOA/ESB. Jarosław Błąd mówiący o transakcjach raczej nie powiedział nic odkrywczego, acz nie miałem świadomości istnienia kilku niuansów transakcji w systemach JEE. Noszę się z zamiarem napisania dłuższego wpisu o podstawach obsługi transakcji w Springu - będzie porównanie.

Smaczny obiad (podejrzanie szybko zniknął, hmm… :-)) i potraktowana z dużym dystansem demonstracja Drools i Drools Guvnor Jarosława Kijanowskiego. Autor słusznie ominął szerokim łukiem teorię reguł, wnioskowania, systemów eksperckich etc. Zamiast tego przedstawił zgrabną aplikację w GWT i hot-deployment reguł biznesowych do silnika Drools.

Waldek Kot zaprezentował nowatorskie podejście do uruchamiania Javowych aplikacji bez systemu operacyjnego. W połączeniu z wirtualizacją taka architektura ma odzyskiwać marnowane przez klasyczny OS zasoby - marnowane, ponieważ JVM i tak nie korzysta z większości dobrodziejstw systemu operacyjnego. Uruchomienie pełnego serwera aplikacyjnego na maszynie bez choćby malutkiego Linuksa w tle uważam za ogromne osiągnięcie. Mam jednak wrażenie, że Oracle bynajmniej nie jest pionierem… Kiedyś obił mi się o uszy projekt mikroprocesora interpretującego bezpośrednio rozkazy maszyny wirtualnej, co z pomysłem nie ma jeszcze tak wiele wspólnego (i chyba nie zostało zrealizowane). Ale projekt Microsoft Singularity wygląda identycznie - tylko ten .NET...

Na koniec wybrałem GWT/Seam Łukasza Kobylińskiego. Poprawnie poprowadzona prezentacja, acz do Seama jakoś się nie przekonałem. Prawdę mówiąc gdyby stanął nade mną kat i spytał o polecany framework webowy - chyba nie potrafiłbym odpowiedzieć. Lubię Struts2, ale gdy tylko zejdzie się ze szlaku dla niedzielnych turystów, łatwo połamać sobie nogi - chociaż widoki niewątpliwie ładniejsze.

Trudno mi przyczepić się do czegokolwiek. O ile Warszawski Eclipse DemoCamp Galileo 2009 nie przypadł mi do gustu (do tego stopnia, że niewiele później przesiadłem się na IDEę ;-)), o tyle Javarsovię uważam za bardzo udaną imprezę i trudno znaleźć jakiekolwiek niedociągnięcia. A dowody mam dwa:

  • aż trzy prezentacje obejrzeć chciałem, ale mi się to nie udało
  • co jeszcze ważniejsze, wychodząc z niemal każdej prelekcji miałem nieodparte wrażenie, że chciałbym/mógłbym wykorzystać zdobytą wiedzę w swojej codziennej pracy. A chyba o to chodzi!

Czekam z niecierpliwością na JDD (dobrze słyszałem, że w Poznaniu?) i czwartą edycję Javarsovii! Nawiasem mówiąc nie mam nic przeciwko wprowadzeniu odpłatności za konferencję, zwłaszcza, gdyby wydłużyło to imprezę do dwóch dni.

P.S.: Ostatnio trendy jest pisanie w języku naszych przyjaciół zza Kanału i Oceanu, co o tym sądzicie? W końcu angielski powinien być naszym drugim językiem ojczystym (po Javie oczywiście :-)). Z drugiej strony, po co? Żeby zwiększyć target?