Seminarinformationen

Seminar - Ziel

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 Umgang mit grundlegenden Sprachkonstrukten, Datentypen, Fehlerbehandlung, asynchroner Programmierung, Dateiverwaltung und IO sowie Ressourcenmanagement. Nach Abschluss des Seminars werden die Teilnehmer mit den grundlegenden Merkmalen von Scala vertraut sein und in der Lage sein, einfache Scala-Projekte zu entwickeln.

Teilnehmer - Zielgruppe

  • Software-Entwickler

Kurs - Voraussetzungen

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

  • Kenntnisse einer objektorientierten Programmiersprache - idealerweise Java

Seminardauer

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

Schulungsunterlagen

  • nach Absprache

Seminar-Inhalt / Agenda

Installation/Konfiguration der Scala Development Tools

  • Installation of Development Tools
  • Project Setup with sbt
  • sbt Basics
  • Using VS Code with Metals as Editor/IDE

Scala interaktiv

  • Scala REPL
  • Scala Worksheets

Scala Design Principles

  • Object Orientation
  • Funtional Features
  • Immutability
  • Type Safety

Language Syntax and Standard Library

  • Expressions
  • Operators
  • Control Structures
  • var, val, lazy val, def
  • Classes, Traits
  • Objects, Companion Objects
  • Packages, Imports
  • Tuples
  • Case Classes
  • Pattern Matching

Types

  • Type Hierachy
  • Type Inference
  • Type Aliases
  • Type Perameters

Container Types

  • List
  • Option
  • Either

Error Handling

  • Exceptions
  • try ... catch
  • try
  • Error Handling: Best Practices

flatMap for-comprehensions

  • filter, map, flatMap, flatten
  • for-comprehensions

Asynchronous Programming

  • Threads
  • Future
  • ExcecutionContect

Files und IO

  • Java IO in Scala
  • scala.io.Source

Resource Management

  • try ... finally
  • scala.util.Using

In diesem Kurs ist die Einrichtung der Scala-Entwicklungstools Teil des Kursinhalts. Wir beginnen mit einem Docker-Container mit Ubuntu-Linux auf jedem Teilnehmer-Rechner. In dem Entwicklungscontainer sind ein JDK und einige Entwicklungstools wie z.B. git, curl und zip, jedoch keine Scala-Tools vorinstalliert. Damit haben alle Kurs-Teilnehmer dieselben System-Voraussetzungen innerhalb des Containers. In diesen Docker Container installieren wir alle Tools, die für die Software-Entwicklung mit Scala erforderlich sind mit
Coursier:

  • Coursier: ein Dependency-Manager und Artefact-Fetcher für Scala
  • JDK/JVM: Java Development Kit
  • Scala REPL
  • Scala Compiler
  • sbt: das meist genutzte Build-Tool für Scala
  • scalafmt: Formatierer für Scala-Code

Ist die Arbeitsumgebung für Scala installiert und erläutert, werden die oben genannten Seminar-Inhalte vermittelt. Dabei entwickeln wir mit Visual Studio Code Remote Development die Code-Beispiele im Docker-Container. Die Softwareentwicklung im Kurs erfolgt mit der neuesten Version von Scala.

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 Tools - sbt

- u.a. in Bremen, Wien, Heidelberg, Erfurt, Nordhausen

In dieser 2-tägigen Schulung "Scala Tools - sbt" erhalten Sie eine tiefgehende Einführung in das Build-Tool sbt und seine erweiterten Funktionen. Der Kurs geht über die grundlegenden Funktionen von sbt hinaus und bietet einen umfassenden Einblick in die Architektur ...

Scala Typelevel - Funktionale HTTP-Services und -Clients mit http4s

- u.a. in Berlin, Bremen, Paderborn, Darmstadt, Kassel

In dieser 2-tägigen Schulung "Scala Typelevel - Funktionale HTTP-Services und -Clients mit http4s" lernen Sie, wie Sie mit der Bibliothek http4s funktional Web-Services entwickeln. http4s ist eine funktional gestaltete Bibliothek zur Erstellung von HTTP-Servern und ...