utworzone przez Piotr Pelczar | Apache Kafka, Java
Apache Kafka umożliwia ustawienie liczby partycji dla każdego topick’a. W jednej z dyskusji z osób z naszej społeczności padło pytanie: Jak obliczyć ile partycji potrzebuję?
Jak podejść do obliczenia oraz co jeszcze należy wziąć pod uwagę?
utworzone przez Piotr Pelczar | Java, Testowanie, Tip and Tricks
Co powoduje, że testy w Spring są wolne?
Szybkość wykonywania testów ma kluczowy wpływ na to, jak szybko dostajemy feedback o poprawności wprowadzanej zmiany oraz jak szybko budowany jest projekt. To z kolei może spowolnić testowanie, a nawet wdrażanie w trybie Continuous Deployment.
W tym artykule omówię ogólne podejście do testowania. Podzielę się też najczęstszymi błędami, z którymi spotkałem się w projektach powodujące wolne działanie testów.
Dowiesz się też, co powoduje, że testy w Spring stają się wolne i jak poprawić sytuację w projekcie.
utworzone przez Piotr Pelczar | Java, Tip and Tricks
Wdrażaj na produkcję kilka razy dziennie za pomocą git’a. Continuous Delivery bez przeszkód.
Zastanawiało Cię kiedyś, które elementy w procesie pisania kodu i współpracy z innymi programistami wpływają na efektywność Twoich działań zmierzających do umieszczenia kodu na produkcji?
Oprócz analizy wymagań, głównym zajęciem programisty jest wytwarzanie kodu i kolaboracja z innymi programistami.
Miejscem tej kolaboracji jest repozytorium kodu w systemie kontroli wersji. To w nim umieszczamy efekt naszej pracy. Tam przeglądamy zmiany innych i łączymy z nimi nasze zmiany.
Na koniec, zmiany te uczestniczą w procesie Contineous Integration (CI), budowane są artefakty wdrożeniowe, a niektóre zwinne zespoły nawet używają procesu Contineous Delivery (CI/CD) do szybkiego i ciągłego wdrażania zmian na środowiska testowe i produkcyjne prosto z pipeline w sposób w pełni zautomatyzowany.
utworzone przez Piotr Pelczar | Java, Mikroserwisy i Integracje, Tip and Tricks
Wyobraź sobie, że wystąpił problem w produkcyjnym systemie zbudowanym z sieci rozproszonych mikrousług. Błąd przekazuje zespół, który złożył żądanie do Twojego systemu i operacja zawiodła – obsługa trwała długo, a następnie został zwrócony błąd. Podają requestId oraz szczegóły żądania.
Czy byłbyś w stanie szybko odpowiedzieć, co konkretnie było przyczyną błędu?
W tym wpisie chciałbym poruszyć problematykę Observability (obserwowalności) systemów opartych o architekturę rozproszonych mikrousług. Opowiem o:
- Log Aggregation, zbieranie logów w środowisku rozproszonym
- Distributed Tracing, czyli śledzenie konkretnego żądania
- Monitoring ogólnej kondycji systemu
- Perspektywa ogólna serwisu
- Perspektywa szczegółowa instancji
utworzone przez Piotr Pelczar | Java, Testowanie
Istnieją ogólnie przyjęte zasady, które warto stosować podczas pisania testów. Sprawiają, że testy są bardziej użyteczne w Twoim projekcie. Do każdej z tych zasad podam Ci konkretne techniki i wskazówki, aby je spełnić. Zasady mają akronim F.I.R.S.T. i kolejne litery oznaczają:
- Fast
- Isolated / Independent
- Repeatable
- Self-validating
- Timely