Trwają zapisy do grupy

Reactive streams w języku Java

Uczestnicy szkolenia nauczą się tworzyć reaktywne aplikacje w języku Java z użyciem biblioteki Reactor.

2150 PLN+23% VAT (2644 PLN brutto / 1 os.)

Czas trwania szkolenia:2 dni (16h)

Poziom zaawansowania:

Kod kursu:J/REACTIVE

javastreamsfunctional-programming

Dostępne terminy

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

Termin:

24 czerwca
Trwają zapisy na szkolenieOferta specjalna

Trener:

Mateusz Kamiński

Cena:

2150 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

5 września
Trwają zapisy na szkolenieOferta specjalna

Trener:

Mateusz Kamiński

Cena:

2150 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

30 października
Trwają zapisy na szkolenieOferta specjalna

Trener:

Mateusz Kamiński

Cena:

2150 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

2 grudnia
Trwają zapisy na szkolenieOferta specjalna

Trener:

Mateusz Kamiński

Cena:

2150 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Forma szkolenia

Interesuje Cię szkolenie stacjonarne?

Dostępne terminy

Interesują Cię inne terminy?

Reactive streams w języku Java

Cele szkolenia

  • Zapoznanie się z zasadami programowania w stylu reaktywnym i dogłębne przećwiczenie dostępnych mechanizmów w bibliotece Reactor
  • Praktyczne użycie popularnych narzędzi i bibliotek wspierających tworzenie serwisów reaktywnych - m.in. Spring WebFlux, R2DBC, RSocket

Dla kogo?

  • Programiści Java lub języków pochodnych, którzy chcą zapoznać się ze stylem reaktywnym tworzenia aplikacji i najlepszymi praktykami, które pozwalają osiągać nalepsze rezultaty w tworzonym / rozwijanym / utrzymywanym systemie.

Zalety

  • Przekrojowe omawianie zagadnień oraz przykłady oparte o życiowe problemy
  • Promowanie obowiązujących konwencji i dobrych praktyk programistycznych
  • Minimalna teoria oparta na praktycznych przykładach i warsztatach
  • Praktyczna wiedza uwzględniająca zmiany wprowadzane do technologii związanych ze stosem reaktywnym w najnowszych wersjach

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

Pobierz program w PDF

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

Autorem szkolenia jest Mateusz Kamiński

Absolwent informatyki Instytutu Informatyki na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej, obecnie Engineering Manager w Sages. Przez wiele lat prowadził zespoły programistyczne wytwarzające współczesne oprogramowanie, kładąc przy tym nacisk na jakość i elastyczność tworzonych rozwiązań. Od kilku lat lider zespołu technicznego Sages, który to w niedługim czasie z niewielkiego startupu rozwinął się w software house. Od początków kariery był mentorem w zespołach programistycznych,…