wtorek, 28 maja 2013

Apache Lucene praktycznie

Bieżący sezon dla Trójmiasto Java User Group wydaje się być bardzo dobry. Chętnych prelegentów jest coraz więcej, publiki raczej nie brakuje, a tematy wydają się interesujące. Po sukcesie grupy w zeszłym roku (po praktycznie roku stagnacji), postanowiliśmy nie zwalniać tempa. Chociaż czerwiec jest tzw. "sezonem ogórkowym", to jednak postanowiliśmy zorganizować coś, co trygryski lubią najbardziej, czyli.... warsztaty!

15 czerwca odbędą się warsztaty z Apache Lucene, które poprowadzą nasi wielokrotni prelegenci: Dominika Puzio i Patryk Makuch z Wirtualnej Polski.

Oto jak prelegenci zachęcają do wzięcia udziału:

W zeszłym roku przez trzy JUGowe spotkania opowiadaliśmy, że Apache Lucene działa. Teraz to pokażemy  W trakcie warsztatów, wspólnie z uczestnikami, stworzymy aplikację, którą “załadujemy” hasłami z polskiej wikipedii i napiszemy do nich wyszukiwarkę z funkcjami podpowiadania, kategoryzacji, fuzzy search, podświetlaniem znalezionych słów i kilkoma innymi bajerami  dzieląc się przy okazji naszym doświadczeniem związanym z wydajnością proponowanych rozwiązań. Zdecydowaliśmy, że skorzystamy wprost z biblioteki, bez pośrednictwa gotowych, opartych na niej systemów jak SOLR, Hibernate Search, czy, szalenie modny ostatnio, Elastic Search, ponieważ postawienie ich i uruchomienie według tutoriala przebiega zwykle bez bólu, za to diagnoza problemów, jakie pojawiają się w środowisku produkcyjnym bywa o wiele trudniejsza właśnie z powodu konieczności posiadania wiedzy o Lucene (“There’s more Lucene in SOLR than You think!”: http://blog.orange11.nl/2012/04/11/theres-more-lucene-in-solr-than-you-think). I mimo niewątpliwej atrakcyjności gotowych rozwiązań, wielcy tego świata, jak Twitter, Wikiepedia czy JIRA, wciąż używają “czystej” Lucene.
Warsztaty kierujemy zarówno do tych, którzy chcieliby rozbudować swój repertuar o umiejętność dodawania funkcjonalności wyszukiwania do tworzonych systemów, jak i do tych, którzy na co dzień mają do czynienia z którymś z rozwiązań opartych o Lucene, i chcieliby “zajrzeć pod maskę”.


Trójmiasto Java User Group serdecznie zaprasza wszystkich chętnych!

Pozdrawiam i do następnego razu!

piątek, 19 kwietnia 2013

Team Geek - recenzja

W ferworze pracy i przy codziennym zmęczeniu nie mamy często ani czasu ani chęci na czytanie książek branżowych. Mi osobiście nie zdażyło sie już bardzo długo chociażby zajrzeć do stricte technicznej książki. Od kiedy uruchomiliśmy w ramach Trójmiasto JUG biblioteczkę wydawnictwa O'Reilly, nosiłem się z zamiarem przeczytania czegoś ciekawego, ale nie wymagajacego wiele uwagi i dającego przyjemność. Już kilkukrotnie słyszałem (m.in. na konferencjach) odwołania ludzi do książki dwóch pracowników Google, Briana  Fitzpatricka oraz Bena Collins-Sussmana, "Teak Geek".

Moje wrażenia po dwukrotnym przeczytaniu książki znaleźć można na stronie grupy: http://trojmiasto.jug.pl/bookshelf/team-geek/

Jest to moja pierwsza recenzja w języku angielskim, w związku z czym wszelkie komentarze mile widziane ;)

Pozdrawiam i do następnego razu!

poniedziałek, 18 marca 2013

JEE6 praktycznie - podsumowanie pierwszych warsztatów Trójmiasto JUG

