poniedziałek, 10 stycznia 2011

Wrażenia po lekturze specyfikacji "Contexts and Dependency Injection" (JSR-299)

Chęć przystąpienia do lektury specyfikacji "Contexts and Dependency Injection" stanowiła dla mnie doskonałą motywację, aby dowiedzieć się czegoś więcej na temat samego wstrzykiwania zależności (Dependency Injection), dotychczas zdawałem sobie jedynie sprawę
z faktu istnienia takiego wzorca. Szukając dobrego źródła wiedzy odnośnie DI natrafiłem na artykuł Martina Fowlera pt. "Inversion of Control Containers and the Dependency Injection pattern", dzięki któremu bardzo szybko pojąłem, z czym mam do czynienia.

Z zamiarem przygotowania się do zgłębienia tajników JSR-299
(już uzbrojony w wiedzę na temat DI) przeszedłem do lektury
"The Java EE 6 Tutorial"
, a mianowicie rozdziału 18 pt. "Introduction to Contexts and Dependency Injection for the Java EE Platform",
który był na tyle krótki, że zdecydowałem się sięgnąć jeszcze po artykuł Michała Ormana pt. "Kontekstowe komponenty w J2EE 6 - Wstrzykiwanie zależności". Posiadając elementarną wiedzę na temat poruszanych przez specyfikację CDI zagadnień, wraz z optymistycznym nastawieniem postanowiłem wydrukować omawiany dokument.

Lekturę specyfikacji JSR-299 ukończyłem wczoraj, zatem moje przemyślenia są jeszcze bardzo świeże, aczkolwiek przyznam,
że jestem pod wrażeniem możliwości prezentowanych przez CDI. Analizując zdobywaną wiedzę wielokrotnie starałem się wyobrazić sobie praktyczne zastosowania prezentowanych przez specyfikację rozwiązań, co skłoniło mnie do sformułowania tezy, że kluczem do poznania prawdziwych możliwości CDI jest przede wszystkim praktyka. Liczę, że moje entuzjastyczne nastawienie pogłębi się
wraz z przyszłym doświadczeniem praktycznym a spojrzenie na całość z perspektywy czasu przyniesie ze sobą kilka interesujących spostrzeżeń.

Możliwości CDI interesują mnie (zwłaszcza teraz po lekturze specyfikacji) szczególnie w odniesieniu do technologii JavaServer Faces w wersji 2.0. Mam zamiar przyjrzeć się temu duetowi nieco bliżej w ramach odskoczni od codziennych obowiązków, zwłaszcza tych akademickich w jakże niekomfortowym dla nas, studentów okresie zbliżającej się sesji.

