Friday, January 9, 2015

2015-01-08 Git Ready

Pierwszy JUG w roku 2015 oraz pierwszy JUG w moim życiu. Oczywiście jest to moja pierwsza prelekcja na której byłem w życiu wiec spokojnie patriotycznie mogę się wypowiedzieć bo się nie znam. A tak na prawdę w moim krótkim życiu byłem na kilku konferencjach oraz kilku szkoleniach i prelekcjach mogę spokojnie ocenić prezentacje Macieja Jesionowsk­iego.
Maciek pracuje w firmie Mobica i jest programistą dla różnych platform mobilnych. Jego prelekcja przyciągnęła około 60 osób. I myślę, że nikt nie wyszedł z niej zawiedziony.
Dobra frekwencja widać duże zainteresowanie gitem

Czym jest Git?

Co od różnia Gita od innych VCS? Otóż jest to system na którym można pracować lokalnie bez zewnętrznego repozytorium dzięki czemu można go wykorzystywać zarówno do malutkich projektów jak prace domowe czy jakieś małe demka lub do rozbudowanych projektów dzięki mechanizmom dostępnym w innych systemach kontroli wersji.

Git Ready

Prelekcja Git Ready niestety miała wady. po pierwsze powinna być podzielona na dwie częsci dla początkujących którzy nie mieli do czynienia z gitem oraz użytkowników którzy już mieli do czynienia ale maja problemy z korzystaniem z niego i tak naprawdę potrzebowali by ktoś rozwiał lub rozwiązał problemy które napotykają na swej drodze.

Kolejna z wad to duża abstrakcja w prezentowanych przykładach, sześciany cylindry zamiast plików po prostu do mnie nie przemawiają lecz nie miał bym lepszego pomysłu by je za prezentował. Ostatnią wadą jaką miała prezentacja to niestety za mała ilość czasu i dodatkowo problemy techniczne co nie było oczywiście winą Maćka , a miał on jeszcze wiele do przekazania wszystkim uczestnikom.

Co do Zalet to prelekcja była rewelacyjnie przygotowana i widać było, że Maciek naprawdę dobrze zna sie na temacie. Slajdy które były prezentowane oddawały wszystko co chciał przekazać prelegent. Jako że ja już miałem do czynienia z gitem to dzięki  temu spotkaniu rozjaśniło mi się kilka mechanizmów. moja subiektywna ocena to 9/10 i jeśli Maciek będzie przygotowywał kolejne prelekcje to na pewno się na nich pokażę.

Prezentacja


 

Wideo

 

 

 Ankieta

Opinie innych uczestników o prezentacje były bardzo dobre. Jeśli chcesz jeszcze oddać głos to ankieta cały czas jest czynna.

Wysoki poziom merytoryczny

Prelegent dobrze oceniony

Zgodność opisu - moim zdaniem bardzo dobra. Było wyraźnie napisane że to podstawy!

Losowanie

Na koniec prezentacji wylosowano dwie licencje firmy JetBrains. Wygrali Damian K. i Michał K. oraz wejściówkę na konferencję TDD Geecon, którą wygrał Jarosław K czyli ja.
TDD Geecon odbędzie się 30 stycznia w Poznaniu i będzie w calości poświęcony Test Driven Development. Do 21 stycznia można kupić tańsze bilety.

Sunday, January 4, 2015

2014-12-04 Mikroserwisy

Koniec roku obfitował w prelekcje na bardzo wysokim poziomie. Na końcu zapowiedzi kolejnych - nie może was zabraknać!
W czwartek 4 grudnia 2014 odwiedził nas Marcin Grzejszczak, pochodzący z Łodzi, obecnie mieszkający w Warszawie współzałożyciel Warszawskiej Grupy Użytkowników Grooviego (WGUG). Marcin pracuje obecnie w 4Finance, gdzie z kolegami rozwijają bibliotekę Micro-Infra-Spring wspierającą architekturę mikroserwisów. Temat mikroserwisów ciągle jest bardzo popularny, czego dowodem może być frekwencja na prelekcji - ok. 80 osób to blisko rekordu spotkań łódzkiego JUGa. Cała prelekcja dostępna jest na naszym YouTube. Zachęcam do obejrzenia, a poniżej krótkie podsumowanie wydarzenia. Po prelekcji udaliśmy się do pubu Cotton, gdzie przy piwie i pizzy sponsorowanymi przez 4Finance mogliśmy w luźnej atmosferze wypytać Marcina o co nam tylko przyszło do głowy.