Pierwsze warsztaty Trójmiasto Java User Group miały miejsce ponad tydzień temu, a więc czas na drobne podsumowanie (zarówno z mojej strony jak i uczestników).

Na samym początku chciałbym podziękować kilku osobom i firmom, bez których organizacja warsztatów nie była by możliwa. Wpierw osoby:

  • Kuba Marchwicki - nie tylko za przeprowadzenie warsztatów, ale także za samą chęć i energię włożoną w ich organizację
  • Natalia Piechota - za pomoc w medialnej oprawie imprezy
  • Wojciech Wasiukiewicz - za podzielenie się z nami swoimi przemyśleniami na temat roli firm takich jak Solwit w rozwoju lokalnych społeczności
  • Cezary Furmanek - za pomoc techniczną
  • Patryk Brzeziński - za pomoc przy materiałach multimedialnych
  • Michał Kwas - za dużą elastyczność przy organizacji miejsca warsztatów i wyrozumiałość
A teraz firmy:

Wszystkim Wam gorąco dziękuję! :)

Wszyscy uczestnicy po zakończeniu otrzymali do wypełnienia krótką ankietę (4 pytania zamknięte i jedno otwarte - luźne komentarze). Odpowiedziało 18 z 22 osób, co jest wynikiem bardzo dobrym. Najpierw wyniki pytań zamkniętych.





Szczególnie cieszy odpowiedź na ostatnie pytanie - to pokazuje, że warto tego typu wydarzenia organizować!

Oczywiście nie obyło się bez pomyłek i pomniejszych wpadek organizacyjnych:
  • wcześniejsze zadbanie o stałą, nie za wysoką temperaturę w pomieszczeniu
  • miejsce na obiad osobne, poza salą, w której się pracuje
  • stoły z napojami po dwóch stronach sali, aby wszystkim było wygodnie
  • obrazy wirtualne ze środowiskiem lub też instrukcje co należy przygotować przed warsztatami na 2-3 dni przed samym wydarzeniem
Mam nadzieję, że uda nam się zorganizować kolejne tego typu warsztaty już w czerwcu i będą one jeszcze lepsze niż poprzednie.

Pozdrawiam i do następnego razu!

środa, 13 lutego 2013

Najbliższe spotkania Trójmiasto JUG

Dzieje się! - tymi dwoma słowami można by podsumować ostatnie dwa miesiące prac przy organizacji Trójmiejskiej Java User Group. Już teraz, a mamy dopiero początek roku, wiadomo, że w tym roku spotkań w ramach grupy będzie więcej niż w zeszłym roku. W dodatku planujemy rozszerzenie formy spotkań, ale o tym za chwilę.

Lutowe spotkanie poprowadzi Mateusz Haligowski, a tematem jego prelekcji będzie "Vagrant, czyli wirtualizacja dla deweloperów". Krótki opis tego, co Mateusz planuje przedstawić nam 28 lutego:

Szybko rosnąca moc obliczeniowa sprzętu wprowadziła wirtualizację środowisk pod strzechy. Podczas prezentacji przedstawię w jaki sposób można to wykorzystać tworząc nowe rozwiązania, lub próbując podłączyć się do już istniejących. Pokażę narzędzie Vagrant, oraz w jaki sposób skonfigurować je przy pomocy Puppeta.

Marzec będzie dla naszej grupy bardzo wyjątkowy. Na początek parę informacji o prelekcji. Poprowadzi ją Sławomir Ginter, jeden z założycieli firmy Spartez (w której miałem przyjemność odbywać praktyki studenckie i pracować przez pewien czas). Tematem jego prelekcji będzie "Programowanie funkcyjne w Javie" i odbędzie się 21 marca. Oto kilka zagadnień, które prelegent chce poruszyć w swojej prelekcji:


  • dlaczego immutability jest dobre i jak to zrobic w kolekcjach uzywajac Guava
  • dlaczego Option i Either jest lepszy od wyjątków i jak to zrobic w Javie (Fugue)
  • co sie stanie jak juz przyjdzie Java 8 (lambda + traits)
  • gdzie warto po prostu użyć Scali (testy, pluginy/moduły, prototyping)
  • walczymy z boilerplate czyli Project Lombok

