Java Developer? Przejdź na wyższy poziom wiedzy 🔥💪  Sprawdź

Team Leader? Podnieś efektywność swojego zespołu 👌 Sprawdź

Schema Registry w Apache Kafka

Schema Registry w Apache Kafka

Apache Kafka jest coraz bardziej popularnym brokerem wiadomości. Wystarczy spojrzeć na oferty pracy dla programistów Java, a szybko przekonamy się, że w większości nowoczesnych projektów, w architekturze mikroserwisów jest jakaś forma komunikacji po systemie kolejkowym. Bardzo prawdopodobne, że będzie to właśnie Apache Kafka.

7 sposobów na przyspieszenie Twoich testów w Spring

7 sposobów na przyspieszenie Twoich testów w Spring

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.

CI/CD i trunk-based development – wdrażaj częściej i szybciej

CI/CD i trunk-based development – wdrażaj częściej i szybciej

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.

Mikroserwisy: Monitoring, Tracing i Log Aggregation – diagnostyka problemów w środowisku rozproszonym

Mikroserwisy: Monitoring, Tracing i Log Aggregation – diagnostyka problemów w środowisku rozproszonym

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
Assert Object Pattern – wyraź w testach biznesowe znaczenie obiektu

Assert Object Pattern – wyraź w testach biznesowe znaczenie obiektu

Assert Object pattern to bardzo prosty wzorzec stosowany w kodzie testowym sprawiając, że są prostsze i bardziej czytelne. Koncentruje się na fazie sprawdzania obiektów ukrywając złożoność sprawdzenia.

Ideą wzorca Assert Object jest „owinięcie” testowanego obiektu w obiekt Assert i stworzenie metod sprawdzających. Dzięki temu możemy wyrażać biznesowe znaczenie.

Apache Kafka wydajność vs. gwarancja dostarczenia

Jak stworzyć piekielnie szybką albo maksymalnie bezpieczną wersję producenta oraz konsumenta.

Wydajność Hibernate

Twórz szybko działające aplikacje z wydajną i zoptymalizowaną obsługą bazy danych

Piguła wiedzy o najlepszych praktykach testowania w Java

Pobierz za darmo książkę 100 stron o technikach testowania w Java