Scala til backendudvikling og funktionel programmering
Scala kører på JVM og kombinerer objektorienteret og funktionel programmering i ét statisk typet sprog. Det driver datainfrastrukturen hos virksomheder som Twitter, LinkedIn og Databricks — gennem frameworks som Apache Spark, Akka og Play. Dette forløb dækker Scala fra syntaks og typesystem til backendudvikling i produktionskvalitet, samtidighed og avancerede funktionelle mønstre.
Det lærer du
Du begynder med syntaksen i Scala, REPL, værdier, typer og pattern matching og går derefter videre til case classes, algebraiske datatyper og modellen til fejlhåndtering med Option/Either/Try. Derefter arbejder du med funktioner af højere orden, tail recursion, for-comprehensions og doven evaluering med streams. Emner på mellemniveau omfatter implicits, type classes, generics, JSON-behandling med Circe, REST-API'er med http4s, asynkron programmering med Futures og komplet backendudvikling med Play Framework. De avancerede kurser dækker Cats og IO Monad, ZIO, funktionel domænemodellering, databaseadgang med Doobie, datapipelines med Akka Streams, distribuerede systemer med Akka Actors og udrulning af mikrotjenester. Forløbet afsluttes med metaprogrammering i Scala, makroer og performanceoptimering.
Læringsforløbet
De 40 kurser bevæger sig fra A1 til C2. A1- og A2-kurserne etablerer sprogets grundprincipper: syntaks, collections, strenge, tupler og pattern matching. B1-kurserne opbygger fortrolighed med funktionel programmering — rekursion, folding, dovne lister, traits, uforanderlighed og build-værktøjet SBT. B2 bevæger sig ind i økosystemet: type classes, Circe, Play, Spark, funktioner i Scala 3 og asynkron programmering. C1-blokken tager fat på produktionsrelaterede emner — Cats IO, ZIO, Akka Actors, Akka Streams, Doobie og cloudbaserede mikrotjenester. Forløbet afsluttes på C2 med Scala Metaprogramming and Macros og Performance Tuning and Optimization in Scala.
Sådan fungerer det
Hvert kursus er opdelt i korte, praktiske lektioner, som du gennemfører i den indbyggede kodeeditor med feedback i realtid. Du kan få hjælp af en AI-underviser, når du går i stå, og progressionen er tilrettelagt, så hvert begreb bygger direkte videre på det forrige — uden at du skal springe mellem eksterne ressourcer.