Reactor i Spring WebFlux: programowanie reaktywne

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

Kod: Spring -
Kategoria: Spring Framework
Forma: 10% wykład, 90% ćwiczenia
Czas trwania: 3 dni
Grupa docelowa: developerzy
architekci
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.
Data i dokładny zakres do ustalenia podczas analizy przed-szkoleniowej.

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

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twój Warsztat.

Materiały związane z warsztatem

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

Zapytaj o 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ń


Wyrażam zgodę na przetwarzania danych osobowych zgodnie z ustawą o ochronie danych osobowych w związku z wysłaniem zapytania przez formularz kontaktowy.

Podanie danych jest dobrowolne ale niezbędne do przetworzenia zapytania. Zastałem/am poinformowany/na, że przysługuje mi prawo dostępu do swoich danych, możliwości ich poprawienia, żądania zaprzestania ich przetwarzania.

Administratorem danych osobowych jest Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin.


Klauzula informacyjna