Widły, Łódź widły...

Marcin zaczął od krótkiej prezentacji 4Finance, gdzie wspomniał również o warunkach finansowych. Myślę, że ujawnianie warunków finansowych, tzw. widełek, to dobry trend i Łódzkie firmy są pod tym względem jeszcze sto lat za murzynami. Ich prezentacja wzbudziła spore zainteresowanie obecnych. Łodzi - może warto zaprzyjaźnić się z widłami?

To proste - robimy mikroserwisy i już

Czy tak? No właśnie, takie jest potoczne postrzeganie tematu - "założymy sobie oddzielne repozytoria z kodem i mamy mikroserwisy". Marcin pokazał, że to nie takie proste, jakie są wyzwania i ile pracy trzeba włożyć w architekturę, żeby nasze mikroserwisy zagrały.

Blisko początku prelegent pokazał problem zawarty w prawie Conwey'a - zależności struktury organizacyjnej i systemu, który organizacja buduje. Z tego względu 4Finance wprowadziło organizację mikro teamów - samoorganizujących się zespołów. To ciekawe spostrzeżenie pokazuje jak aspekty nietechniczne mogą być decydujące w trakcie tworzenia systemów w IT.

Następnie Marcin przeszedł do problemu z jakim mikroserwisy mają się zmierzyć, tzw. spaghetti code, który powstaje m.in. kiedy struktura kodu odwzorowuje techniczne aspekty projektu, a nie biznesowe. Ważne jest tutaj podejście DDD, które pozwala na odcinanie silnie oddzielonych kontekstów biznesowych (bounded context).

W prezentacji zawarte były również zalety podejścia:
- możliwość wykorzystywania najnowszych technologii, różnych dla innych serwisów,
- autonomiczność serwisów pozwala na wdrożenie/aktualizację małych klocków.

Marcin analizuje również tematy i narzędzia skupione wokół mikroserwisów:
- automatyzacja administracji systemami - tzw. provisioning (Ansible),
- deployment (Jenkins, Go),
- job scheduling (Roundeck),
- fail fast (Hystrix, Netflix Chaos Monkey),
- mikroserwisy vs ESB,
- mikroserwisy vs SOA,

Prelekcja poruszała również wyzwania związane z architekturą mikroserwisów:
- reużywalność kodu
- robustness principle
- zbyt wiele technologii
- zarządzanie zależnościami
- zmiany globalne.

W drugiej części prelekcji Marcin pokazywał jak można wykorzystać bibliotekę Micro-Infra-Spring, żeby znacznie uprościć cały proces. 

Wyniki ankiety

Linki

- Wpis Marcina na blogu po spotkaniu: http://toomuchcoding.blogspot.com/2014/12/doing-microservices-with-micro-infra.html#more

- Sporo komentarzy Marcina po spotkaniu na evencie meetupowym: http://www.meetup.com/Java-User-Group-Lodz/events/218109972/

- Cała prelekcja: https://www.youtube.com/watch?v=D6V49K_Yb8g

Uwaga!

To nie koniec dobrych prelekcji:

Git ready - 8 stycznia w czwartek o 18 widzimy się na DMCsie, zapowiedź spotkania na Meetupie. Prelegent: Maciej Jesionowsk­i.

Always Be Responsible for Any Code You Write, Even for Fun. NoException() - 15 stycznia w czwartek o 18 DMC, zapowiedź spotkania. Prelegent: Matt Harasymczu­k.

Narzędzia do automatyzacji tworzenia aplikacji webowych - 15 stycznia w czwartek o 18 na DMCsie, meetup. Prelegent: Jarosław Jaryszew.



2014-11-06 - Clean Coders Episode 15 - Solid Components

Po dłuższej przerwie wróciliśmy do spotkań z Wujkiem Bobem. Robert Martin rozpoczął nowy 4 odcinkowy cykl dotyczący komponentów. Dzięki firmie Accenture mogliśmy wyświetlić jego projekcję dla grupy max 50 użytkowników.

Ponieważ takie jest obostrzenie licencyjnie na meetupie tworzymy spotkania z limitowaną ilością wejść. Zazwyczaj Wujek Bob przyciąga około 30 osób więc limity nie są nawet dotykane.