Na sam koniec zostawiłem największą atrakcję pierwszego kwartału. Zgodnie z obietnicami składanymi w zeszłym roku na spotkaniach grupy, ruszamy z serią darmowych, kwartalnych sobotnich warsztatów! A wszystko za sprawą Kuby Marchickiego, który już 9 marca nauczy nas wielu praktycznych rzeczy na temat JEE6. Oto co sam prelegent mówi o planach dotyczących warsztatów:

JEE6 służy do rozwiązywania konkretnej klasy problemów. JEE6 nie jest Springiem. Nie robi wszystkiego (łącznie z pokojem na świecie i ładną pogodą) – zajmuje się wycinkiem systemów klasy enterprise i robi to całkiem nieźle. Warsztaty mają na celu wprowadzenie w świat aplikacji JEE6. Produktywne wykorzystanie standardu, czyli jak zbudować typową aplikację: baza danych, logika (funkcjonalna i niefunkcjonalna) + widok w kilku wariantach. Będzie o ORMach, wstrzykiwaniu zależności, web servicach, testach i servletach. Będzie warsztatowo – dużo kodu, programowanie w parach i na koniec dnia wyjścia z działająca aplikacją przechodzącą przez niemalże cały stos JEE6. Nie będę wyjaśniał czym jest ORM, ale jak go użyć. Nie będę dyskutował z założeniami wstrzykiwania zależności – pokaże co dają. Nie będę roztrząsał sporu: testować stan czy testować – pokażę co się sprawdza w naszych projekcie.

W przeciągu pierwszych 12 godzin od otwarcia rejestracji wszystkie wejściówki na warsztaty zostały rozdane! Możliwe, że ilość miejsc na warsztaty nieznacznie się zwiększy, tak więc śledźcie stronę grupy!

Obecnie prowadzimy rozmowy odnośnie dwóch kolejnych warsztatów (maj/czerwiec oraz koniec września/październik) oraz znacznego rozszerzenia współpracy z dwoma sponsorami. Jeśli choćby tylko połowa z planów weszła w życie, zapowiada się bardzo pracowity rok :)

Na zakończenie kilka odnośników gdzie szukać informacji o grupie:
Pozdrawiam i do następnego razu!

niedziela, 20 stycznia 2013

Drobne zmiany

Od kilku tygodni można było zauważyć zmianę adresu bloga. Ostatnimi dniami zmieniła się także nazwa bloga. Od dłuższego już czasu "Akademia Javy" nie jest adekwatną nazwą dla tego o czym chcę pisać. Nie samą technologią/platformą człowiek żyje ;) W związku z tym mam nadzieję, że tematyka moich wpisów będzie się poszerzać, może z czasem także dojdzie do jakichś miększych wpisów. Dalszych planów sprecyzowanych nie mam, zobaczymy jak wszystko się potoczy.

Tak więc zapraszam wszystkich do lektury bloga blog.dragonia.org.pl

Do następnego razu!

sobota, 19 stycznia 2013

LinkedIn JavaScript Bootcamp

W ramach nadrabiania zaległości (spowodowanych straconym czasem na pisanie pracy magisterskiej) oraz przygotowania do serii krótkich wykładów wewnątrz firmowych na temat podstaw (i nie tylko) języka JavaScript postanowiłem sprawdzić jak to się robi w dużych firmach. Na celownik jako pierwsza poszła ekipa z LinkedIn, a to za sprawą zeszłorocznej serii wykładów LinkedIn JavaScript Bootcamp w ramach LinkedIn Tech Talks. Seria ta uświadomiła mi, że mimo roku spędzonego przy projekcie opartym o JavaScript, wciąż nie doceniam tego języka i nie znam go odpowiednio dobrze. Zagadnienia takie jak hoisting, event capturing/bubbling, selectors performance, deffered/promise pattern - to tak naprawdę podstawy, choć bardzo często pomijane przy nauce tego języka. Nieznajomość tych tematów może prowadzić do ciężkich w wyprostowaniu konstrukcji, których utrzymywanie w późniejszym etapie może być bardzo bolesne (mówię z własnego doświadczenia).

