W ubiegłą sobotę miałem przyjemność uczestniczyć w warsztatach programistycznych zwanych coderetreat organizowanych dzięki uprzejmości firmy Polidea, którego spiritus movens był Wojtek Erbetowski (git) i Przemek Jakubczyk z Polidei. (BTW. świetni ludzie tam pracują). O wydarzeniu informuje strona coderetreat.pl a o zasadach samego wydarzenie można poczytać w wersji angielskiej na stronie coderetreat.org. Warsztaty mają na celu samodoskonalenie programistów. Start samego wydarzenia był genialny godzina 11 w sobotę. Jest to super godzina bo poranek można podarować rodzinie:) W moim przypadku było to dodatkowo trudne bo Natka ma zapalenie oskrzeli albo nawet płuc i trzeba jej było zrobić prześwietlenie aby to stwierdzić, chcieliśmy to załatwić właśnie w sobotę, ad rem.polidea_coderetreat

Warsztaty dotykały takich pojęć, technologii i narzędzi: TDD. groovy, android, spock, intelij idea. Jako że nie miałem własnego sprzętu co iterację dosiadałem się do kogoś kto już miał. Bazą była aplikacja Gra w życie  na androida z testami w groovy i spock napisana przez Przemka Jakubczyka z Polideii. Super pomysł, świetnie przygotowanie do zajęć.

W pierwszej iteracji miałem przyjemność pokodować z Mateuszem Grzechocińskim z Polidei. (Od niedawna na pokładzie tej firmy, co świadczy, że firma rozwija się bardzo dobrze i zatrudnia bardzo dobrych profesjonalistów). Mateusz natychmiast zaraził mnie zajawką wobec IDE Idea. Myślę, że przy najbliższej możliwej okazji sprawię sobie licencję. Chociaż pluginu do apache pig na razie nie znalazłem dla tego IDE. Pokazał mi, że jest fajna bibliotek FEST, którą moglibyśmy w naszym projekcie zastąpić hamcresta. Pisaliśmy na zmianę testy i implementację, nazywa się to bodajże TDD ping-pong. Świetne doświadczenie!

W drugiej iteracji z kolegą poznanym w Poznaniu na Geeconie 2012 – Łukaszem Siwińskim  mieliśmy chęć przyjrzeć się samej grze oraz jej androidowej implementacji. Napisaliśmy test w spocku dla Android activiy. Bardzo dobry i potrzebny czas, w którym udało mi się zrozumieć cały kontekst technologiczny.
polidea_coderetreat-piece-of-code
W trzeciej i czwartej z Arturem Gajowym z firmy Touk też był TDD ping-pong ale tutaj postawiliśmy sobie za cel napisać aplikację w groovym i zaczeliśmy TDD w spocku. Szczególnie ciekawie wyglądały stany planszy glidera w ASCII. Artur jest bardzo fajnym gościem, świetnie zna spoka i też mnie do niego przekonał. (właśnie staram się w pracy napisać test w spoku do kodu projektu, może zarażę tym team). Artur prowadził w ubiegłym roku warsztaty na Warsjawie pt. “Czemu Groovy jest spoko, a Spock jest groovy? (Groovy)” Na zdjęciu fajne domknięcie z tej iteracji. (GameHelper to moja nazwa i ja się do niej przyznaje, później zamierzałem ją zmienić)

W ostatniej patrzyłem wraz z Łukaszem i Maćkiem na ekran Wojtka Erbetowskiego jak pokazywał jak zrefaktorować własną implementację, która korzysta z zależności obcych tak aby zastosować prawo Demeter. W kodzie aplikacji androidowej zdarza się znaleźć kod typu:

getCountry().getCapitol().getDistrict().getStreet().getFlat().getName()

Wydarzenie super udane! Organizatorzy Wojtek i Przemek  Jakubczyk z Polidei dobrze przygotowani, biuro – super lokalizacja, poczęstunek, kawka, pycha obiad w knajpce na ulicy Emili Plater. Po prostu rewelacja. Nawet Kuba Lipiński Polidea miał chwilę aby nas odwiedzić. W kuchni na kawie usłyszałem o przyjemnej wtyczce dla eclipse i idea – mousefeed. Ta wtyczka przyspiesza naukę skrótów klawiszowych w ide. W momencie kliknięcia jakiejś funkcji, wtyczka podpowiada jej skrót klawiszowy :)

  • johnny

    konfiguracja STS i projekty mvn ze spockiem wyczytałem stąd
    http://mrhaki.blogspot.com/2011/01/spocklight-add-spock-support-to-java.html

  • johnny

    no pacz, Kamil wyśledził :)

    Na coderetreat korzystaliśmy z gradle (jakoś to było tak podpięte w IDEA, że przeglądając kod aplikacji nawet nie zerknąłem na build.gradle plik).
    Jako, że my w naszych projektach używamy groovy w wersji 2.0.4 to muszę dobrać odpowiednio junit i spockversion aby to się budowało i spock działał wg tabelki http://versioninfo.spockframework.org/

    Tutaj https://bitbucket.org/hanskoff/mygroovy/
    jest przykładowy pom.xml, który sprawia, że HelloSpock.groovy test działa w STS.

    (nie wiem jeszcze jak zrobić aby to z commandline działąło
    mvn -Dtest=HelloSpock test)

    pzdr

  • kamil


    właśnie staram się w pracy napisać test w spoku do kodu projektu, może zaraże tym team

    no i gdzie commit? ;)

  • Dzięki Janku za recenzję, zwłaszcza tak przychylną :-)

    Mi też się wydarzenie podobało, w związku z czym za około miesiąc postaramy się (już w trochę innej formule) przygotować hackaton.

    A dla poszukujących mouse feed dla IDEA to nazywa się key prompter :-)

    Pozdro