Nowoczesne programowanie w języku Scala

3550 PLN+23% VAT (4366 PLN brutto / 1 os.)

Czas trwania szkolenia:3 dni (24h)

Kod kursu:SCALA/J

Poziom zaawansowania:
scala

Dostępne terminy

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

Termin:

27 maj
Trwają zapisy na szkolenieOferta specjalna

Trener:

Mateusz Kamiński

Cena:

3550 PLN netto+23% VAT

Lokalizacja:

Zdalne
Zdalne

Termin:

7 październik
Trwają zapisy na szkolenie

Trener:

Mateusz Kamiński

Cena:

3550 PLN netto+23% VAT

Lokalizacja:

Zdalne
Zdalne

Interesuje Cię szkolenie stacjonarne lub nie odpowiada Ci żaden z dostępnych terminów?

Ikona pytaniaZapytaj o szkolenie

O szkoleniu Nowoczesne programowanie w języku Scala

W cenie otrzymasz:

  • Materiały szkoleniowe
  • Certyfikat ukończenia szkolenia
  • W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki

Dla kogo?

  • Programiści zainteresowani budową aplikacji z wykorzystaniem języka i ekosystemu Scala lub tematyką programowania funkcyjnego

Wymagania

  • Znajomość programowania obiektowego
  • Doświadczenie w programowaniu w języku Java lub innym podobnym

Zalety

  • Przekrojowe omawianie zagadnień oraz przykłady oparte o życiowe problemy
  • Forma warsztatowa, wiele zadań z przygotowanymi testami, które pozwalają na szybką weryfikację poprawności rozwiązania
  • Praktyczna wiedza uwzględniająca zmiany wprowadzone w najnowszych wydaniach Scali
  • Poznanie popularnych bibliotek i narzędzi pozwalających tworzyć pełnoprawne aplikacje od zera w języku Scala

Cele szkolenia

  • Poznanie możliwości języka Scala, dobrych praktyk programowania oraz polecanych narzędzi i bibliotek, z uwzględnieniem nowości wprowadzonych do Scali 3
  • Nabycie umiejętności tworzenia prostych mikroserwisów w języku Scala

Program

Konfiguracja środowiska i pierwszy program

  • Interpreter (REPL)
  • IDE
  • Omówienie podstaw związanych ze stylem kodu w Scali
  • Pierwszy program
  • Tworzenie i zarządzanie projektem programistycznym przy pomocy Simple Build Tool (SBT)

Podstawy programowania obiektowego w Scali

  • Typy standardowe
  • Klasy i cechy (traits)
  • Obiekty
  • Typy opcjonalne
  • Dziedziczenie
  • Pola mutowalne i niemutowalne
  • Kontrola widoczności
  • Case class i obiekty towarzyszące
  • Enumeracje a algebraiczne typy danych
  • Typy generyczne i klasy wariancji
  • Inferencja typów
  • Union / Intersection Types
  • Opaque Types
  • Własne operatory

Kolekcje dostępne w Scali oraz podstawy programowania funkcyjnego

  • Tablice
  • Kolekcje w bibliotece standardowej - listy, zbiory i mapy
  • Funkcje wyższego rzędu
  • Rozwijanie funkcji (currying)
  • Kolekcje mutowalne i niemutowalne
  • Zakresy (Range)
  • Popularne operacje na kolekcjach (tail, head, zip itp)

Obsługa wyjątków

  • W stylu obiektowym (try/catch)
  • W stylu funkcyjnym (Try/Success/Failure)

Zagadnienia programowania funkcyjnego

  • Instrukcja for - for loop/for comprehension
  • Funkcyjne struktury danych
  • Monoid / Monada
  • Dopasowanie wzorców - Pattern matching
  • Dopasowanie warunkowe - Pattern Guards
  • Dopasowanie po typie i sealed classes
  • Ekstraktory
  • Leniwość (lazy val)

Klasy, metody i parametry domniemane (Implicits)

Współbieżność / asynchroniczność

  • Wywołania asynchroniczne (futures and promises)
  • Kontekst uruchomienia (execution context)
  • Strumienie

Metaprogramowanie

  • Modyfikator inline
  • Przegląd możliwości tworzenia makr
  • Adnotacje
  • Refleksja

Wytwarzanie aplikacji

  • Dołączanie bibliotek do projektu programistycznego
  • Integracja z kodem Javy
  • Cats - rozszerzenia do programowania funkcyjnego
  • ZIO - wsparcie programowania asynchronicznego i współbieżnego typu I/O
  • Doobie - funkcyjna nakładka na JDBC
  • Integracja biblioteki Jackson w Scali vs biblioteka Circe
  • Http4s - budowanie mikroserwisów RESTowych w Scali

Testowanie aplikacji

  • ScalaTest, ScalaCheck
  • Mockowanie
  • ScalaTest DSL
  • ScalaTest matchers

Podobne szkolenia