Przydatne odnośniki:
  • Martin Fowler - Inversion of Control Containers and the Dependency Injection pattern
  • The Java EE 6 Tutorial - Chapter 18. Introduction to Contexts and Dependency Injection for the Java EE Platform
  • Michał Orman - Kontekstowe komponenty w J2EE 6 - Wstrzykiwanie zależności
  • JSR-299: Contexts and Dependency Injection for the Java EE platform
  • wtorek, 21 grudnia 2010

    DB2 9.7 Bootcamp and Oracle to DB2 9.7 Migration Clinic

    Wraz z kolegami z uczelni postanowiłem wziąć udział
    w organizowanym w Krakowie (13.12 - 16.12) przez IBM Polska czterodniowym szkoleniu "DB2 9.7 Bootcamp and Oracle to DB2 9.7 Migration Clinic". Podejmując decyzję o wyjeździe liczyłem,
    że podczas pobytu w Krakowie poza uzyskaniem solidnej dawki nowej wiedzy, będę miał również możliwość spotkać się ze studentami
    z innych uczelni. Jednak zainteresowanie ze strony studentów było niewielkie, poza naszą piątką pojawił się wyłącznie jeden student
    z Uniwersytetu Adama Mickiewicza w Poznaniu.

    Istotną zaletę szkolenia w moim odczuciu stanowił fakt,
    iż w przypadku omawianych tematów, z którymi miałem okazję zapoznać się już wcześniej podczas "DB2 Academic Associate Workshop", poziom wiedzy zawarty w prezentacjach oraz
    w przygotowanych laboratoriach był rozszerzony o nieomawiane wcześniej zagadnienia. W ten sposób my studenci mieliśmy możliwość nie tylko utrwalić swoją wiedzę, ale również dowiedzieć się czegoś nowego. Na szczęście tematów całkowicie nam wcześniej nieznanych nie brakowało, dzięki czemu każdy z nas wrócił do Zielonej Góry
    z wiedzą znacznie większą od tej, z którą ją opuszczał.

    Trzeciego dnia otrzymaliśmy możliwość przystąpienia do testu
    "M45 IBM Information Management DB2 Technical Mastery",
    który sprawdzał naszą ogólną wiedzę odnośnie DB2. W moim przypadku test potrwał 20 minut a pytania nie sprawiły większego problemu. Uzyskany wynik - 78%.

    Test Title: M45 IBM Information Management DB2 Technical Mastery v2
    Start time: 12/15/2010 2:07:57 PM (GMT+0:00) (cst)
    End time: 12/15/2010 2:27:35 PM (GMT+0:00) (cst)
    Passing Score: 62%
    Your Score: Pass (78.12%)


    Kolejnego dnia wręczono nam certyfikaty poświadczające ukończenie szkolenia oraz otrzymaliśmy możliwość przystąpienia do egzaminu na certyfikat "IBM Certified Database Associate - DB2 9 Fundamentals", który jest już trudniejszy od egzaminu zdawanego w ramach "DB2 Academic Associate Workshop". Trudniejszy z pewnością ze względu na wymóg jeszcze bardziej wnikliwszej analizy pytań - a może to stres, że zabraknie czasu na udzielenie wszystkich odpowiedzi również zrobił swoje? Na szczęście z konfrontacji z egzaminem o numerze 730 wyszedłem obronną ręką. Wynik - 68% klasyfikuję jako zadowalający, zwłaszcza biorąc pod uwagę, że bazy danych nie wzbudzają we mnie aż takiej pasji jaka towarzyszy programowaniu :)

    Test Title: 000-730, DB2 9 Fundamentals
    Start time: 12/16/2010 2:33:05 PM (GMT+0:00) (cst)
    End time: 12/16/2010 3:52:57 PM (GMT+0:00) (cst)
    Passing Score: 59%
    Your Score: Pass - 68.75% (44 earned out of 64 possible)


    Pobyt w Krakowie wspominać będę bardzo miło, przede wszystkim za sprawą przyjaznej atmosfery podczas szkolenia, za co podziękowania należą się szczególnie organizatorom. Dzięki PKP atrakcji podczas samej podróży również nie brakowało, co tylko nadaje niezapomniany charakter wyprawie. Swoją drogą ciekawe jak długo jeszcze PKP będzie nas zaskakiwać :)

    Więcej informacji odnośnie szkolenia oraz testów:
  • DB2 9.7 Bootcamp and Oracle to DB2 9.7 Migration Clinic
  • Test M45: IBM Information Management DB2 Technical Mastery v2
  • Test 000-730: DB2 9 Family Fundamentals
  • poniedziałek, 6 grudnia 2010

    DB2 Academic Associate Workshop

    W ubiegłym tygodniu (29.11 - 1.12) miałem przyjemność wziąć udział w szkoleniu organizowanym przez IBM Polska, którego celem było zapoznanie słuchaczy (wyłącznie społeczność akademicką) z DB2 9.7 dla systemów Linux, UNIX i Windows.

    Podczas trzydniowego szkolenia, na które składały się tematyczne laboratoria powiązane z poprzedzającymi je prezentacjami, mieliśmy możliwość odświeżyć swoją wiedzę na temat np. relacyjnego modelu danych czy języka SQL oraz dowiedzieć się o zupełnie nowych rozwiązaniach np. o technologii pureXML.

    Całość zwieńczona była egzaminem na certyfikat "DB2 9 Database and Application Fundamentals", jedynym egzaminem jak dotąd, który zdawałem na uczelni drogą elektroniczną i bez przysługującej poprawki :) Jak wynik? Myślę, że nie mam powodów, aby się wstydzić aczkolwiek mogło być lepiej - 73% co przy 60% progu zdawalności stanowi nienajgorszy rezultat.

    Test Title: 000-302 DB2 9 Database and Application Fundamentals
    Start time: 12/1/2010 1:53:26 PM (GMT+0:00) (cst)
    End time: 12/1/2010 2:51:47 PM (GMT+0:00) (cst)
    Passing Score: 60%
    Your Score: Pass - 73.33% (44 earned out of 60 possible)


    Na szczególne uznanie zasługuje wspaniała integracja między uczestnikami szkolenia, która miała miejsce przede wszystkim podczas dłuższych przerw obiadowych, gdzie organizacja smacznego posiłku w sympatycznym towarzystwie przybierała formę codziennego rytuału.

    Wspomnieć należałoby również, że w Zielonej Górze ogólna zdawalność egzaminu wg nieoficjalnego źródła (czyli wg zaawansowanych obliczeń mających miejsce zaraz po egzaminie, polegających na zliczaniu uśmiechniętych uczestników) wyniosła ponad 80% - moim zdaniem wynik również nienajgorszy.

    Dodam jeszcze, że osoby zainteresowane tematyką szkolenia mają możliwość uzyskać więcej informacji odwiedzając następującą witrynę: DB2 Academic Associate Workshop