Opis szkolenia

Szkolenie przeznaczone jest dla osób zainteresowanych budowaniem niezadownych i skalowalnych systemów rozproszonych opartych o mechanizmy frameworka Akka. Podczas szkolenia nabędziesz wiedzę z zakresu przetwarzania strumieniowego oraz systemów rozproszonych pozwalającą na samodzielne budowanie skalowanych horyzontalnie aplikacji typu fault-tolerant.

Kandydaci

Jako, że omawiane zagadnienia są ściśle związane z językiem Scala, jego znajomość jest niezbędna do przeprowadzenia szkolenia.

Czas trwania szkolenia

Szkolenie będzie trwało w sumie 7h i zostanie przeprowadzone w dni ustalone z firmą - zleceniodawcą. Szkolenie może zostać zorganizowane zarówno w dni powszednie jak i w dni weekendowe.

Miejsce szkolenia

Szkolenie odbędzie się w Siedzibie firmy - zleceniodawcy lub w Gdańskim Parku Naukowo-Technologicznym. Istnieje również możliwość organizacji szkolenia poza Trójmiastem

Termin szkolenia

Szkolenie odbędzie się w terminie ustalonym z firmą - zleceniodawcą

Organizacja szkolenia

Na szkolenie dostarczamy sprzęt komputerowy z zainstalowanym i skonfigurowanym środowiskiem oraz narzędziami potrzebnymi do przeprowadzenia szkolenia. Po stronie zleceniodawcy pozostaje kwestia udostępnienia stosownej sali oraz ewentualny catering.

Szczegóły szkolenia

Kurs podzielony jest na część teoretyczną i praktyczną. Każdy rodzaj zagadnienia jest wstępnie omawiany przez prowadzącego a następnie grupa przechodzi do ćwiczeń praktycznych (średnio 25% teoria, 75% praktyka). Podczas ćwiczeń praktycznych przeprowadzane są sesje programistyczne z aktywnym udziałem prowadzącego (live coding). Skupiamy się na praktycznym poznaniu najczęściej wykorzystywanych zagadnień związanych z implementacją aplikacji z wykorzystaniem frameworka Akka.

Narzędzia, które wykorzystujemy podczas kursu - IntelliJ Idea, Git, Scala, SBT.

Program

  • Wprowadzenie do przetwarzania strumieniowego
  • Akka Design Principles
    • Reactive programming i Reactive streams
    • Główne założenia przetwarzania strumieniowego
    • Error vs Failure
  • Core concepts
    • Strumień
    • Element
    • Graf przetwarzania
    • Processing stage
    • Back-pressure
  • Elementy przetwarzania liniowego
    • Source
    • Flow
    • Sink
    • RunnableGraph
  • Materializacja strumieni
    • Pojęcie materializacji strumieni
    • Fuzja operatorów
    • Łączenie wartości zmaterializowanych
  • Grafowe topologie przetwarzania
    • Komponenty fan-out
    • Komponenty fan-in
    • Grafy częściowe
    • Predefiniowane kształty grafów
  • Back-pressure
    • Bufory etapów asynchronicznych
    • Bufory etapów synchronicznych
    • Rate transformation
  • Pozostałe
    • Dynamic stream handling
    • Error handling
    • Integracja z systemami zewnętrznymi
    • Streaming IO

Jakie technologie poznasz?

Co zyskasz dodatkowo?

  • Certyfikat ukończenia kursu wraz z rekomendacją
  • Gadżet niespodziankę