Posty

Czym grozi łamanie prawa Demeter w rzeczywistości?

Jakiś czas temu natknąłem się na świetną publikację napisaną po francusku (Brak linka z powodu sklerozy i nieznajomość francuskiego, żeby znaleźć w google). Opisywała ona sytuacje, która mi utknęła w pamięci i mam zamiar się nią z wami podzielić.
Lecz wszystko po kolei…

Czym jest prawo Demeter?
Prawo Demeter nieformalnie można określić jako „Nie rozmawiaj z nieznajomymi”. Co idzie za tym stwierdzeniem? Otóż, metoda danego obiektu może wywołać tylko metody:
- tego samego obiektu,
- dowolnego obiektu przekazanego jako parametr,
- dowolnego obiektu przez nią stworzonego,
- dowolnego składnika klasy, do której należy dana metoda.

Mi osobiście nie podoba się określenie „Nie rozmawiaj z nieznajomymi”, wole o prawie Demeter myśleć „Niech twój obiekt będzie egoistyczny”. Aby zrozumieć moje podejście musimy zrozumieć jaki kod łamie to prawo.

Człowiek stefan = new Człowiek(„Stefan”); Parówka parówka = new Parówka(); stefan.getKorpus().getZoladek().getZawartosc().add(parówka);
Czy my patrząc na …

Efektywne programowanie - recenzja

Obraz
Przez ostatnie półtorej miesiąca, siedziałem i starałem się zrozumieć rozdział po rozdziale książkę Joshua Bloch’a. Muszę wam przyznać, że wydanie trzecie „Efektywnego programowania”, jest ciekawą pozycją. Niestety nie dałem rady przeczytać drugiej wersji ze względu na słabe tłumaczenie więc nie jestem w stanie porównać wydań między sobą. Pomimo to książkę odebrałem bardzo dobrze, chociaż nie była prosta – może i dlatego, że czytałem ją po angielsku?:) Niektóre rozdziały dotyczyły elementów, z którymi nie pracuje na co dzień (chociażby wielowątkowość w Javie) ale wciąż mogłem wyciągnąć cenne lekcje.

Bloch w swojej pozycji nawiązał do Javy 8 oraz 9. Kilka rozdziałów jest poświęconych tylko javie 8 oraz bardzo często, w rozdziałach widzimy kod napisany z użyciem lambd i tym podobnych. Autor często również wspomina w ramach danego rozdziału, że „w Javie 8 można to zrobić lepiej”.
Niestety zawiodłem się informacjami o Javie 9. Bloch niewiele wspomina o niej a o samej modułowości napisa…

CodeEurope - Czyli historia głodnego programisty.

Obraz
Dowiedziałem się o tym wydarzeniu na, którymś JUGu wrocławskim (serdecznie tam zapraszam). Za uczestnictwo w spotkaniu dostaliśmy promocje, aby kupić bilety jako early birds (wczesna faza kupowania biletów). Ostatnia faza kupna doszła do 499 złotych, tak więc kwota duża. Pomyślałem - promocja! Czym prędzej kupiłem bilety jeszcze dnia, kiedy dostałem kod promocyjny i czekałem na konferencję.

W dniu 13 grudnia 2017 przybyłem na CodeEurope. Chociaż wielką podróżą bym tego nie nazwał, ponieważ dojechałem tramwajem z mieszkania. 

Niestety nie biorąc pod uwagę już tego, że przechodzenie z budynku do budynku bez kurtki było niepraktyczne, to konferencja moim zdaniem miała poważne problemy z tłumem ludzi. Agenda również nie przewidywała zbyt dużych przerw, więc na przejście z sali jednej do drugiej miałem 10 minut, a przebicie się przez tłumy ludzi bywało wyzwaniem.

Problemem był również katering - otóż nie było go. Przyzwyczajony z innych konferencji nie biorę własnych kanapek na konferencj…

Darmowa 3 miesięczna subskrypcja Pluralsight

Obraz
Jakiś czas temu natknąłem się na informację, że pluralsight umożliwia trzy miesięczną subskrypcję, abyśmy mogli upewnić się czy warto wykupić u nich dłuższy pakiet.

