Informujemy, że już w I kwartale 2024 ruszył nabór wniosków do Krajowego Funduszu Szkoleniowego 2024. Skontaktuj się z nami, chętnie pomożemy w uzupełnieniu wniosku.


Spring WebFlux: Programowanie reaktywne w Javie z wykorzystaniem frameworka Spring

by:
Czas trwania 3 dni

Najbliższe terminy tego szkolenia

25.03 27.03 Termin gwarantowany Szkolenie online Ostatnie miejsca!
Zapisz się
20.05 22.05 Termin gwarantowany Szkolenie online Ostatnie miejsca!
Zapisz się
29.07 31.07 Termin gwarantowany Szkolenie online Ostatnie miejsca!
Zapisz się
28.10 30.10 Termin gwarantowany Szkolenie online Ostatnie miejsca!
Zapisz się

Szkolenie
dedykowane
dla Twojego
zespołu

Cena szkolenia 2400 PLN (netto)

Standardy JSystems

  1. Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
  2. Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
  3. Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
Zapisz się
Program szkolenia
  1. Wstęp do programowania reaktywnego
    • Definicja tego czym jest programowanie reaktywne
    • Powody wprowadzenia podejścia reaktywnego
      • marnowanie zasobów
      • problemy ze skalowalnością
    • Demo - porównanie działania aplikacji napisanej w sposób zwykły i reaktywny
    • Kiedy nie stosować podejścia reaktywnego
  2. Reactive Streams jako specyfikacja programowania reaktywnego
    • Składowe specyfikacji (kod, testy, specyfikacja tekstowa)
    • Interfejsy
      • Publisher - nadawca elementów
      • Subscriber - odbiorca elementów
      • Subscription - połączenie między nadawcą i odbiorcą
    • Przebieg subskrypcji (rozpoczęcie, żądanie elementów, zakończenie)
    • Backpressure i nieograniczona subskrypcja
    • Przegląd zaawansowanych reguł dotyczących subskrypcji
  3. Podstawy frameworka Reactor
    • Ogólne cechy frameworka
    • Mono i Flux jako podstawowe klasy
    • Marble diagrams
    • Flux - strumień wielu elementów
      • Tworzenie z gotowych elementów
      • Tworzenie programowe
    • Mono - strumień jednoelementowy
    • Subskrypcja do strumieni
      • Poprzez callbacki
      • Poprzez BaseSubscriber
    • Anulowanie subskrypcji
  4. Operatory
    • Ogólne działanie operatora
      • wpięcie w łańcuch subskrypcji
      • upstream, downstream
    • Mapowanie
      • synchroniczne ( map() )
      • asynchroniczne ( flatMap() , concatMap() )
    • Filtrowanie ( filter() , take() , skip() )
    • Redukowanie ( reduce() )
    • Łączenie strumieni
      • tych samych typów ( merge() , concat() )
      • różnych typów ( zip() )
    • Zależności czasowe
      • opóźnianie elementów ( delayElements() )
      • uruchamianie strumienia po zakończeniu poprzedniego ( then() )
    • Tworzenie własnych operatorów ( transform() )
    • Jak wybrać potrzebny operator - porady praktyczne
  5. Obsługa błędów
    • Sygnał błędu zamiast rzucania wyjątku
    • Błąd podczas subskrypcji
    • Zastąpienie sygnału błędu
      • Za pomocą elementu
      • Za pomocą sekwencji
    • Przemapowanie błędu
    • Dodatkowa akcja przy wystąpieniu błędu
    • Resubskrypcja do strumienia
  6. Testowanie
    • Przedstawienie testowych klas pomocniczych oferowanych przez Reactor
    • StepVerifier - weryfikacja emisji danych przez strumień
      • Tworzenie
      • Nakładanie asercji
      • Uruchamianie testu
      • Użycie wirtualnego czasu
    • TestPublisher - możliwość manipulacji emisją danych do strumienia
      • Tworzenie
      • Emitowanie danych
  7. Debugowanie
    • Analiza callstacka rzucanego przez Reactor
    • Włączanie trybu debugowania
      • Jako globalny hook
      • Jako Java Agent
    • Checkpointy
    • Logowanie zachowania strumienia za pomocą operatora log()
  8. Reactor a wielowątkowość
    • Scheduler jako abstrakcja wyboru wątku
    • Predefiniowane i customowe schedulery
    • Zmiana wątku emisji elementów - operator publishOn()
    • Zmiana wątku tworzenia elementów - operator subscribeOn()
    • Równoległe przetwarzanie danych w strumieniu
  9. Typowe pułapki programowania reaktywnego
    • Brak subskrypcji
    • Operacje wykonane przed subskrypcją
    • Blokujące operacje w operatorach
    • Nadmiar operatorów
    • Ręczne tworzenie strumieni
  10. Framework Spring - podejście reaktywne
    • Ogólny opis stosu reaktywnego w Springu
    • Reaktywny serwer HTTP - WebFlux
      • Podejście adnotacyjne
      • Podejście funkcyjne
      • Technika SSE (Server-Sent-Events)
      • WebSockets
    • Reaktywny klient HTTP - WebClient
      • Tworzenie i użycie
      • Łączenie kilku operacji
  11. Warsztat - implementacja gry MasterMind w podejściu reaktywnym z wykorzystaniem Springa
    • Przedstawienie wymagań, ogólnego zarysu architektury i dostarczonych narzędzi
    • Implementacja części serwerowej
    • Implementacja części klienckiej

