Zaufali Nam

  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam

Kod Szkolenia: J/SCL

Tytuł Szkolenia: Programowanie obiektowo-funkcyjne w języku Scala dla programistów Javy.

Karta Szkolenia

Adresaci szkolenia:

Programiści Javy, którzy chcieliby podnieść swoją produktywność oraz tworzyć lepszy kod w najnowszym obiektowo-funkcyjnym języku programowania działającego na platformie Java.

Cel szkolenia:

Uczestnicy dowiedzą się jak wykorzystać język Scala do błyskawicznego tworzenia wysokiej jakości aplikacji działających na platformie Java.

 

W szczególności uczestnicy:

  • poznają składnię języka Scala pokazaną na tle znanych konstrukcji z języka Java.
  • poznają nowe elementy języka, nieobecne w Javie, m.in: funkcje wyższych rzędów, dopasowywanie wzorców, konwersje i argumenty implicit, typy strukturalne, kontynuacje, typy abstrakcyjne, przeciążanie operatorów.
  • w trakcie ćwiczeń praktycznych nauczą się posługiwać kompilatorem oraz IDE w celu zbudowania swoich pierwszych programów wykorzystujących zarówno standardowe biblioteki Scali jak i biblioteki Javy.
  • zapoznają się również z integracją modułów pisanych w Javie z modułami tworzonymi w Scali

Omówione zostaną także:

  • instrukcje sterujące, stałe i zmienne, system typów, model obiektowy, mechanizm obsługi błędów, sposoby dekompozycji kodu
  • dobre praktyki projektowania kodu oraz sposoby tworzenia kodu zgodnie z paradygmatem programowania funkcyjnego

Wymagania:

Wymagana jest umiejętność programowania w języku Java (do poznania na kursie J/JP).

Mocne strony szkolenia:

Po szkoleniu uczestnicy będą gotowi samodzielnie pisać złożone aplikacje w języku Scala jak również rozbudowywać istniejące aplikacje pisane w języku Java o komponenty tworzone w języku Scala. Szczególny nacisk kładziony jest na nauczenie dobrych praktyk tworzenia kodu wysokiej jakości, zwięzłego, czytelnego i łatwego do utrzymania.

Parametry szkolenia:

3*7 godzin wykładów i warsztatów w proporcji 1/3. W trakcie warsztatów, oprócz prostych ćwiczeń, projektowana i implementowana jest prosta kompleksowa aplikacja. Wielkość grupy: maks. 8-10 osób.

Polecane szkolenia poprzedzające:

J/JP

Szczegółowy Program

Program szkolenia:

  1. Wstęp
  2. Pierwsze kroki z językiem Scala
    1. Pierwszy program
    2. Interpreter (REPL)
    3. Kompilator
    4. IDE
    5. Organizacja kodu źródłowego
    6. Budowanie aplikacji (SBT)
    7. Dokumentacja
  3. Klasy i obiekty
    1. Podstawowe typy obiektów i operacje
    2. Stałe, zmienne, metody
    3. Przeciążanie operatorów
    4. Wbudowane instrukcje sterujące
    5. Konstruktory
    6. Równoważność obiektów
    7. Klasy konkretne
    8. Dziedziczenie i wielodziedziczenie
    9. Własności abstrakcyjne
    10. Interfejsy
    11. Obiekty singletonowe
    12. Importowanie klas
    13. Kontrola zasięgu widoczności
    14. Klasy zagnieżdżone
    15. Hierarchie klas sealed
  4. Funkcje
    1. Obiekty funkcyjne
    2. Wyrażenia lambda
    3. Currying i częściowa aplikacja funkcji
    4. Kompozycja funkcji
    5. Funkcje częściowe
    6. Typowe zastosowania wyrażeń lambda w kolekcjach
  5. Programowanie bez nulli: Option, Some i None
  6. Zwracanie wielu obiektów z funkcji na raz: krotki
  7. Pattern matching czyli czego switch w Javie nie umie
    1. Proste zastosowania
    2. Dopasowywanie z zagnieżdżeniami
    3. Definiowanie własnych ekstraktorów
    4. Definiowanie funkcji częściowej na podstawie przypadków
    5. Obsługa wyjątków
  8. Standardowe kolekcje
    1. Mutowalność kontra persystencja
    2. Napisy
    3. Tablice, listy, zbiory i słowniki
    4. Iteratory
    5. Strumienie
    6. Generowanie kolekcji
      1. Iteracyjnie: lepsza pętla for
      2. Rekurencyjnie: z użyciem strumieni
  9. Typy generyczne
    1. Metody generyczne
    2. Klasy generyczne
    3. Specyfikowanie ograniczeń typów
    4. Kontrola wariancji
    5. Specjalizacja
  10. Konwersje implicit
  11. Parametry implicit
  12. Wyrażenia regularne
  13. Praca z XML
  14. Adnotacje
  15. Asercje
  16. Współbieżność
    1. Wątki
    2. Asynchroniczna wymiana komunikatów
  17. Współpraca z kodem Javy