Tym razem mieliśmy inną sytuację na waitliście było już dużo osób a limit miejsc wyczerpany był kilka dni wcześniej (3go listopada). Niestety jak zwykle okazało się, że ludzie nie przychodzą mimo że są zapisani.

Część z tych osób przynajmniej zupdatowała RSVP na no - szkoda tylko że w dniu spotkania. Słyszałem o osobach, które nie zapisały się i nie przyszły ponieważ uznały że nia ma już miejsc.

Na spotkanie z Accenture przyszło około 30 osób co jak na Wujka Boba jest wynikiem przyzwoitym, ale 30 osób jeśli zapisanych było ponad 50 to niestety wynik zły.
Na początku wyglądało na mało osób
Przed slotem dla sponsora zaprezentował się Mateusz ze start-upu matmatura.net (docelowo kujoni.pl) - poszukiwał ludzi zaintresowanych pracą w tym start-upie. Co prawda na początku skreślił Javę i wspominał że serwisyw webowe lepiej wykonać w pythonie lub rub-ym. Mateusz oferuje oprócz wynagrodzenia za pracę udziały w matmatura. Bycie zakręconym na edukację mile widziane.

Accenture zaprezentowali programiści z łódzkiego działu. Opowiadali o projektach w jakich pracują.
Dowiedzieliśmy się że dział retail ma najbardziej interesujące projekty oraz, że w Accenture często zmienia się technologię w której się pracuję - tak więc nie ma nudy.
Jacek Pintera z kolegą zachęcali do pracy w Accenture
Z sali padło kilka pytań m.in. na jakim systemie operacyjnym pracują programiści. W Accenture rządzi system Windows a Linux tylko na serwerach.
Na liście było ok 30 osób


Friday, December 5, 2014

2014-11-25 - Testowanie mutacyjne, czyli jak dobre w rzeczywistosci sa Twoje testy


 Sprawdzanie standardowego pokrycia kodu przez testy daje nam informacje, czy przez linie lub rozgalęzienie przeszedl jakiś test. Testowanie mutacyjne idzie o krok dalej I weryfikuje poprzez zmianę (modyfikację lub usunięcie danej lini), czy kod w niej zawarty był w rzeczywistości istotny dla którego kolwiek testu.
Metoda ta jest znana od ponad 30 lat w kręgach naukowych, a ostatnio odkryta na nowo dla rozwiązań komercyjnych. Pozwala dowiedzieć się jak dobre w rzecywistości są nasze testy oraz które fragmenty kodu tak naprawdę wydają się być testowane, co bardzo przydaje się szczególnie w rozwiązaniach dla których poprawność działania aplikacji jest kluczowym wymaganiem.

Na czym wogole polega testowanie mutacyjne?

 

Narzedzie do testowania mutacyjnego na poziomie byte code modyfikuje line kodu produkcyjnego, np.: usuwa linie, modyfikuje wyrażenia warunkowe zamienia > z < lub == z !=, modyfikuje wyrażenia reguralne, zamienia inkrementacje z dekrementacją i++ z i--, zwraca null objects, ustawia warunki brzegowe itd. Nastepnie wykonuje testy na zmodyfikowanym kodzie I generuje raport z rezultatami

Jednym z narzedzi, ktory testuje mutacyjnie jest PIT – projekt opensource, ktorego commiterem jest rownież Marcin. Projekt ten, można znależć na GIT_HUB.

Zalety:

  • rozwiniety ecosystem
    Pit jest wspierany oraz wykorzystuje najbardziej popularne narzedzia. 

    Bild systemy:

    • ant
    • mvn
    • gradle

       IDE:

    • intelij
    • eclipse

       Biblioteki do testowania:

    • jUnit
    • TestNG
    • spock

       Pokrycie kodu:

    • sonar
    • sbt
  • szybki
    • wykorzystuje historie mutacji - PIT nie testuje ponownie mutacji ktore zakonczyly sie sukcesem, uruchamia tylko te zakonczone blede
    • zatrzymuje nieskocznone petle
      PIT moze wykonac zamiane incrementacji w dekrementacje lub odwrotnie. Zmiana taka, moze zapetlic kod produkcyjny. PIT podczas podczas pierwszego uruchomienia, sprawdza czasy wykonania testow, nastepnie dokonuje mutacji. Jezeli podczas nastepnej iteracji test trwa dluzej niż w orginale PIT zakoncza wykonanie takiego testu.
  • Konfigurowalny
    Możliwa jest konfiguracja pakietow, które przeznaczone sa do mutacji
    PIT nie mutuje loggerow
  • rozwijany
    Dzieki szerokiemu community PIT jest zywym frameworkiem