Czym jest Pluralsight?
Jest to zbiór kursów, dzięki którym możecie się rozwijać. Różnica między nim a Udemy.com jest taka, że pluralsight udostępnia wszystkie materiały, jeżeli wykupisz subskrypcję. Udemy natomiast sprzedaje Ci dostęp do danego kursu – zazwyczaj dożywotnio.
Jak dostać subskrypcję?

Krok 1 – Zarejestruj się na https://www.visualstudio.com/pl/dev-essentials/

Krok 2 – Zaloguj 😊

Krok 3 – Kliknij ten link


Krok 5 – Znajdz ten kafelek i kliknij aktywuj

Krok 4 – Zarejestruj się na Plurasight.
Tyle wystarczy, aby przez 3 miesiące cieszyć się dostępem do materiałów.

Liderzy jedzą na końcu. - Recenzja

Obraz
Jeżeli chcecie dowiedzieć się dlaczego niektóre zespoły potrafią świetnie współpracować, a inne nie, to polecam wam książkę Simona Sinek. Czytając ją poznacie inne podejście do zarządzania ludźmi niż nastawienie na krótkoterminowe zyski. Spotkacie się z historią Johnego Bravo, którą można znaleźć pod hasłem There Are Some Fates Worse Than Death: Mike Drowley. Poznacie jak niektóre mechanizmy motywowania wpływają na nasze ciało oraz dlaczego w taki sposób. Dowiecie się, jak największe korporacje podchodzą oraz podchodziły w czasach kryzysu do swoich pracowników. Książkę uważam za ciekawą i wartą przeczytania.

Jeżeli chcesz być liderem, który zamiast liczb widzi potrzeby ludzi - ta pozycja jest dla Ciebie.

Eclipse - widoczność klas

Obraz
Chyba każdy może zgodzić się ze stwierdzeniem, że kod jest częściej czytany niż pisany. Jest to stwierdzenie, które powie każdy interesujący się czystym kodem lub software craftsmanship. Jeżeli utrzymywaliście czyjś kod to wiecie jak można docenić przyjazną architekturę.
Osobiście jestem wielkim fanem używania zasięgu pakietowego dla klas i metod.
Dzięki temu podejściu możemy zastosować architekturę nazywaną clean architecture. Jeżeli nigdy o tym nie słyszeliście, polecam się zapoznać.

Elicpse na początku mi nie pomagał w zastosowaniu tego podejścia. Kojarzycie ten brzydki cylinder?



Wygląda niegroźnie ale...



Przykład jest wzięty z biblioteki Quava. Niech mi ktoś powie od czego zacząć analizę tego kodu? No właśnie. A teraz niech się zadzieje magia i pokażmy zasięg pakietowy usuwając gitowy cylinder.




Niebieskie trójkąciki oznaczają, że klasa jest zasięgu pakietowego(tutaj więcej icon). Wiemy, że nie musimy od nich zaczynać analizy kodu. Ułatwia? Jestem tego pewny.

Usunięcie cylindra z E…

Byte My Code - New Java Conference.

Obraz
Wczoraj - dnia 7 września odbyła się nowa konferencja firmy UBS. W skrócie, było super.
A teraz coś dla ludzi, którzy czytają więcej niż dwa pierwsze zdania.

Prelegentami byli:

Sebastian Malaca - Sebastian opowiadał o Event Design. Świetnie poprowadzony wykład z wieloma przykładami co może pójść i co poszło nie tak w jego projekcie. Polecam dla tych, którzy nie wiedzą czym jest Event Design lub jak zacząć.

Łukasz Szydło - przedstawiciel firmy Bottega świetnie sobie poradził. Był to jedyny wykład prowadzony w języku Polskim.
Zadał ważne pytanie "Co to znaczy, że architektura jest dobra?" a następnie pokazał, że to wszystko zależy od kontekstu. Mówił on o tym, że biznes jest ważny i to dla niego pracujemy a często IT o tym zapomina. Świetnie poprowadzony wykład z humorem.

Josh Long - Josh mówił bardzo szybko, energicznie, z wieloma żartami. Dzięki niemu poznałem stronę start.spring.io - był to wielokrotnie powtarzany adres przez Josha. Cały wykład miał formę livecoding'u, g…