Opis szkolenia

Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!

O skoleniu w skrócie

Szkolenie przeznaczone jest głównie dla dwóch kategorii uczestników:

  • osób mających doświadczenie w programowaniu w Javie oraz Springu i chcących się nauczyć w sposób praktyczny programowania reaktywnego z użyciem ww. narzędzi
  • osób, które mają już praktyczne doświadczenie w programowaniu reaktywnym, ale odczuwają potrzebę lepszego zapoznania się z teorią (lub jej ugruntowania)
W pierwszych dwóch dniach szkolenia przeważają zadania praktyczne (60%), niemniej jednak na samym początku duży nacisk jest kładziony na teorię; z doświadczenia wiemy, że to procentuje w dalszej części zajęć. Trzeci dzień jest dniem w całości warsztatowym - wykorzystujemy tu wiedzę zdobytą w trakcie poprzednich dni szkolenia.

br>

Prowadzący szkolenie: Marcin Chrost



Jestem programistą z ponad 15-letnim doświadczeniem. W trakcie swojej kariery kilka razy zmieniałem obszary, z którymi miałem do czynienia (poczynając od niskopoziomowego programowania w C, poprzez fullstackowe zabawy w RubyOnRails, aż do prawdziwego backendu w Javie).
Odkąd pamiętam, zawsze lubiłem dzielić się wiedzą z innymi i sprawiało to satysfakcję obu stronom tego procesu. Dlatego naturalną konsekwencją było to, iż zostałem kilka lat temu profesjonalnym trenerem IT.
Prowadzenie szkoleń pozwala mi również na każdorazowe powtórzenie i ugruntowanie swojej wiedzy, co potem bardzo przydaje się w pracy projektowej. Natomiast to, co daje mi największe zadowolenie jako trenerowi, to sytuacja gdy uczeń przerośnie mistrza - wtedy wiem, że dałem z siebie wszystko, a moja praca przyniosła owoce.


Stanowisko robocze


Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Terminy gwarantowane

Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.

Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.

Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje. Ewentualne ryzyko ponosimy my jako organizator.

Przejdź do terminów tego szkolenia

Szkolenia online Szkolenia online odbywają się na żywo z udziałem trenera. Uczestniczy łączą się na szkolenie za pomocą platfomy ZOOM. Informacje o wymaganym niezbędnym oprogramowaniu oraz informacje organizacyjne uczestnicy otrzymują na 7 dni przed datą rozpoczęcia szkolenia.
Inne szkolenia tej kategorii Sprawdź pozostałe    szkolenia Java!

