Programowanie w języku Scala

Czas trwania szkolenia:4 dni (32h)

Kod kursu:SCALA/J

Poziom zaawansowania:
scala

Szkolenie na zamówienie

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin
Zapytanie o szkolenie

O szkoleniu 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 Javy 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

Zalety

  • Forma warsztatowa, wiele zadań z przygotowanymi testami które pozwalają na szybką weryfikację poprawności rozwiązania
  • Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
  • Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
  • Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how

Cele szkolenia

  • Poznanie możliwości języka, dobrych praktyk programowania oraz polecanych narzędzi

Program

Konfiguracja środowiska i pierwszy program

  • Interpreter (REPL)
  • IDE
  • Pierwszy program
  • Wyrażenia (statement vs expression)
  • Simple Build Tool (SBT) oraz organizacja kodu źródłowego

Podstawy programowania obiektowego w Scali

  • Klasy i cechy (traits)
  • Obiekty
  • Dziedziczenie
  • Pola mutowalne i niemutowalne
  • Kontrola widoczności
  • Case class i obiekty towarzyszące
  • Operatory
  • Hierarchia typów
  • Nadpisywanie funkcji (override)

Kolekcje i programowanie funkcyjne

  • Kolekcje w bibliotece standardowej
  • Funkcje wyższego rzędu
  • Rozwijanie funkcji (currying)
  • Parametry przekazywane przez nazwę
  • Kolekcje mutowalne i niemutowalne
  • Popularne operacje na kolekcjach (tail, head, zip itp)

Testowanie aplikacji

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

Instrukcja for - for loop/for comprehension

Dopasowanie wzorców - Pattern matching

  • Proste zastosowania Some/None
  • Dopasowanie do case class (pl. klasy przypadku)
  • Wyrażenia regularne
  • Dopasowanie warunkowe - pattern guards
  • Dopasowanie po typie i sealed classes
  • Definiowanie własnych ekstraktorów

Klasy, metody i parametry domniemane (Implicits)

Simple Build Tool (SBT) - tematy zaawansowane

Obsługa wyjątków

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

Współbieżność i leniwe przetwarzanie

  • Wywołania asynchroniczne (futures and promises)
  • Kontekst uruchomienia (execution context)
  • Leniwość (lazy val)
  • Strumienie

Klasy generyczne

  • Wariancje
  • Ograniczanie parametrów typów generycznych

Integracja z kodem Javy

Przykładowa aplikacja

  • Przegląd najpopularniejszych frameworków
  • Implementacja interfejsu REST
  • Połączenie z bazą danych
  • Języki dziedzinowe - DSL

Podobne szkolenia