Reactor i Spring WebFlux: programowanie reaktywne

Warsztat ekspercki to coś więcej niż szkolenie. To praca w kontekście konkretnych problemów.

Tytuł: Reactor i Spring WebFlux: programowanie reaktywne
Kod: Spring -
Kategoria: Spring Framework
Forma: 10% wykład, 90% ćwiczenia
Czas trwania: 3 dni
Odbiorcy: architekci, developerzy
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

Szkolenie wprowadza w temat programowania reaktywnego na przykładzie biblioteki Reactor.

Kładzie duży nacisk na zrozumienie fundamentalnych pojęć i mechanizmów oraz świadomie stosowanie w rzeczywistych projektach.

Szkolenie ma bardzo praktyczny charakter, uczestnicy najpierw pracują z serią małych ćwiczeń pod okiem instruktora. Na koniec wspólnie przygotujemy większą reaktywną aplikację opartą o framework Spring. Może być to rozproszona baza danych, strumień zdarzeń, itp. - w zależności od potrzeb uczestników.

Wyróżniki warsztatu

  • niemal całe szkolenie to praktyczny warsztat i kodowanie na żywo
  • idiomatyczne podejście do programowania reaktywnego, od kontrolera po bazę
  • całkowity brak slajdów

Program Warsztatu eksperckiego

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  1. Podstawy
    1. Czym jest programowanie reaktywne
    2. CompletableFuture i pule wątków
    3. Biblioteka Reactor
    4. Jak stworzyć strumień
      1. `just()`, `generate()`, `create()`, `fromCallable()`, `fromStream()`
    5. Leniwość, strumienie zimne i gorące
    6. Podstawowe operatory
      1. `map()`, `filter()`, `filterWhen()` `flatMap()`, `handle()`, `take()`, `skip()`
      2. `doOn*()` operators
      3. `window()`, `buffer()`, `distinct()`
      4. `cast()`, `ofType()`, `index()`
      5. `timestamp()`, `elapsed()`
      6. `zip()`, `merge()`
    7. Obsługa błędów
      1. `timeout()`, `retry*()`, `retryBackoff()`
      2. `onError*()`
    8. Blokowanie i wielowątkowość
      1. `subscribeOn()`, `publishOn()`
      2. `parallel()`
    9. Testowanie jednostkowe
  2. Zaawansowane
    1. Nieblokujący kod
    2. Zaawansowana obsługa błędów
    3. `transform()` vs. `compose()`
    4. Zaawansowane operatory
      1. `groupBy()`, `window()`
      2. `reduce()`, `scan()`
      3. `expand*()`)
    5. Backpressure
    6. `Processor`
    7. Testowanie z wirtualnym czasem
    8. Kompatybilność z RxJava
  3. Zastosowania praktyczne
    1. `ConnectableFlux`
    2. Refaktoring istniejącej aplikacji
    3. Spring Boot
    4. Reaktywny dostęp do bazy danych
      1. Reaktywne kontrolery
      2. `WebFilter`
      3. Globalna obsługa błędów
      4. Web sockety
    5. Strumieniowanie danych na wejściu i wyjściu
    6. Debugowanie
      1. `checkpoint()`, `onOperatorDebug()`, `doOn*()`


Pobierz program w formacie PDF

Materiały związane z warsztatem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zamów warsztat

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.