Szkolenie: Nowoczesne programowanie w języku Scala
Szkolenie nowoczesne programowanie w języku Scala uczy praktycznego wykorzystania Scali 3 do tworzenia mikroserwisów, aplikacji backendowych i rozwiązań Big Data, łącząc programowanie funkcyjne i obiektowe, z naciskiem na nowości językowe, testowanie oraz integrację z ekosystemem JVM
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:3 dni (24h)
Kod kursu:SCALA/J
Nowoczesne programowanie w języku Scala
Cele szkolenia
Szkolenie przygotowuje do samodzielnego projektowania i implementowania aplikacji oraz mikroserwisów w języku Scala, z wykorzystaniem nowoczesnych narzędzi i bibliotek
Szkolenie uczy stosowania paradygmatów programowania funkcyjnego i obiektowego w praktycznych projektach, z uwzględnieniem nowości wprowadzonych w Scala 3
Szkolenie rozwija umiejętność integracji Scali z ekosystemem JVM oraz efektywnego testowania i wdrażania aplikacji
Dla kogo?
Programiści posiadający doświadczenie w programowaniu obiektowym, chcący rozwinąć umiejętności w języku Scala
Osoby realizujące projekty backendowe lub mikroserwisowe, zainteresowane nowoczesnymi technikami programowania funkcyjnego
Specjaliści IT pracujący z ekosystemem JVM, pragnący poszerzyć kompetencje o technologie Scala i narzędzia Big Data
Efekty kształcenia
Uczestnik projektuje aplikacje w języku Scala z wykorzystaniem wzorców funkcyjnych i obiektowych
Uczestnik analizuje i wdraża mikroserwisy z użyciem popularnych bibliotek Scali
Uczestnik stosuje nowości językowe wprowadzone w Scala 3 w praktycznych zadaniach
Uczestnik testuje i weryfikuje poprawność działania aplikacji przy użyciu narzędzi testowych
Uczestnik integruje kod Scali z ekosystemem JVM oraz narzędziami wspierającymi rozwój oprogramowania
Uczestnik rozróżnia i dobiera odpowiednie narzędzia do zarządzania projektem w Scali
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
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
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi
