Schulungsübersicht

Einführung

  • Wer benutzt Scala?
  • Entwicklung von großen, rein funktionalen Programmen

Überblick über funktionale Programming in Scala

  • Funktionen höherer Ordnung
  • Kombinatoren
  • Polymorphe Funktionen

Beherrschung von Scala Typen

  • Produkttypen & Summentypen
  • Supertypen & Subtypen
  • Universale & Existenziale
  • Übergeordnete Typen
  • Typ-Lambdas

Beherrschen Scala Typ-Klassen

  • Klassen & Instanzen
  • Tricks mit Implicits
  • Polymorphe Constraints

Fallstudie: Hochgradig zustandsfähige Programme mit komplexen externen Systemen

Kodier-Übung

Arbeiten mit Daten

  • Unveränderliche Daten & Rekursion
  • Katamorphismen & Kirchenkodierung
  • Festkomma-Daten
  • Rekursionsschemata

Fortgeschrittenes Pattern Matching in Scala

  • Tiefes Matching
  • Verwendung von Extraktoren

Fallstudie: Scala und Big Data

Kodierübung

Funktionale Muster verwenden

  • Optionen, Entweder-oder & Validierungen
  • Halbgruppen & Monoide
  • Funktoren
  • Anwendbares
  • Monaden
  • Foldables & Traversables
  • Linsen

Arbeiten mit Effekten

  • IO
  • Zustand
  • Leser
  • Kombinieren von Effekten

Fallstudie

  • TBD

Kodierübung

Funktionale Architektur

  • Moderne Architektur für FP
  • Verifizierte Berechnung und aufgeschobene Auswertung
  • Kompositionsauswerter
  • Optimierungs-Techniken
  • Rein funktionales Mocking

Bibliotheken und DSLs

  • Benutzerdefinierte Kontrollstrukturen mit By-Name-Parametern
  • Aufbau von gut durchdachten Bibliotheken und internen DSLs

Funktionale Ausnahmebehandlung

  • Traditionelle Ausnahmebehandlung
  • Funktionale Ausnahmebehandlung
  • Verwendung von Try mit For-Auffassungen

Abschließende Kodierübung und Bewertung

Schlussbemerkungen

Voraussetzungen

  • Praktische Erfahrung in der Scala Programmierung
  • Vertrautheit mit Pattern Matching und Traits

Publikum

  • Scala Programmierer, die die fortgeschrittenen und differenzierten Funktionen von Scala
  • erlernen möchten
  14 Stunden
 

Teilnehmerzahl


Beginnt

Endet


Die Termine sind abhängig von der Verfügbarkeit und finden zwischen 09:30 und 16:30 statt.
Offene Schulungskurse erfordern mindestens 5 Teilnehmer.

Kombinierte Kurse

Combined C/C++, JAVA and Web Application Security

  28 Stunden

Advanced Java Security

  21 Stunden

Combined JAVA, PHP and Web Application Security

  28 Stunden

Standard Java Security

  14 Stunden

Java and Web Application Security

  21 Stunden

Verwandte Kategorien