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 Typelevel - cats-effect

- u.a. in Mannheim, Virtual Classroom, Freiburg, Kassel, Nordhausen

In dieser 2-tägigen Schulung "Scala Typelevel - Cats-Effect" lernen Sie die Grundlagen des Typelevel-Ökosystems in Scala und die Bibliothek Cats-Effect kennen. Cats-Effect baut auf der Cats-Bibliothek auf und bietet die IO-Monade zur funktionalen Beschreibung von ...

Scala Typelevel - Funktionales Streaming mit fs2

- u.a. in Bremen, Zürich, Dresden, Heidelberg, Offenbach

In dieser 2-tägigen Schulung "Scala Typelevel - Funktionales Streaming mit fs2" erhalten Sie eine Einführung in die Streaming-Bibliothek fs2 aus dem Typelevel-Ökosystem. fs2 baut auf den Grundlagen von Cats und Cats-Effect auf und stellt eine leistungsstarke sowie flexible ...