Wady:

  • wymaga testow
  • glownie do testow unitowych
    Pit wykonuje kilka iteracji, dlatego tez wykonanie mutowania dlugich testow integracyjnych moze zabrac duzo czasu.

Podsumowanie

 

Prezentacje poprowadzil Marcin Zajaczkowski, ktory przy okazji prowadzenia szkolenia w Transition Technology zaproponowal wystapienie dla lodzkiego JUG.

Wykonujac demo Marcin promowal skróty klawiszowe Intelij, zachecal do korzystania ze Spock, TDD.

Spotkanie odbylo sie w 6 dzielnicy, dzieki temu uczestnicy mogli skorzystac z baru, usiasc w wygodnych fotelach i posluchac w luzniejszej atmosferze o testach mutacyjnych.

Podczas spotkania zostala wylosowana licencja za zakup ksiazki z Manning.

Wednesday, December 3, 2014

2014-11-15 - Global Day of Code Retreat

Global Day of Code Retreat to wyjątkowa inicjatywa, która raz do roku angażuje świat programistyczny na całym świecie. Idea, która powstała w 2009 w umyśle czterech programistów już w 2010 roku stała się globalna. Jeśli ktoś jest zainteresowany historią zapraszam tutaj.

Jug Łódź od 2010 roku jest jej częścią. Można nawet powiedzieć że ważną częścią ponieważ Code Retreat w 2011 roku było jednym z pięciu największych na świecie! Dodatkowo z naszej inicjatywy sponsorem w 2011r zostało Headway Software.

Historia GDCR w JUG Łódź wygląda następująco. 

Pierwszy Code Retreat odbył się w Mobice, przyszło około 12-15 osób. Najważniejszą rolę  -facilitatora czyli osoby wymyślającej podjął Piotr Przybylak (wtedy) z Pragmatists.
Rok później miał miejsce fantastyczny Code Retreat, o którym już wpomiałem na wstępie. Do Rule Financial przybyło 60 osób! Faciltatorami byli Paweł Włodarski, Michał Ostruszka i Marek Strejczek.
Można rzec, że Paweł wtedy rozpoczął swoją karierę etatowego facilatotora (czy jest na to jakieś polskie słowo?). 
W kolejnym roku do Pawła dołączyli Grzesiek Borkowski i Rafał Wokacz a wydarzenie zorganizowaliśmy przy udziale łódzkiego oddziału Cybercom Group.
W Cybercom oczekiwaliśmy 30 osób, niestety padliśmy ofiarą stałej Saramaka* i pojawiło się tylko 15 osób.
W tym roku też planowaliśmy 30 osób lecz kolejny raz z zapisanych 30 osób pojawiło się tylko 18 osób.

Jako JUG Łódź staramy się żeby nie kojarzono nas z jedną firmą dlatego też za każdym razem staramy się wybrać innego partnera do Global Code Retreat. W tym roku gospodarzem została firma Symphony Teleca.
Gospodarzem spotkania była Symphony Teleca
Zwyczajowo jest przygotowane śniadanie dla uczestników Code Retreat, którzy w sobotę rano . Kanapki były bardzo smaczne i było ich bardzo dużo (pewnie dlatego że spodziewaliśmy się 30 osób). 

Mnóstwo jedzenia!
Sala konferencyjna była super przygotowana przez sponsora. Była szatnia, aneks kuchenny oraz dużo miejsca.

Po krótkim wprowadzeniu do idei i ćwiczeń Code Retreat, które przeprowadzili Paweł Włodarski, Rafał Leanarczyk i Marek Defeciński, swój slot otrzymał gospodarz/sponsor spotkania czyli firma Symphony Teleca - zainteresowanych zawartością odsyłam do prezentacji.

Kolejnym świetnym zwyczajem Code Retreat jest rozmowa z innymi uczestnikami Code Retreat na świecie. Jest to super sprawa pozwalająca poczuć się częśćią Globalnej społeczności. W tym roku zaplanowane mieliśmy poranną sesję z Bangalore (u nich lunch), z Pragą (na lunch) i Austin na popołudnie (u nich na dzień dobry). Niestety żadna z tych sesji w tym roku się nie udała. Powodem było najprawdopodobniej to że sesje załatwialiśmy na ostatnią chwilę ani nie było wcześniejszej próby połączenia. Z doświadczenia organizacyjnego wiem, że zawsze czas wymyka się z kontroli a organizatorzy mają bardzo dużo na głowie oprócz tych rozmów tak więc ciężko jest doprowadzić do sukcesu tych połączeń.

