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
  • 0 ITK bodov
  • 4 termíny
  • Bratislava (540 €)

    Brno (12 300 Kč)

    Praha (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.