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
  • ase 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.

Trener Online
Cosmin Vacaroiu Software Development Consultant
Cosmin is a fullstack developer with over 11 years of experience in more than 10 major projects, mainly in the area of software enterprise applications but start-ups as well. He is currently working the financial industry with tehcnologies like Artificial Intelligence, Machine Learning, Python, ELK Stack,Angular, Ionic, ReactiveX, Spring Boot, Java 8, Google Cloud, Apache Airflow si SSL Certificates.

In his previous role he worked as a Software Architect (Spring) where he used Java, Spring, SOAP WebServices (JAX-WS, Spring WS), Spring REST, JPA, JMX, JMS, Solr, JavaScript, JQuery, Weblogic, Ehcache, AOP, JUnit, EasyMock, JSP, SQL, Maven, Logstash, ElasticSearch, Kibana

Cosmin is passionate about technologies and likes to understand how they were developed so that he can use them as efficiently as possible. He has 9 Oracle certifications ( DB and Java) and one Scrum Master certification.
Harmonogram w Online Cennik
Szkolenie zaplanowano na Online
11.10.2021 - 15.10.2021
Godziny szkolenia: 09:00-15:00
Strefa czasowa: UTC +1
Lokalizacja: Online
Czas trwania: 30 godzin
Jezyk: Angielski
Trener
Cosmin Vacaroiu
Software Development Consultant
-15% 2 420 zł
2 057 zł
Zapisz sie na nastepny kurs
+
Wczesniejsza rejestracja gwarantuje priorytet. Powiadomimy panstwa o nastepnym zaplanowanym szkoleniu na ten temat.
11.10.2021 - 15.10.2021
Godziny szkolenia: 09:00-15:00
Strefa czasowa: UTC +1
Lokalizacja: Online
Czas trwania: 30 godzin
Trener
Cosmin Vacaroiu
Software Development Consultant
-15% 2 420 zł
2 057 zł
Zapisz sie na nastepny kurs
+
Wczesniejsza rejestracja gwarantuje priorytet. Powiadomimy panstwa o nastepnym zaplanowanym szkoleniu na ten temat.
Online 2420 zł
Bucharest 2420 zł
Kraków 2420 zł
Wroclaw 2420 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

Wybierz termin
Imię*
Nazwisko*
Firma
Email*
Numer telefonu*
Twój komentarz
Masz jeszcze jakieś pytania?
Skontaktuj się z nami
Thank you.
Your request has been received.