Paweł Włodarski (JUG Łódź/TomTom) wraz z Jackiem Rondio (Symphony Teleca) pełnili w tym roku rolę facilitatorów. Oto sesje które przygotowali dla uczestników.
  • Sesja wstępna-dowolna
  • TDD i tylko jeden poziom zagłębienia kodu w metodach
  • Jeden poziom zagłębienia, metody maksymalnie 5 linii długości i brak else
  • Sesja "cicha" oraz do wyboru albo object-calisthenics lub not only OOP - wszyscy wybrali to pierwsze ;)
  • Zostawiamy kod z poprzedniej sesji i mamy dodatkowe wymagania
Formuła Code Retreat przewiduje 6 sesji jednak na naszych Code Retreat bardzo rzadko udaje się dopowadzić 6tą sesję do skutku (ludzie wychodzą, czas się kończy) dlatego w tym roku rozmyślnie planowaliśmy tych sesji tylko 5.

Moim zdaniem Code Retreat to wydarzenie, które największe wrażenie robi na uczestniczącym w nim po raz pierwszy. W tym roku z 18 uczestników tylko Sylwia była na Code Retrat po raz kolejny. Opinie jakie zebraliśmy po Code Retreat były na pewno budujące. Ankietę wypełniło 11 osób.

Wszyscy ankietowani odpowiedzieli, że było zdecydowanie warto przyjść

 Mimo kilku niedociągnięć organizacyjnych organizacja była oceniona dobrze.
Organizacja została dobrze oceniona!
Paweł Włodarski jest weteranem Code Retreat's nic dziwnego że zebrał świetne recenzje.
Paweł i Jacek świetnie ocenieni.
Zadaliśmy też inne pytania. Pod spodem najciekawsze odpowiedzi
  • Czego nauczyłeś się w sobotę?
    • Warto słuchac tego co mają inni do powiedzenia
    • ...ping pongiem angażowały się dzięki temu obie osoby
    • TDD też może być fajne
    • tworzenia unit testów
    • zdobyłem podstawową wiedzę na temat pisania testów jednostkowych
    • Nauczyłem się bardziej zwracać uwagę na czystość kodu oraz kilku trików, które tą czystość poprawiają
  • Co Cię najbardziej zaskoczyło?
    • Ze tylu ludziom chciało się wstać w sobotę przed 8 
    • Że było tak fajnie - wcześniej trochę się obawiałem, że będzie za trudno i sobie nie poradzę
    • metoda ping-pong jest bardzo owocna
    • że potrafię pracować w parze
    • organizatorzy z chęcią pomagali i nikt się nie wywyższał
    • największą radość sprawił mi pair programming
    • wyrzucanie kodu może pomagać w uczeniu się.
  • Co będziesz od tej pory robił inaczej w swojej pracy dzięki Code Retreat?
    • lepiej programował
    • zwracał większą uwagę na czystość kodu
    • Propagował TDD ping-pong
    • Test first przede wszystkim
    • przekonać chłopaków w firmie do pair programming
  • Co było fajne i co należy kontynuować?
    • luźna atmosfera bez naciskania na nikogo
    • idea spotkań
    • wspólne omawianie pracy
    • grupka ludzi, która chciała nauczyć się czegoś nowego
    • cenne uwagi
    • nowe podejścia do programowania
    • Retrospektywy
    • Sponsor postawil sie - bylo duzo i smacznie.
  • Co było słabe i co musimy poprawić?
    • żeby osoby bardziej zaawansowane nie poświęcały całej uwagi na pomaganie początkującym
    • timing! * zaczęlismy 9.30, zapowiadane 8.30
    • Ponownie 30% osób nie przyszlo a byli zapisani
    • 45 min to trochę za mało na napisanie znaczącej ilości kodu
    • następnym razem tak bardziej na 9:00.
Podsumowując wydaje mi się że był to znakomity Code Retreat. Wielkie podziękowania dla Pawła Włodarskiego, który był jak zwykle perfekcyjnie przygotowany. Podziękowania dla Rafała Lenarczyka, który prowadził event oraz dla Sponsora firmy Symphomy Teleca za naprawdę gościnne przyjęcie.

