Programowanie reaktywne w języku Java i Spring WebFlux
LICZBA DNI: 3 (24h)
KOD KURSU: RX/WF
Weź udział w szkoleniu
Termin
Lokalizacja
Cena / os
19
kwietnia
Warszawa,
Kraków,
Łódź,
Wrocław,
Gdańsk,
Poznań,
Zdalne,
Termin
19
kwietnia
Lokalizacja
Warszawa,
Kraków,
Łódź,
Wrocław,
Gdańsk,
Poznań,
Zdalne,
Cena / os
Powiadom
o kolejnych terminach
O szkoleniu
DLA KOGO?
Szkolenie adresowane do programistów Java, pragnących rozszerzyć swoją wiedzę o zagadnienia z programowania reaktywnego i jego zastosowań w tworzeniu aplikacji
WYMAGANIA
Praktyczna umiejętność programowania w języku Java
Podstawowa znajomość mechanizmów związanych z wielowątkowością, strumieniami i aplikacjami webowymi
ZALETY
Zapoznanie zarówno z samą reaktywnością, jak też jej praktycznym wykorzystaniem - wszystko w ramach jednej platformy
Cele szkolenia
Zapoznanie uczestników z technikami programowania reaktywnego, zarówno ogólnie, jak też w języku Java (Reactive Streams i Reactor)
Nauka wykorzystania zdobytej wiedzy do tworzenia reaktywnych aplikacji webowych z użyciem frameworka Spring WebFlux
Program
Wstęp do programowania reaktywnego na platformie Java
- Koncepcja reaktywności (leniwa ewaluacja, brak blokowania, backpressure)
- Reactive Streams - standard reaktywności na platformie JVM
Podstawy biblioteki Reactor
- Mono i Flux jako bazowe strumienie
- Tworzenie Mono i Flux za pomocą gotowych funkcji
- Tworzenie Mono i Flux programowo
- Subskrypcja do strumieni
- Event handlery (doOn...)
- Backpressure
Operatory
- Transformacje synchroniczne i asynchroniczne
- Łączenie strumieni
- Grupowanie
- Kombinowanie
- Zależności czasowe
Wielowątkowość a reaktywność
- Schedulery
- SubscribeOn
- PublishOn
Testowanie
- StepVerifier
- Wirtualny czas
- TestPublisher
Debugowanie
- Hook onDebug
Zagadnienia zaawansowane platformy Reactor
- Procesory
- Kontekst
Warsztat I
- Jednoosobowa reaktywna wersja gry planszowej
Podstawy frameworka Spring WebFlux
- Porównanie z klasycznym WebMvc
Reaktywny serwer REST API
- Adnotowane kontrolery
- Endpointy w stylu funkcyjnym
Reaktywny klient REST API
- WebClient
Reaktywne WebSockety
- Sposoby dwustronnej komunikacji klient - serwer w aplikacjach webowych
- WebSocketHandler
RSocket - nowy pomysł na reaktywną dwustronną komunikację sieciową
- Koncepcja ogólna
- Porównanie z gRPC i ProtoBuf
- Integracja ze Springiem
Testowanie reaktywnych aplikacji webowych
- WebTestClient
Warsztat II (4h)
- Dwuosobowa wersja gry planszowej z komunikacją po sieci
Reaktywny dostęp do relacyjnych baz danych
- Dlaczego JDBC nie pasuje do reaktywności
- Nowe sterowniki ADBA oraz R2DBC - opis i porównanie możliwości
Typowe pułapki programowania reaktywnego
- Blokujące operacje podczas przetwarzania strumieni
- Ręczne konstruowanie strumieni zamiast użycia gotowych operatorów
- Brak subskrypcji do strumienia
- Nadużywanie operatorów
