Absolvent bude do hĺbky oboznámený s OOP aj funkcionálnymi technikami a ich využitím v silne typovom jazyku. Kurz začína základnými konštrukciami jazyka, pokračuje s OOP, potom funkctionálnymi transformáciami, typovým systémom jazyka a končí [...]
  • SCALA_INTRO
  • Dĺžka 3 dni
  • 30 ITK bodov
  • 0 termínov
  • SR (540 €)

    ČR (12 300 Kč)

  • Začiatočník

Absolvent bude do hĺbky oboznámený s OOP aj funkcionálnymi technikami a ich využitím v silne typovom jazyku. Kurz začína základnými konštrukciami jazyka, pokračuje s OOP, potom funkctionálnymi transformáciami, typovým systémom jazyka a končí sa asynchrónnym programovaním.

»
  • Kurz predpokladá znalosť akéhokoľvek iného programovacieho jazyka a základov algoritmizácie.
  • Výklad s prezentáciou
  • Praktické ukážky na malých útržkoch kódu, tzv "tabule" alebo scratches v InteliJ Idea
  • Málé cvičenia pre vyskúšanie práve vysvetleného
  • Veľké samostatné úlohy z tématického celku vyhodnotené individuálne pre každého študenta (s radami ako ďalej)
  • Prezentace probírané látky v tištěné nebo online formě.

Inštalácia potrebných nástrojov/Scaly a úvod

  • Inštalácia Scala-cli
  • Scala v InteliJ Idea (Scala plugin)
  • Čo je Scala, malá ukážka cieľov a smerovania kurzu aj s praktickými príkladmi
  • Vytvorenie projektu

Základné konštrukcie jazyka a úvod do typov

  • Meniteľné vs nemeniteľné premenné - princíp immutable
  • Základné typy: numerické, reťazce, pravdivostné hodnoty
  • Podmienky a cykly
  • For cyklus ktorý vracia výsledok, teória výrazov - čo je výraz a čo nie
  • Funkcie, rekurzia, tail rekurzia
  • Interpolácia reťazcov
  • Typ tuple, "rozbitie" na premenné, pattern matching
  • Typ option ako jednoprvková kolekcia, reťazenie options vo for cykle, Option(null)
  • List/Seq/Vector/Set/Map a operácie nad nimi
  • Mutable varianty kontajnerov

Operácie nad kolekciami

  • foreach, map, flatMap
  • rekurzívne počítanie s kolekciami, foldLeft, sum, reduce
  • find, headOption, filter, exists, contains, collect, groupBy, mkString

OOP v Scale

  • Trieda a jej atribúty, konštruktor, companion object a apply
  • case class, metóda copy, pattern matching
  • Traity a viacnásobná dedičnosť
  • Anonymné triedy
  • sealed trait a enumerácie

Pokročilejšie konštrukcie jazyka

  • Vyššie funkcie, funkcia ako parameter a návratová hodnota
  • Kedy sa kód skutočne zavolá/vyhodnotí?
  • Lambdy
  • Obalenie primitívnych hodnôt do typov namiesto priameho použitia
  • implicitné funkcie, konverzie
  • implicitné triedy, doplňanie metód
  • implicitné hodnoty
  • Try vs try
  • Reťazenie potencionálne neúspešných operácii vo for cykle, recover, orElse
  • Funkcia s typovým parametrom
  • Ohraničenie typov
  • Náš vlastný reduce

Asynchrónne programovanie

  • Future
  • Await.ready/result
  • Execution Context (global, fixed thread pool, cached, work stealing pool)
  • Future neznamená thread, Čo je to thread pool
  • map, flatMap, skladanie vo for cykle
  • andThen, recover, transform
  • lazyness
Aktuálna ponuka
Školiace miesto
Jazyk kurzu

Uvedené ceny sú bez DPH.

Školenie na mieru

Nenašli ste vhodný termín, alebo chcete školenie prispôsobiť špecifickým potrebám vášho tímu? Radi pre vás pripravíme školenie na mieru.