Programowanie w języku Scala - kurs podstawowy
Szkolenie w wersji zdalnej i stacjonarnej
Poznaj program szkolenia
- Co zyskasz dzięki szkoleniu ?
Cele szkolenia
Celem szkolenia jest:
- nabycie umiejętności programowania w języku Scala
- poznanie cech programowania funkcyjnego, jego zalet i wad
- ćwiczenie w praktyce poszczególnych elementów języka
Umiejętności
Dzięki szkoleniu uczestnik:- zdobędzie podstawową wiedzę i umiejętności do pracy nad projektami realizowanymi w języku Scala. Należy do nich m.in. znajomość:
- sposobu pracy nad projektem (SBT, IDE, debugger)
- składni i semantyki języka Scala
- popularnych kolekcji z biblioteki standardowej
- dobrych praktyk programistycznych
- technik funkcyjnych dostępnych w Scali
- sposobów testowania jednostkowego kodu napisanego w Scali
- Czy to szkolenie jest dla Ciebie ?
Profil uczestników
Szkolenie dla programistów pragnących poznać nowoczesny, popularny, wieloparadygmatowy język programowania o szerokich zastosowaniach.
Przygotowanie uczestników
- dobra znajomość przynajmniej jednego obiektowego język programowania wywodzącego się z C++
- znajomość języka Java nie jest konieczna, ale bardzo przydatna
- Czas trwania
3 dni, 24 godziny szkoleniowe
- Szczegółowy program szkolenia
Szczegółowy program szkolenia
Wprowadzenie
- Krótka historia języka
- Różnice pomiędzy programowaniem obiektowym i funkcyjnym
Konfiguracja środowiska
- Stworzenie projektu
- Przygotowanie IDE do pracy
- Pierwszy program
Podstawowe elementy języka
- Składnia języka
- Typy danych
- Definiowanie:
- Funkcji
- Klas i Obiektów
Programowanie obiektowe w Scali
- Dziedziczenie (klasy abstrakcyjne, traity, linearyzacja, sealed)
- Hierarchia klas
- Typy generyczne: kowariancja i kontrawariancja
- Integracja z Javą
Programowanie funkcyjne w Scali
- Funkcja jako obiekt
- Funkcje wyższego rzędu
- Case class
- Dopasowanie wzorców (pattern matching)
- Rekursja ogonowa
- Leniwa ewaluacja (słowo kluczowe lazy, call-by-name)
Biblioteka kolekcji
- Omówienie różnic pomiędzy kolekcjami mutowalnymi i niemutowalnymi
- Zapoznanie się z podstawowymi kolekcjami
Mechanizm implicitów
- Parametry implicit
- Metody implicit
- Klasy implicit, mechanim dodawania metod do istniejących obiektów
- Wsparcie IDE w zakresie pracy z implicitami
- Kolejność wyszukiwania implicitów
Programowanie wielowątkowe
- Sposoby synchronizacji wątków
- Wykorzystanie obiektu Future
Integracja Scali i Javy
- Omówienie problemów występujących przy integracji obu języków.
Testowanie aplikacji
- Przegląd dostępnych bibliotek do testowania
- Tworzenie przypadków testowych z użyciem biblioteki ScalaTest
- Testowanie własności obiektów za pomocą biblioteki ScalaCheck
Akka
- Model aktorów
- Cykl życia aktora i obsługa błędów
Finalne ćwiczenie
- Wykorzystanie zdobytych umiejętności w celu stworzenia prostego serwera REST API
Metoda realizacji
Szkolenie realizowane jest w formie występujących po sobie sesji szkoleniowych podzielonych na moduły. W ramach modułu szkoleniowego przewidziana jest część teoretyczna wyjaśniająca dane zagadnienie, samodzielnie rozwiązane przez uczestnika ćwiczenie oraz blok pytań i odpowiedzi. .
- Ścieżka rozwoju
- Scala – poziom zaawansowany
- W ramach szkolenia zapewniamy
- materiały szkoleniowe
- certyfikat potwierdzający udział w kursie
- pełna obsługa cateringowa ( dla szkoleń stacjonarnych)
