Seminarinformationen

Seminar - Ziel

In dieser 3-tägigen Schulung "Scala Language - Basics II" erwerben Sie Kenntnisse zu fortgeschrittenen Features der Programmiersprache Scala. Zu den Themen gehören Funktionen, Implicits, Immutable und Mutable Collections, die Integration von Java in Scala-Programmen, fold, fortgeschrittene Fehlerbehandlung, Value Classes und String Interpolation.

Der Kurs legt besonderen Wert auf Funktionen als zentrales Element von Scala. Sie lernen die Syntax von Funktionsdefinitionen, Funktionsaufrufen und Funktionstypen kennen und erfahren, wie bestehende Funktionen zu neuen Funktionen kombiniert werden können. Implicits, ein mächtiges und einzigartiges Feature von Scala, werden ausführlich behandelt. Sie spielen eine wichtige Rolle in der Bibliotheksentwicklung und vereinfachen die Programmierung. Im Kurs wird das Verständnis und die korrekte Anwendung von Implicits vermittelt.

Die Collection Library von Scala bietet zahlreiche Funktionen, wobei zwischen immutable und mutable Collections unterschieden wird. Der Kurs legt den Schwerpunkt auf immutable Collections, geht jedoch auch auf den Umgang mit mutable Collections ein.

Nach Abschluss des Seminars werden die Teilnehmer in der Lage sein, Scala Implicits für kontextuelle Abstraktionen einzusetzen und die Chancen sowie Risiken von Implicits richtig zu beurteilen. Sie können Funktionen effektiv nutzen und haben einen fundierten Überblick über die umfangreiche Collection Library. Zudem sind sie in der Lage, Java-Bibliotheken und Java-Collections in Scala zu integrieren.

Teilnehmer - Zielgruppe

  • Software-Entwickler

Kurs - Voraussetzungen

Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:

Seminardauer

  • 3 Tage
  • 09:00 Uhr bis 17:00 Uhr

Schulungsunterlagen

  • nach Absprache

Seminar-Inhalt / Agenda

Function

  • Function Literals
  • Function Types
  • Functions vs. Methods
  • Eta Expansion
  • Higher Order Functions/Methods
  • Function Composition
  • Partial Functions

Implicits

  • Implicit Parameters
  • Implicit Instances
  • Implicit Imports
  • Implicit Resolution
  • Type Classes
  • Context Bounds
  • Extension Methods
  • Implicit Conversions

Immutable Collections

  • Collection Hierarchy
  • Iterator, Iterable
  • Immutable Collections: Lists, Sets and Maps
  • Lazy immutable Collections: LazyList, Views

Mutable Collections

  • Mutable Collections: mutable Lists, Sets and Maps

Using Java in Scala Programs

  • Accessing Java Objects
  • Conversions from Java Optional to Scala Option (and vice versa)
  • Conversions from Java Collections to Scala Collections (and vice versa)
  • Conversions from Java CompletableFuture to Scala Future (and vice versa)

fold

  • Folding Either, Try, Option, List

Advanced Error Handling

  • Collecting Errors
  • Recovering from Errors

Value Classes

  • Improving Type Safety with Case Classes
  • Extending AnyVal - Pros and Cons
  • NewTypes with the estatico.newtype library

String Interpolation

  • String Interpolators of the Standard Library
  • Writing your own String Interpolator

Weitere Schulungen zu Thema Scala

Scala Tools - scalafix, scalafmt und mdoc

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

In dieser 2-tägigen Schulung "Scala Tools - Scalafix, Scalafmt und Mdoc" lernen Sie die Anwendung und Funktionen von Scalafix, Scalafmt und Mdoc in Scala-Projekten kennen. Scalafix ist ein Tool zum Linting und Refactoring von Code, mit dem Sie spezifische Code-Regeln ...

Scala Tools - Compiler

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

In dieser 1-tägigen Schulung "Scala Tools - Compiler" lernen Sie den Scala-Compiler und seine umfangreichen Steuerungsmöglichkeiten kennen. Der Scala-Compiler ist ein unverzichtbares Werkzeug für Scala-Entwickler und bietet zahlreiche Optionen zur Steuerung des ...

Scala Language - Basics I

- u.a. in Essen, Mannheim, Erfurt, Virtual Classroom, Jena

In dieser 3-tägigen Schulung "Scala Language - Basics I" erhalten Sie einen umfassenden Einstieg in die grundlegenden Konzepte und Funktionen der Programmiersprache Scala. Dazu gehört die Installation der notwendigen Tools, das Einrichten von Scala-Projekten mit sbt sowie der ...

Scala Language - Functional Programming

- u.a. in Hannover, Stuttgart, Nürnberg, Offenbach, Nordhausen

In dieser 2-tägigen Schulung "Scala Language - Functional Programming" liegt der Schwerpunkt auf den Prinzipien der reinen funktionalen Programmierung in Scala. Die Sprache Scala ermöglicht die Kombination von objektorientierter und funktionaler Programmierung und bietet ...