Reactive streams w języku Java
Reactive streams w języku Java
Informacje podstawowe
Informacje podstawowe
- KategoriaInformatyka i telekomunikacja / Programowanie
- Grupa docelowa usługi
Szkolenie adresowane jest do programistów Java lub języków pochodnych, którzy chcą zapoznać się ze stylem reaktywnym tworzenia aplikacji i najlepszymi praktykami, które pozwalają osiągać najlepsze rezultaty w tworzonym / rozwijanym / utrzymywanym systemie.
- Minimalna liczba uczestników4
- Maksymalna liczba uczestników8
- Data zakończenia rekrutacji10-11-2025
- Forma prowadzenia usługizdalna w czasie rzeczywistym
- Liczba godzin usługi16
- Podstawa uzyskania wpisu do BURCertyfikat systemu zarządzania jakością wg. ISO 9001:2015 (PN-EN ISO 9001:2015) - w zakresie usług szkoleniowych
Cel
Cel
Cel edukacyjny
Zapoznanie się z zasadami programowania w stylu reaktywnym i dogłębne przećwiczenie dostępnych mechanizmów w bibliotece ReactorPraktyczne użycie popularnych narzędzi i bibliotek wspierających tworzenie serwisów reaktywnych - m.in. Spring WebFlux, R2DBC, RSocket
Efekty uczenia się oraz kryteria weryfikacji ich osiągnięcia i Metody walidacji
Efekty uczenia się | Kryteria weryfikacji | Metoda walidacji |
---|---|---|
Efekty uczenia się • Uczestnik programuje w stylu reaktywnym i stosuje dostępne mechanizmy w bibliotece Reactor, używa popularnych narzędzi i bibliotek wspierających tworzenie serwisów reaktywnych - m.in. Spring WebFlux, R2DBC, RSocket | Kryteria weryfikacji Uczestnik stworzył realny projekt, który można wygodnie udostępnić, skomentować i zaprezentować. | Metoda walidacji Obserwacja w warunkach rzeczywistych |
Kwalifikacje i kompetencje
Kwalifikacje
Kompetencje
Usługa prowadzi do nabycia kompetencji.Warunki uznania kompetencji
Program
Program
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
- RSocket - reaktywna komunikacja na poziomie TCP
- 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
Harmonogram
Harmonogram
Przedmiot / temat zajęć | Prowadzący | Data realizacji zajęć | Godzina rozpoczęcia | Godzina zakończenia | Liczba godzin |
---|---|---|---|---|---|
Przedmiot / temat zajęć 1 z 2 Wprowadzenie do programowania reaktywnego, Project Reactor, Testowanie i debugowanie rozwiązań reaktywnych | Prowadzący Mateusz Kamiński | Data realizacji zajęć 17-11-2025 | Godzina rozpoczęcia 09:00 | Godzina zakończenia 17:00 | Liczba godzin 08:00 |
Przedmiot / temat zajęć 2 z 2 Praktyczne tworzenie aplikacji w stylu reaktywnym, Wirtualne wątki i Structured Concurrency jako alternatywa podejścia reaktywnego (opcjonalnie) | Prowadzący Mateusz Kamiński | Data realizacji zajęć 18-11-2025 | Godzina rozpoczęcia 09:00 | Godzina zakończenia 17:00 | Liczba godzin 08:00 |
Cena
Cena
Cennik
Rodzaj ceny | Cena |
---|---|
Rodzaj ceny Koszt przypadający na 1 uczestnika brutto | Cena 2 150,00 PLN |
Rodzaj ceny Koszt przypadający na 1 uczestnika netto | Cena 2 150,00 PLN |
Rodzaj ceny Koszt osobogodziny brutto | Cena 134,38 PLN |
Rodzaj ceny Koszt osobogodziny netto | Cena 134,38 PLN |
Prowadzący
Prowadzący
Mateusz Kamiński
Od 5 lat lider zespołu programistycznego Sages.
Od 9 lat mentor w zespołach programistycznych, doświadczony wykładowca bootcampu z Java, aktualnie wykładowca zajęć projektowych z programowania aplikacji na Politechnice Warszawskiej.
Informacje dodatkowe
Informacje dodatkowe
Informacje o materiałach dla uczestników usługi
materiały szkoleniowe - część teoretyczna szkolenia, slajdy - zostaną udostępnione uczestnikom na szkoleniu w formie pdf.
uczestnik otrzyma certyfikat uczestnictwa z opisem nabytych umiejętności
Warunki uczestnictwa
Podstawowa znajomość obsługi komputera i systemu operacyjnego
Nie jest wymagana wcześniejsza znajomość programowania
Informacje dodatkowe
Szkolenie będzie prowadzone zdalnie, w czasie rzeczywistym, na żywo, z trenerem, możliwością zadawania pytań.
Szkolenie składa się w 30% z wykładu teoretycznego, w 70% z warsztatów i samodzielnej pracy programistycznej.
Podczas szkolenia uczestnicy mają dostęp do czatu z trenerem, współdzielą ekran podczas części warsztatowej, żeby zaprezentować postęp swojej pracy.
Walidacja będzie bazowała na ocenie efektów samodzielnej pracy uczestników, będzie sprawdzała nabytą wiedzę teoretyczną i umiejętność jej zastosowania w praktyce.
Warunki techniczne
Warunki techniczne
szkolenie na platformie zoom, wymagane:
stabilne połączenie internetowe (zalecane min. 10Mbit/s download i 1Mbit/s upload)
przeglądarka internetowa Chrome
zainstalowana aplikacja Zoom App
dobrej jakości słuchawki oraz mikrofon (opcjonalnie) kamera internetowa
link do szkolenia zostanie przesłany uczestnikom przed szkoleniem i będzie aktywny do końca szkolenia.