Code Retreat doczekał się nawet relacji prasowej w Gazecie Wyborczej pod tytułem Tak się bawią programiści oraz relacji na blogu Pawła Włodarskiego - Ludzka twarz IT.


Friday, September 19, 2014

2014-09-17 Keep things simple with Scalatra





Na ostatnim spotkaniu JUG Łódź dobrze nam znany Michał Ostruszka, opowiedział o Scalatra.
Jest to lekka biblioteka wspomagająca tworzenie serwisów REST-like (ale też klasycznych aplikacji webowych) w oparciu o język Scala.


Scalatra jest używana przez takie firmy jak:
  • BBC
  • Guardian newspaper
  • Box.com
  • SoftwareMill w której Michał pracuje.
Na początku Michał zrobił szybkie porównanie z powszechnie znanymi Struts, Spring MVC oraz Play Framework. Przeznaczeniem Scalatry jest udostepnienie narzędzi pomocnych przy tworzeniu serwisów REST, które udostępniają na przyklad JSON API. Pomimo że Scalatra również wspiera całe aplikacje webowe po dodatkowej konfiguracji, użytkownicy tej biblioteki przeważnie nie potrzebują skomplikowanych kontenerów, wsparcia do części prezentacyjnej aplikacji, wystarczą im narzędzia do konsumowania URL oraz do zbudowania odpowiedzi na żądanie klienta. Wspomniał, że dzieki Scalatra dostaje tylko to co tak naprawde chce, bez dodatkowych "śmieci", które zwiększają czas inicjacji, logują niepotrzebne informacje.
Popieram opinie Michała, również jestm zwolennikiem takiego podejścia.

Michał zrobił szybkie wprowadzenie do Scalatry pokazał nam kilka slajdów na temat biblioteki, po czym jak każdy developer lubi, przeszedl do kodowania.
Bazując na projekcie scalatra-sbt-prototype przedstawił przykład serwisu implementującego najbardziej popularne methody HTTP jak: GET, POST, DELET, PUT.
Był to bardzo prosty serwis umożliwiający listowanie podstawowych informacji o prezenterach występujących na spotkaniach JUG, dodawanie nowych, usuwanie. Taki typowy CRUD.
Serwis uruchamiany był przez SBT na kontenerze Jetty, dzieki czemu nie trzeba było odpalać ciężkiego serwera aplikacji jakim jest jBoss lub WebLogic.

Scalatra ma wiele przydatnych componentów, dzieki którym kod parsujący parametry HTTP oraz zwracający odpowiedz do klienta może być bardzo czytelny i zajmowac dosłownie kilka linijek.
Scalatra wspiera parsowanie pojedynczego parametru np.: /:id, /talk?id=:id
oraz wielokrotnych parametrów np.:/talk?id=1&id=2,id=3 (multiParams).
Bardzo ciekawym rozwiązaniem jest wbudowany "halt", który służy do zatrzymania wykonywania sie kodu w przypadku błędu i następnie zwrócenia zdefiniowanej odpowiedzi do klienta. Przykładowy błąd: braku spodziewanego parametru.
Dodatkowo twórcy biblioteki opakowali większość popularnych Response
Code w ActionResult np.: 200, 206, 404, dzieki czemu developer nie musi implementować
i dostaje gotowe rozwiązania do użycia.

Testując działający serwis, Michał używał postman - rozszerzenie do przeglądarki Chrome, restowy client wysyłający żądania HTTP bazując na wspomnianych wczesniej metodach.

Ciekawe uwagi od Michała:

  • scalatra wykonuje dopasowanie URL od dołu - jeśli serwis wspiera kilka URI np.:
    1. /talk/test
    2. /talk/:id
    i w takiej kolejności są zdefiniowane w klasie, wowczas URI /talk/test zostanie skonsumowany przez 2 definicje




  • używanie filtrów, zamiast serwletów - jeżeli serwlet zostanie wybrany do obslugi URL i nie znajdzie odpowiedniej deklaracji to zglosi błąd, filter natomiast jeżeli nie znajdzie to URL jest przekazywany do nastepnego i nastepny może być tym odpowiednim do obslugi tego URL

Przydatne wspomniane narzędzia:

Podsumowanie:


