Szkolenie: Reactive streams w języku Java
Szkolenie Reactive streams w języku Java to praktyczny kurs programowania reaktywnego, który uczy tworzenia skalowalnych, wydajnych aplikacji Java z użyciem Project Reactor, Spring WebFlux, R2DBC i nowoczesnych narzędzi reaktywnych
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:2 dni (16h)
Kod kursu:J/REACTIVE
Reactive streams w języku Java
Cele szkolenia
Szkolenie przygotowuje do samodzielnego projektowania i implementowania aplikacji w stylu reaktywnym w języku Java z wykorzystaniem biblioteki Reactor oraz powiązanych narzędzi
Szkolenie uczy stosowania zasad programowania reaktywnego, obsługi strumieni danych, zarządzania asynchronicznością oraz integracji z nowoczesnymi rozwiązaniami bazodanowymi i komunikacyjnymi
Szkolenie rozwija umiejętność testowania, debugowania oraz optymalizacji aplikacji reaktywnych, umożliwiając efektywne wdrażanie rozwiązań skalowalnych i odpornych na błędy
Dla kogo?
Programiści Java oraz osób znających języki JVM, którzy chcą poznać programowanie reaktywne i nowoczesne podejścia do budowy skalowalnych aplikacji
Specjaliści IT z doświadczeniem w projektowaniu lub utrzymaniu systemów, zainteresowani wdrażaniem rozwiązań opartych o strumienie reaktywne
Efekty kształcenia
Uczestnik projektuje aplikacje reaktywne zgodnie z aktualnymi standardami branżowymi
Uczestnik analizuje i wdraża mechanizmy asynchroniczności oraz backpressure w aplikacjach Java
Uczestnik integruje aplikacje z bazami danych i systemami komunikacji w sposób reaktywny
Uczestnik testuje i debugguje strumienie reaktywne z użyciem dedykowanych narzędzi
Uczestnik rozpoznaje i rozwiązuje typowe problemy wydajnościowe w środowisku reaktywnym
Uczestnik stosuje dobre praktyki i konwencje programowania reaktywnego
Wymagania
Podstawowa umiejętność programowania w języku Java
Podstawowa znajomość programowania funkcyjnego (w języku Java)
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Wprowadzenie do programowania reaktywnego
Asynchroniczność jako podstawa współczesnych systemów informatycznych
Dodatkowe wymagania stawiane współczesnym systemom - rezyliencja i skalowalność
Wzorzec Obserwatora a reaktywność
Zasady programowania funkcyjnego w paradygmacie reaktywnym (deklaratywność, leniwa ewaluacja)
Reactive Streams jako standard w ekosystemie JVM
Wizualizacja przepływów przy pomocy diagramów typu Marble
Project Reactor
Ogólne omówienie biblioteki związanej z ekosystemem Spring
Tworzenie strumieni reaktywnych
Przechodzenie pomiędzy światem reaktywnym a synchronicznym
Cykl życia strumienia (metody typu hook)
Podstawowe operatory stosowane w ramach strumieni reaktywnych - mapowanie, filtrowanie, redukcja
Łączenie strumieni i reagowanie na sytuacje wyjątkowe
Mechanizm Backpressure - rezyliencja w strumieniach reaktywnych
Operacje typu batch - grupowanie oraz buforowanie
Przekazywanie kontekstu w ramach operacji
Rozszerzenia podstawowych operatorów
Alternatywne rozwiązania do Project Reactor
Testowanie i debugowanie rozwiązań reaktywnych
Wykorzystanie specjalnych opcji debugowania strumieni reaktywnych w IDE
Logowanie przepływu strumieni reaktywnych
StepVerifier - pisanie testów jednostkowych i integracyjncych
Instrumentalizacja kodu dla wykrycia blokad w kodzie reaktywnym
Praktyczne tworzenie aplikacji w stylu reaktywnym
System plików a reaktywność
R2DBC - standard reaktywnej warstwy persystencji
Spring WebFlux - budowanie usług w stylu reaktywnym we frameworku Spring
Integracja z Kafką w stylu reaktywnym
Eclipse Microprofile i reactive streams (opcjonalnie)
Wirtualne wątki i Structured Concurrency jako alternatywa podejścia reaktywnego (opcjonalnie)
Problemy podejścia reaktywnego
Porównanie wątków fizycznych i wirtualnych
Potencjalne problemy w używaniu wirtualnych wątków
Structured Concurrency - nowe spojrzenie na programowanie asynchroniczne w Javie
Popularne frameworki a wirtualne wątki
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi

