#Kata – co to ta Kata? – FizzBuzz

Godzina 5.00, za oknami ciemno, pora na codzienne ćwiczenia. Zgodnie z definicją: “Kata – wysoce sformalizowany rodzaj ćwiczeń stosowanych w wielu tradycyjnych sztukach i sportach walki…”, “Są to sekwencje technik ataku i obrony, połączone z określonym poruszaniem, przyjęciem ściśle określonej pozycji i sposobu oddychania. Niektóre techniki w kata mają charakter wyłącznie symboliczny.”

Czytaj dalej


REST architecture – Conditional requests

Mechanizm Conditional requests czyli warunkowych zapytań służy do optymalizacji żądań HTTP. Bardzo często odpytujemy o dany zasób po mimo iż jego stan się nie zmienił. W odpowiedzi dostajemy cały zasób i musimy zaimplementować logikę porównywania czy pojawiła się jakaś zmiana w obiekcie. Jednakże standard HTTP dostarcza nam mechanizmy do realizacji tego zagadnienia, są to słabe oraz silne nagłówki cachowania.

Czytaj dalej


#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


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