środa, 15 października 2014

Relacja z JDD

Do tej pory nie pisałem relacji z konferencji, na których bywam, bo myślałem, że relacji jest tak wiele, że kolejna nic nie wniesie.

Okazało się, że tak było kiedyś... Tradycja relacjonowania zanika w narodzie, zatem pomyślałem, że ją podtrzymam - szczególnie, że tym razem każda prezentacja jaką wybrałem (niestety tylko pierwszego dnia) była wartościowa merytorycznie i świetnie poprowadzona.

Zachęcam do poświęcenia kilku godzin gdy tylko video z konferencji pojawi się na YT.
A póki co mam dla Was slajdy, które zebrałem do prelegentów.


10 THINGS I’D TELL MY YOUNGER SELF ABOUT (JAVA) WEB DEVELOPMENT 

Dykcja, fason, styl...
Historia opowiedziana po mistrzowsku od strony retorycznej: CV Mateusza sprzed 10 lat, wspomnienia technicznych decyzji jakich dokonywał (jak się okazuje) nieświadomie. Piękny przekaz dla młodszych programistów - macie szansę uniknąć błędów jaki my popełniliśmy.

A merytorycznie dużo, dużo mięcha:
  • czym kierować się wybierając framaework webowy i silnik szablonów - nie odcinaj się od HTTP - gdy będziesz chciał/chciała zrobić coś poważnego poczuje ból braku dostępu do "metalu"
  • czy Twój framework webowy i silnik szablonów da się testować wprost?
  • kiedy node.js (ogólnie event looop) ma sens a kiedy nie - masz do czynienia z High IO czy High CPU?
  • kontenery DI - odróżniaj składanie obiektów od zasięgów, to osobne klasy problemów. A tak poza tym od zasięgów są nawiasy w Javie:P
  • loguj na std.out - system operacyjny najlepiej zajmie się IO
  • adnotacje są jak łupież - w sumie Cię nie zabiją, ale brzydko to wygląda (mistrz!)
  • do tego masa przykładów eleganckich, małych bibliotek, które robią jedną rzecz i robią to dobrze - możesz z nich poskładać własny stos
Generalnie masa doświadczenia wyniesionego wprost od konsultantów ThoughtWorks.
Człowiek, który programuje z Mateuszem, to musi być szczęśliwy człowiek


W slajdach znajdziecie masę wartościowych informacji: http://www.slideshare.net/kwasniew/10-things-id-tell-my-younger-self-about-java-web-development


"Jak wprowadzić DDD w naszym smutnym projekcie" - często słyszę takie pytanie na szkoleniach... Jest to często problem na poziomie strategii organizacji - w jakim kierunki chce podążać i jak chce kreować swój proces wytwórczy.

Piotrek w przejrzysty sposób pokazał przecięcie 2 aspektów:

  • wspomnianej strategii organizacji
  • technicznych rozwiązań opartych o architekturę Ports&Adapters
jako 4 podejścia architektoniczne.

Ciekawy był również wstęp do DDD - Piotrek podszedł od strony Strategic Design. Sam zawsze obawiałem się mówić od tej strony o DDD na  konferencjach, bo wydaje mi się zbyt abstrakcyjna dla programujących odbiorców, ale w wydaniu Piotrka wyszło fajnie:)

Prezentacja w Prezi (choć wygląda jak zaimportowana z power pointa;P) http://prezi.com/y_1raovqqxc4/using-domain-driven-design-in-legacy-systems/



JEE'ISH DEVELOPMENT WITHOUT HASSLE

Po prostu mistrz sarkazmu:)
Aż zacytuję: "Używamy Spring Boot i jesteśmy lightweight".

Fajny dystans do narzędzi i podejść... generalnie przesłanie: czy na pewno potrzebujesz armaty na muchę?

W prezentacji znajdziecie polecane biblioteki, które w lekki sposób zastępują ciężkie działa. Jest tam również link do kodu - kilku projektów, które implementują TODO list przy pomocy różnych zestawów narzędzi.

Prezentacja: https://speakerdeck.com/kubamarchwicki/jee-without-hassle-pl



WHAT YOU WON'T READ IN BOOKS ABOUT IMPLEMENTING REST SERVICES

Jak zrobić świetną prezentację? Proste: wziąć sexi temat, potraktować od nietrywialnej strony i poprowadzić przez Kubę Kubryńskiego:)

Jeśli wydaje Ci się, że robisz REST, to zajrzyj do slajdów: http://www.slideshare.net/KubaKubryski/what-you-40244393
Znajdziesz tam między innymi:
  • model dojrzałości Twojego api: 
    • kupa XMLa, 
    • zasoby, 
    • czasownik http, 
    • negocjacja kontentu
  • odróżnienie zasobu od jego formy (xml, json) i wersji
  • typowe błędy w wersjonowaniu API
  • trik na paginację zasobów
  • pułapki cache
  • narzędzia dokumentacji i uruchamiania serwisów

//=========================
A tutaj linki do moich prezentacji:

3 komentarze:

Adam Brodziak pisze...

Myślałeś może o zrobieniu prelekcji o lingwistycznych technikach DDD w języku angielskim? Nie widziałem takich opracowań wiele i myślę że byłoby interesujące.

Zadanie do łatwych nie należy, bo języki germańskie to inna para kaloszy. Moja próba przełożenia części o analizie zdania i analizie obiektowej:
http://www.future-processing.pl/blog/java-developers-day-2014/

Sławek Sobótka pisze...

Fajnie wyłapałeś kluczowe tezy prezentacji.

Z lingwistyką może być kłopotliwie dlatego warto w trakcie modelowania trzymać się tego co pisze Evans w Modeling Whirlpool czy Vernon (nie pamiętam czy było to w jego książce czy na szkoleniu IDDD): proste zdania, strona czynna i co najtrudniejsze: zdania gdzie podmiotem są obiekty domenowe a nie user, klient, czy kontrolki UI. Coś jakby animizacja i personifikacja tych naszych biznesowych zamówień, produktów itd...

Kiedyś próbowałem robić prezentacje po angielsku i z jednej strony kosztuje mnie to dużo pracy i wysiłku a z drugiej jestem bardzo niezadowolony z efektu:/ Po prostu od 6 lat gdy porzuciłem międzynarodowe korpo używam mówionego angielskiego jedynie na wakacjach - a w prezentacji trzeba nieco wyrafinowania aby wyszło fajnie. Gdzieś tam w kolejce priorytetowej mam przejście na prezentacje tylko po angielsku, ale wciąż zadanie spada i spada niżej:P

Szkolenia.innpuls.pl pisze...

Taka prelekcja w języku angielskim to byłoby coś na prawdę godnego uwagi. Mamy nadzieję, że będzie realizacja :)