Z powodu braku terminu w 6 dzielnicy oraz w DMCS, JUG odbył sie w zupelnie nowej lokalizacji niż dotychczas PREXER. Sala była przygotowana, dobrze wyswietlający rzutnik, szkolne krzeselka, wszystko OK. Niestety przejeżdzające tramwaje na ulicy Pomorskiej zagłuszały nam prezentera.
To miejsce w przyszłości bedziemy traktowali jako backup. Niestety było bardzo mało uczestników tylko 13 osób, mam nadzieje, że tak słaba frekwencja była wynikiem zmian lokalizacji.

Podczas tego spotkania Marcin wygrał licencję MyEclipse.

Podsumowując prezentacja bardzo fajna, treściwa, scalatra jest ciekawą biblioteką.

Co dalej:


25 wrzesnia o godzinie 18 na DMCS, Sławomir Kłąb z Rule Financial opowie nam o JavaFX.
Już teraz zapraszam Was na kolejne spotkanie.

Sunday, September 7, 2014

2014-09-03 Firmao - czyli od startupu do produktu komercyjnego - recenzja

3 września w 6 dzielnicy mieliśmy okazję gościć Rafała Namiecińskiego. Współzałożyciela "Firmao".


Czym jest Firmao?
Jest to kompleksowy CMS/CRM w wersji przeglądarkowej, z bardzo rozbudowanymi opcjami konfiguracyjnymi pod indywidualne potrzeby danego klienta czy firmy

Prelekcja pomimo głównie aspektów biznesowych, miała całkiem dobrą publikę i padało wiele ciekawych pytań.
Zainteresowanych ciekawiło w jakich technologiach jest stworzone Firmao i chyba się nie zawiedli, bo padały
Java, Spring, Hibernate, Angular itp a także inne

Rafał przybliżył nam tajniki i udzielał dobrych rad odnośnie startupu, na czym się skupić a co sobie odpuścić i określił to powiedzeniem :

"Do what you do the best, outsource the rest".

Firmao swoją działalność zaczęło od dofinansowania z UE, gdzie jak podkreślał prowadzący nie warto pukać po pieniążki gdyż cała procedura i papierkologia oraz decyzja "czy projekt jest innowacyjny czy nie" podejmuje osoba, która kompletnie się może na tym nie znać.
Wracając do sedna sprawy, Rafał zdradził nam też kilka kruczków odnośnie składowania danych, a także bardzo sprytny patent na tanie międzynarodowe rozmowy telefoniczne do firmy.
Wystarczy mieć swoją centralkę oraz telefony VOIP i odpowiednio to skonfigurować. Klient np z Niemiec dzwoni na infolinię Firmao na numer, który wydaje się być numerem z Hamburga, a w rzeczywistości dzwoni do "serwera"

Sukces Firmao jak określił Rafał jest wynikiem wsłuchiwania się w potrzeby i uwagi klientów (schemat japońskiego koła jakośći i filozofia Kaizen), a także nie dawanie wszystkich dostępnych fajerwerków klientowi od razu, gdyż się wystraszy i pogubi.

Czym wyróżnia się Firmao na tle innych tego typu usług?

Przede wszystkim ceny są przystępne, szeroki wachlarz opcji, konfiguracji, oraz niezawodność (serwery Amazon) + bardzo dobry support (multilanguage: polski, angielski, niemiecki), który w ciągu kliku minut od założenia konta dzwoni do klienta, a także pomaga skonfigurować całość pod swoje potrzeby.

Firmao ma się dobrze, świadczy o tym liczba ponad 15000 zadowolonych klientów z Polski, Niemiec, Kanady i wielu innych krajów.

Padło pytanie o kilka dobrych rad dla planujących swój biznes udzielił bardzo cennych wskazówek np:

- skupianie się na głównych zadaniach i celach firmy (resztę jeżeli to wymaga zbyt dużych nakładów czasu i pieniędzy zlecić firmom zewnętrznym)

- szukanie środków finansowych u osób i firm, których projekt/pomysł może zaciekawić, niż liczyć na decyzję o przyznaniu dofinansowania ze środków z UE

- przede wszystkim - biznes wymaga poświęceń, a dokładniej rzecz biorąc, poświęcanie masy czasu na rozwój własnego biznesu.


Dziękujemy bardzo Rafałowi Namiecińskiemu za poświęcony czas i ciekawą prezentację oraz bardzo cenne wskazówki jak rozkręcić swój własny biznes w branży usług IT.