Sprawdź, co mówią o nas ci, którzy nam zaufali

  • 4.81/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    15-12-2023 Fajnie i ciekawie Leila Miniailo, GP Strategies Poland Sp. z o.o.
  • 5.0/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    01-12-2023 Prowadzący szkolenie, Marcin Chrost, podczas szkolenia odpowiada również na dodatkowe pytania wykraczające poza zakres materiału szkoleniowego. Oczywiście pytania krótkie, a odpowiedzi zwięzłe i konkretne, żeby nie zakłócić głównego przebiegu szkolenia. Całość szkolenia zwięzła i konkretna, z duża ilością przykładów i dużą ilością przekazaniej wiedzy. Paweł Zamorski, SoftSystem Sp. z o.o.
  • 5.0/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    01-12-2023 Zdecydowanie polecam udzial w szkoleniu: "Clean Code i dobre praktyki programowania obiektowego w Javie". Rafał Kopiec, SoftSystem Sp. z o.o.
  • 4.9/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    01-12-2023 Szkolenie poprowadzone z werwą i ciekawie Zofia Kochańska, SoftSystem Sp. z o.o.
  • 5.0/5

    Zaawansowana Java

    24-11-2023 Wyśmienite szkolenie, ogromna wiedza prowadzącego oraz materiał przekazywany podczas szkoleniu. Szkolenie odbywało się na zasadach przykład z teorią, ćwiczenia, a następnie rozwiązywanie tych ćwiczeń wspólnie. Dzięki takiemu stylowi, podczas ćwiczeń można się dużo dowiedzieć :) Polecam prowadzącego oraz szkolenie. Konrad Aleksander Wesołowski, Axians IT Solutions Poland Sp. z o.o.
  • 4.83/5

    Programowanie w języku Java

    27-10-2023 Super szkolenie! Forma warsztatowa na plus - dzięki niej wyniosłam bardzo wiele praktycznej wiedzy. Super trener otwarty na pomoc i poszerzenie przykładowych zadań. :) Monika Kondracka, Redge Technologies Sp. z o.o.
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    20-10-2023 Polecam trenera. Stanisław Feder, Powszechny Zakład Ubezpieczeń na Życie SA
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    20-10-2023 Polecam to szkolenie - spora dawka wiedzy o Spring Boot, bardzo dobry Trener, świetnie przygotowane materiały oraz zaplecze techniczne. Jan Kowaczek, Powszechny Zakład Ubezpieczeń na Życie SA
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    20-10-2023 Dziekuje bardzo! Beata Kaźmierczak, Centralny Ośrodek Informatyki
  • 5.0/5

    Spring Cloud

    07-07-2023 ok Kamil Słojkowski, Powszechna Kasa Oszczędności Bank Polski SA
  • 5.0/5

    Zaawansowana Java

    30-06-2023 Bardzo dobre szkolenie, spory zakres tematyczny i co mi się szczególnie podobało dużo kodu z przykładami i ćwiczeniami rozwiązywanymi w IDE na bieżąco w trakcie szkolenia. Mimo programowania na co dzień w Javie, sporo się dowiedziałem i uzupełniłem braki w mojej wiedzy. Po szkoleniu na pewno łatwiej i przyjemniej będzie się tworzyć kod w Javie. Polecam prowadzącego. Maciej Pachocki, Bank Gospodarstwa Krajowego
  • 5.0/5

    Zaawansowana Java

    30-06-2023 Polecam - konkretny, profesjonalny. Zbigniew Szajna, Aplikacje Krytyczne Sp. z o.o.
  • 5.0/5

    Zaawansowana Java

    23-06-2023 Polecam trenera, ma bardzo dużą wiedzę na temat javy, dlatego wykraczającą poza standardowe "klepanie crudów" Sebastian Augustyniak, Edubroker Sp. z o.o.
  • 4.72/5

    Zaawansowana Java

    23-06-2023 Merytoryczne i praktyczne szkolenie pozwalające zrozumieć działanie wybranych mechanizmów Javy "od środka". Polecam. Krzysztof Krawczyk, Edubroker Sp. z o.o.
  • 5.0/5

    Spring Boot i Docker + wprowadzenie do mikroserwisów

    02-06-2023 Wartościowe szkolenie, profesjonalny wykładowca, polecam! Marcin Radomski, CENTRUM ELEKTRONICZNYCH USŁUG PŁATNICZYCH ESERVICE SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ
  • 5.0/5

    Spring Cloud

    10-03-2023 Prowadzący przedstawia tematy w bardzo dobrym tempie (ani za szybko ani za wolno). Przy zachowaniu uwagi ani na chwilę nie przestałem rozumieć co tłumaczy prowadzący, co bardzo rzadko się zdarza na szkoleniach, w których brałem udział do tej pory. Bardzo dobrze uporządkowany sposób przekazania wiedzy. Bardzo ciekawe przykłady praktyczne, które jeszcze bardziej ułatwiają zrozumienie teorii. Michał Barański, Nordea Bank Abp S.A.
  • 5.0/5

    Spring Cloud

    10-03-2023 Gorąco polecam szkolenie Spring Cloud prowadzone przez Marcina! Nawet znając tematykę, udało mi się usystematyzować swoją wiedzę oraz dowiedzieć się nowych rzeczy. Tomasz Dąbrowski, Nordea Bank Abp S.A.
  • 5.0/5

    Programowanie w języku Java

    16-12-2022 Świetne szkolenie. Dużo przekazanej wiedzy i praktycznych wskazówek. Dziękuję Monika Gieniec, Asseco Poland S.A.
  • 5.0/5

    Zaawansowana Java

    25-11-2022 Bardzo dobrze zorganizowane szkolenie, Treść była przedstawiona w sposób jasny, zaprezentowana na przykładach. Dużo ćwiczeń po każdym zagadnieniu. Polecam Aleksandra Raszewska, DeLaval Operations Sp. z o.o.
  • 4.81/5

    Zaawansowana Java

    25-11-2022 Bardzo dobre szkolenie, szczególnie temat ze strumieni. Dorota Chlebik, Asseco Poland S.A.
  • 5.0/5

    Spring Boot i Docker + wprowadzenie do mikroserwisów

    11-11-2022 Dziękuje bardzo za profesjonalne i intensywne szkolenie z Spring Boot wprowadzenie do Mikroserwisów. Dużo nowej wiedzy, doświadczony prowadzący :) Joanna Mićko, ista Shared Services Polska Sp. z o.o.
  • 5.0/5

    Spring Boot i Docker + wprowadzenie do mikroserwisów

    11-11-2022 Super szkolenie. Bardzo intensywne i merytoryczne. Prowadzący posiada niesamowitą wiedzę i potrafi ją przekazać dalej. Życzę nam wszystkim takich szkoleń i prowadzących. Dawid Krawiec, ista Shared Services Polska Sp. z o.o.
  • 5.0/5

    Programowanie w języku Java

    28-10-2022 Polecam. Prowadzący ma wiedzę i w potrafi ją przekazać w zrozumiały sposób. Tomasz Paterak, Asseco Poland S.A.
  • 5.0/5

    Programowanie w języku Java

    28-10-2022 Bardzo dobre szkolenie, dużo informacji. Prowadzący posiada bardzo dużą wiedzę i pokazuje praktyczne przykłady. Zadania są ciekawe. Prowadzący szczegółowo opisuje wszystkie zagadnienia ze szkolenia. Bardzo przyjemne i treściwe szkolenie. Polecam! Łukasz Bondyra, Narodowy Fundusz Zdrowia
  • 4.63/5

    Programowanie w języku Java

    28-10-2022 Prowadzący ma dużą praktyczną wiedzę i ma elastyczne podejście do tematyki, chętnie odpowiada na pytania. Dariusz Krawczyk, Asseco Poland S.A.
  • 5.0/5

    Zaawansowana Java

    07-10-2022 Ciekawie i wnikliwie przedstawiony materiał, wątpliwości i problemy rozwiązywane na bieżąco. Godna pochwały dogłębna wiedza trenera. Sposób przedstawienia materiału miły i praktyczny. Gorąco polecam :) Grzegorz Ciosek, Asseco Poland S.A.
  • 5.0/5

    Tworzenie aplikacji w Javie z użyciem Spring Framework

    30-09-2022 Bardzo dobrze przeprowadzone szkolenie które polecam. Tomasz Prygiel, Durr Poland Sp. z o.o.
  • 5.0/5

    Tworzenie aplikacji w Javie z użyciem Spring Framework

    30-09-2022 Polecam szkolenie. Trener - pełna profeska. Jan Kowaczek, Powszechny Zakład Ubezpieczeń SA
  • 5.0/5

    Tworzenie aplikacji w Javie z użyciem Spring Framework

    30-09-2022 Szkolenie ze Springa 5 dniowe bardzo szybko mi zleciało, a to dlatego że było bardzo dobrze poprowadzone przez pana Marcina. Informacje przekazywane jasno i klarownie - nie da się nie zrozumieć :) świetne wprowadzenie do rozpoczęcia pracy ze SPRINGiem :) polecam! Paulina Sucharska, Aplikacje Krytyczne Sp. z o.o.
  • 5.0/5

    Programowanie w języku Java

    01-07-2022 Jestem zadowolony Rafał Augustyniak, Rossmann Supermarkety Drogeryjne Polska Sp. z o.o.

Trenerzy kategorii Java

Marcin Dzierżak
Dariusz Mydlarz
Łukasz Tomczyk
Michał Gellert
Marcin Chrost
Zapisz się

Masz jakieś pytania? Skontaktuj się z nami!

Odpowiadamy na telefony i maile w godzinach 9:00-17:00 od poniedziałku do piątku.

Telefon 22 299 53 69
Napisz do nas

Potrzebujesz więcej informacji?

Wiadomość wysłana

Przyjęliśmy Twoją wiadomość i skontaktujemy się z Tobą w tej sprawie

Klikając OK wrócisz do formularza

Nasza strona korzysta z plików cookie. Możesz zmienić zasady ich używania lub zablokować pliki cookie w ustawieniach przeglądarki. Więcej informacji można znaleźć w Polityce prywatności. Kontynuując korzystanie ze strony, wyrażasz zgodę na używanie plików cookie.