Programming in Scala

Podczas tego kursu uczestnicy poznają specyfikę i cechy języka Scala, jego zalety i wyzwania.
Kod: JVA-031
Czas trwania: 30 godzin

Opis szkolenia

Język programowania Scala zyskuje na popularności w ostatnich latach nie tylko w społeczności programistów, ale także w rozwoju przedsiębiorstw. Jego zalety obejmują wykorzystanie najbardziej zaawansowanych funkcji współczesnych języków programowania i szerokie wsparcie programowania funkcjonalnego.

Scala oferuje programistom możliwość poprawy wydajności rozwoju i stworzenia bardzo ekspresyjnego i wydajnego kodu. Kod Scala jest kompilowany do kodu bajtowego Java i działa wewnątrz JVM, co zapewnia doskonałą kompatybilność z istniejącymi bibliotekami i narzędziami Java.

Kurs obejmuje całą zawartość niezbędną do efektywnego wykorzystania Scala: operators i typy danych, przy użyciu podstawowych struktur danych, takich jak arrays, map, tuples, zastosowanie podejścia obiektowego i funkcjonalnego, praca z collections, pattern matching, case-classes, generic i implicit conversions. Obejmuje również dużą liczbę ćwiczeń praktycznych.

Plan szkolenia

Wprowadzenie do Scali
Instrukcje, operatory i typy Scala
  • Conditional statements
  • Loops
  • Funkcje
  • Zmienne
  • Operatory
  • Unit type
  • Function type
  • Null, Nothing, Any, AnyRef and AnyVal types
  • Packages i imports
  • Implicit imports
  • Wyjątki


Arrays, maps, tuples
  • Tworzenie, dodawanie i usuwanie elementów array
  • Dostęp to Array Elements
  • Arrays o stałej i zmiennej długości
  • Multidimensional Arrays
  • Operacje z arrays
  • Uporządkowanie array
  • Tworzenie i dostęp associative tables
  • Iteracja, zmiana i uporządkowanie associative tables
  • Tuples
  • Zipping

Classes i Inheritance
  • Klasy
  • Właściwości z getters i setters
  • Stosowanie parentheses method calls
  • Właściwości tylko z getters
  • Auxiliary constructors
  • Primary constructor
  • Nested classes
  • Extending the class
  • Overriding methods
  • Type check i cast
  • Call the superclass constructor
  • Overriding fields
  • Anonymous subclasses
  • Abstract fields
  • Constructor order i early definitions
  • Scala Inheritance Hierarchy
  • Objects equality

Objects
  • Singletons
  • Companion Objects
  • Objects extending a class or trait
  • Wyliczenia
  • Packages objects
  • Metody apply i unapply
  • Lazy objects

Traits
  • Traits jako interfejsy
  • Traits o określonej implementacji
  • Przedefiniowanie abstract methods in Traits
  • Concrete oraz abstract fields in Traits
  • Objects, które wykorzystują multiple Traits
  • Trait construction order
  • Inicjowanie Trait fields
  • Traits extending classes
  • Self-types

Funkcje
  • Funkcje jako wartości
  • Default arguments i named arguments
  • Funkcje bez return value
  • Funkcje anonimowe
  • Funkcje z Function jako parametrem
  • Zamknięcia
  • Funkcjonalne interfejsy
  • Rozwijanie funkcji (ang. Currying)
  • Przekazywanie funkcji jako parametru w bloku kodu
  • Używanie return

Collections
  • Traits collections w Scala: Map, Set i Seq
  • Mutable i immutable collections
  • Sekwencje
  • Listy
  • Mutable lists
  • Sets
  • Operators do pracy z collections
  • Standardowe metody do pracy z collections
  • Używanie funkcji mapowania, zmniejszania, składania i skanowania
  • Zipping
  • Iterators
  • Data Streams
  • Threadsafe Collections
  • Parallel collections
  • Interakcja z Java collections

Pattern matching
  • Pattern matching as a better switch
  • Guards
  • The variables in patterns
  • Type patterns
  • Łączenie arrays, lists i tuples
  • Regular expressions
  • Extractors
  • Patterns in variable declarations
  • Patterns in for expressions

Case classes, Option type and partial functions
  • 補se classes
  • Copy method i named parameters
  • Sealed classes
  • Option type
  • Funkcje częściowe

Generics
  • Generic classes
  • Generic functions
  • Type variance
  • Upper i lower type bounds
  • Typ Use _ for

Implicit conversions
  • Użycie domyślnych kluczowych słów do zdefiniowania implicit type
  • Import i użycie implicit conversions
  • Implicit parameters

Cele

  • Przedstawienie programistom języka programowania Scala.

Grupa docelowa

  • Kurs jest przeznaczony jest dla programistów Java, ale wskazany jest zarówno dla innych developerów w pełni funckcjonalnych języków (jak C++, C#, itd.).

Wymagania

  • Wymagana jest znajomość współczesnego języka programowania OOP. Znajomość języka Java jest wskazana.

Zapisz sie na nastepny kurs
+
Wczesniejsza rejestracja gwarantuje priorytet. Powiadomimy panstwa o nastepnym zaplanowanym szkoleniu na ten temat.
Bucharest 2200 zł
Kraków 2200 zł
Wroclaw 2200 zł

Uprzejmie informujemy, że płatność za każde szkolenie będzie realizowana w lokalnie obowiązującej walucie. Jednocześnie informujemy, że podane ceny mogą ulec zmianie w zależności od lokalizacji szkolenia oraz trybu jego realizacji. Do ceny netto widocznej przy wybranym szkoleniu należy doliczyć 23% podatku VAT.

Szkolenia, które mogą Cię zainteresować:
JVA-030
12 godzin
JVA-03185228

Zarejestruj si臋 na nast臋pne szkolenie

Imię*
Nazwisko*
Firma
Email*
Preferred Location
Numer telefonu*
Twój komentarz
Luxoft Warsaw - Warsaw Spire, plac Europejski 1, 00-844 Warszawa

Telefon kontaktowy:

+48 122110650
Dimitrie Pompeiu nr 5-7 , building C, Et. 5, sect 2, Bucharest, 014459

Telefon kontaktowy:

021 371 4858
Luxoft Poland Wroclaw - Silver Tower pl. Konstytucji 3-go Maja 3 50-048 Wroclaw

Telefon kontaktowy:

+48 122110650
Aleja Generała Tadeusza Bora-Komorowskiego 25, Quattro Business Park Five, 31-476 Kraków, Poland

Telefon kontaktowy:

+48 122110650
Success
Dziekujemy!
Twoje zgloszenie zostalo zarejestrowane.