Cała seria składa się z 12 części:
  1. JavaScript 101
  2. DOM Events
  3. DOM Scripting
  4. Javascript Debugging
  5. AJAX at LinkedIn
  6. Scoping
  7. Object Oriented Programming
  8. LinkedIn Homebrew
  9. JS Coding Standards - najgorsza z prezentacji
  10. jQuery at LinkedIn
  11. The Curious Case of Dust - jedyna część, której nie byłem w stanie obejrzeć do końca. Kompletnie nie podchodzi mi taki sposób prowadzenia prezentacji
  12. JS Unit Testing
Najbardziej polecam prelekcje Kiro Risk'a (Scoping, OOP oraz jQuery). Uważam je za najlepsze i chyba najbardziej zapadły mi w pamięć. Cała seria trwa prawie 10 godzin, lecz wydaje mi się. że prawie cały ten czas dobrze spędziłem.

Dodatkowo, w trakcie wielu z tych prezentacji mowa jest o różnych projektach Open Source, które prowadzi LinkedIn. Można je znaleźć na ich profilu na GitHub'ie.

Do następnego razu!

niedziela, 13 stycznia 2013

(Nie za bardzo) krótkie podsumowanie ubiegłego roku

Zeszły rok był zwariowany. Chociaż nie było tego widać po tym blogu, działo się bardzo dużo, bardzo szybko. O tym, że mam zamiar więcej publikować na blogu mówiłem między innymi tutaj i tutaj. Ale jak to mówią, dobrymi chęciami piekło jest wybrukowane.

Ubiegły rok pod względem blogowania był bardzo skromny. Raptem 3 posty napisane przez cały rok. To i tak lepiej, niż w roku 2011 ;-) W tym roku mam nadzieję znacznie więcej pisać, przynajmniej jeden post na 3-4 tygodnie. Jedynie tematyka lekko się zmieni. Będzie trochę o Trójmiasto JUG, więcej o JavaScript, pewnie trochę o Groovy/Grails oraz Python/Django i zapewne o czymkolwiek innym, czym zawodowo będę zajmować się w tym roku. Od prawie roku pracuje na stanowisku Junior Software Developer w firmie Solwit, gdzie co rusz spotykam się z wyzwaniami, tak więc sądzę, że na brak tematów do pisania narzekać nie będę mógł.

Zeszły rok był również moim ostatnim (mam nadzieję) spędzonym na Politechnice Gdańskiej. Obroniłem tytuł magistra inżyniera z Fizyki Technicznej na specjalności Informatyka Stosowana. Tematem mojej pracy była: "Baza wiedzy o ogrodach jako praktyczny przykład wykorzystania technologii GIS. Modułowy system oparty o architekturę chmury". Tematyka ciekawa, sam projekt okazał się totalną klapą. Ale najważniejsze, że ....




W roku 2012 miała miejsce jeszcze jedna zmiana, z której jestem bardzo dumny. Wraz z Mateuszem Mrozewskim podjęliśmy się zadania reanimacji Trójmiejskiej Grupy Użytkowników Java. Po roku spędzonym w tym temacie mogę śmiało powiedzieć, że udało się osiągnąć plan minimum i znacznie więcej. Kilka faktów i statystyk dotyczących działalności grupy w ubiegłym roku:


Plany na rok 2013?
  • wziąć udział w projekcie open source (choćby jedno contribution)
  • prowadzić JUG'a regularnie, by rocznie odbywało się minimum 9 prelekcji
  • pojechać na 33 Degree 
  • pisać więcej na blogu ;-)

Do następnego razu!