Programowanie w języku Scala - kurs zaawansowany

  • Cele szkolenia

    Głównym celem szkolenia jest nabycie nowych umiejętności związanych z programowaniem w języku Scala. Uczestnicy poznają m. in. zaawansowane możliwości systemu typów, wzorzec projektowy „type class” i mechanizmy metaprogramowania z użyciem makr. Drugim celem szkolenia jest poznanie popularnych bibliotek: Akka (model aktorów), Shapeless (programowanie generyczne) i Cats (programowanie funkcyjne).
    W trakcie warsztatów uczestnicy przećwiczą w praktyce nowo nabyte umiejętności.
  • Profil słuchacza

    Szkolenie dla programistów którzy opanowali podstawy języka Scala i zainteresowani są zwiększeniem swoich kompetencji w tym zakresie.
  • Wymagania wstępne

    Szkolenie przeznaczone jest dla osób znających podstawy języka Scala i mających kilkutygodniowe doświadczenie praktyczne w jego stosowaniu. Zaleca się ukończenie wcześniej kursu „Scala - kurs podstawowy”
  • Czas trwania

    2 dni – 16 godzin lekcyjnych
  • Metoda realizacji szkolenia

    Szkolenie realizowane jest w formie naprzemiennie następujących po sobie wykładów i ćwiczeń praktycznych. Ćwiczenia opracowane są w taki sposób, aby pozwolić uczestnikowi/czce przetestować poznane koncepcje w praktycznych zastosowaniach.
  • Wiedza teoretyczna i praktyczna

    Wprowadzenie
    • Odświeżenie podstawowej wiedzy na temat Scali

    System typów
    • Kowariancja vs kontrawariancja
    • Type members
    • Dependent types
    • Self types
    • Higher-kinded types
    • Dziedziczenie po Any

    Implicity
    • Kolejność wyszukiwania implicitów
    • Context-bounds
    • Type-class pattern
    • ClassTag

    Makra
    • Rodzaje makr w Scali
    • Nauka pisania makr typu „blackbox”

    Akka
    • Model aktorów, cykl życia
    • Obsługa błędów (fault tolerance)
    • Futures
    • Routers
    • Dispatchers
    • Przetwarzanie strumieniowe za pomocą Akka Streams

    Shapeless
    • HList – list heterogeniczna
    • Generacja kodu za pomocą traitów „Generic”

    Programowanie funkcyjne
    • Omówienie funkcyjnych wzorców: Functor, Monad, Monoid, State
    • Praktyczne ćwiczenia z użyciem biblioteki Cats
  • Umiejętności

    Po ukończeniu kursu uczestnik/czka będzie potrafił/a:
    • posłużyć się wzorcem „type class”
    • napisać makro typu „blackbox”
    • stworzyć hierarchię aktorów za pomocą biblioteki Akka
    • stworzyć własny monad za pomocą biblioteki Cats
  • Ścieżka rozwoju

    Po zakończeniu szkolenia rekomendowane jest skorzystanie z:
    • Ćwiczeń ze strony https://www.scala-exercises.org/.
    • Ksiażki „Functional Programming in Scala”. Autorzy: Paul Chiusano i Runar Bjarnason.
    • Dokumentacji biblioteki Akka: https://akka.io/docs/.
    • Szkolenia „TDD, clean code i refaktoryzacja” - dla osób zainteresowanych rozwinięciem swoich umiejętności w zakresie tworzenia dobrych, czytelnych oraz łatwych w utrzymaniu aplikacji.

Poinformuj mnie o innym terminie tego szkolenia

Prosimy o tę zgodę z uwagi na przepisy dotyczące wysyłania informacji handlowych drogą elektroniczną oraz przepisy prawa telekomunikacyjnego, aby nasi przedstawiciele mogli skontaktować się z Tobą mailowo. Twoje dane osobowe będą przetwarzane w tym przypadku przez spółki z grupy Comarch na podstawie ich prawnie uzasadnionego interesu. Dowiedz się więcej o tym jak spółki z grupy Comarch przetwarzają dane osobowe.
Na podstawie tej zgody Twoje dane osobowe będą przetwarzane przez spółki z grupy Comarch w celu wysyłki newslettera. Możesz wycofać tę zgodę w dowolnym momencie. Pamiętaj, że wycofanie zgody nie wpływa na zgodność z prawem przetwarzania danych sprzed cofnięcia zgody. Prosimy o Twoją zgodę przede wszystkim z uwagi na przepisy o ochronie danych osobowych. Twoja zgoda jest równoznaczna z akceptacją marketingu bezpośredniego i otrzymywania na wskazany adres e-mail informacji handlowych zawartych w naszym newsletterze. Dowiedz się więcej o tym jak spółki z grupy Comarch przetwarzają dane osobowe.

Podobne szkolenia