utworzone przez Damian Rudczyk | Java, Tip and Tricks
W obliczu zmian gospodarczych i technologicznych, rynek IT oferuje wyzwania i możliwości dla Java Developerów, podkreślając znaczenie ciągłego rozwijania umiejętności technicznych i miękkich. Sztuczna inteligencja i adaptacyjność stają się kluczowe w kontekście dynamicznie zmieniających się wymagań rynkowych. Przyszłość w IT zależeć będzie od gotowości do nauki i innowacji, co umożliwi Java Developerom utrzymanie konkurencyjności.
utworzone przez Piotr Pelczar | Java, Tip and Tricks
Wyobraź sobie, że wprowadzasz commit do repozytorium, a następnie automatycznie produkuje się paczka oraz wdraża się na środowisko testowe, albo produkcyjne. Piszesz git commit, git push, a resztę załatwia automatyzacja. W dzisiejszym wpisie podzielę się, jak techniki...
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 Damian Rudczyk | Apache Kafka, Java, Mikroserwisy i Integracje, Tip and Tricks
Integracja aplikacji ze sobą za pomocą Apache Kafka jest stosunkowo łatwa. W tym zadaniu wspomagają nas biblioteki albo całe frameworki (takie jak Spring). Ponieważ to zadanie jest znacznie ułatwione, może to uśpić czujność programistów. Chciałbym zwrócić Twoją uwagę na to, żebyś poświęcił chwilę na analizę wymagań niefunkcjonalnych w swojej aplikacji, a także zapoznał się z domyślnymi ustawieniami Apache Kafka i bibliotek integrujących.