#17 Spring Boot – Distributed tracing – Zipkin i Sleuth

Każdy z nas, korzystając z architektury microserwisów posiada kilka usług które “rozmawiają” ze sobą. Jedna logiczna operacja, na przykład zakup czegoś w sklepie to tak na prawdę odwiedzenie kilku serwisów. Niestety podczas zakupu wystąpił błąd. Jak dowiedzieć się teraz w którym miejscu coś poszło nie tak? Można wchodzić po SSH na maszyny i robić grepa z tailem i szukać słówka Error ale jest to robota ręczna i męcząca.

Czytaj dalej


SJUG #18 – java.util.stream.* trzy lata ze Stream API

Dziś, czyli 21 lipca o godzinie 17.30 zapraszam was na Meetupa prowadzonego przez Krzyśka Chruściela. Będzie opowiadał o strumieniach. Poniżej opis spotkania:

Ze Stream API korzystam od samego początku wydania Javy 8, czyli 2014 roku. W tym czasie pojawiało się wiele błędów, takich jak mutowanie kolekcji czy wielolinijkowe lambdy oraz pytania, co jest szybsze, streamy czy pętla for? Czy użycie streamów w tym miejscu jest uzasadnione?

Czytaj dalej


Canary Release – czyli kanarki w kopalnii

canary-release-logo

Kanarki wykorzystywane były w kopalniach do wczesnego wykrywania zagrożeń. Przez swoją mniejszą masę bardziej niż ludzie odczuwały efekt ulatniającego się metanu w kopalniach. Po wykryciu trującego gazu kanarki były zamroczone lub umierały dzięki czemu można było na czas ewakuować górników. Wczesne wykrywanie błędów/zagrożeń przed innymi nawiązuje do kolejnego wzorca jakim jest Kanarkowe wydanie (ang. Canary release) którego nazwa nawiązuję do kanarków wykorzystywanych w kopalniach.

Czytaj dalej


#15 Spring Boot – POST, PUT czy PATCH?

Tak na prawdę ten artykuł niekoniecznie musi być związany ze Spring Bootem, jednakże posłuży mi on jako realizacja tego zagadnienia. Projektując API REST’owe powinniśmy zwracać uwagę na wiele elementów. Odpowiedni dobór nazw dla endpointów czy korzystanie z kodów odpowiedzi HTTP świadczy o dobrze zaprojektowanym API. Ważnym element jest także korzystanie z metod HTTP do obsługi zasobów. 

Czytaj dalej