Trwają zapisy do grupy

Szkolenie: Nowoczesne programowanie w języku Scala

Podczas szkolenia "Nowoczesne programowanie w języku Scala" uczestnicy poznają możliwości języka, jak również nauczą się tworzyć mikroserwisy w tym języku. Scala, to język, który łączy programowanie funkcyjne z obiektowym, jest również szeroko stosowany w narzędziach Big Data.

  • Trenerzy praktycy
  • Kameralne grupy

Czas trwania szkolenia:3 dni (24h)

Poziom zaawansowania:

Kod kursu:SCALA/J

scala

Dostępne terminy szkolenia

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

Termin:

3 lutego
Trwają zapisy na szkolenie

Trener:

Trener-Sages

Cena:

2805 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

2 czerwca
Trwają zapisy na szkolenie

Trener:

Trener-Sages

Cena:

2805 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Forma szkolenia

Interesuje Cię szkolenie stacjonarne?

Powiadom o kolejnych terminach

Interesuje Cię szkolenie w innym terminie?

Nowoczesne programowanie 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


Dla kogo?

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


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


Wymagania

  • Znajomość programowania obiektowego

  • Doświadczenie w programowaniu w języku Java lub innym podobnym


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

Program szkolenia

Pobierz program w PDF

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

Autorem szkolenia jest Mateusz Kamiński

Absolwent informatyki Instytutu Informatyki na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej, obecnie Engineering Manager w Sages. Przez wiele lat prowadził zespoły programistyczne wytwarzające współczesne oprogramowanie, kładąc przy tym nacisk na jakość i elastyczność tworzonych rozwiązań. Od kilku lat lider zespołu technicznego Sages, który to w niedługim czasie z niewielkiego startupu rozwinął się w software house. Od początków kariery był mentorem w zespołach programistycznych,…