Scala for backendutvikling og funksjonell programmering
Scala kjører på JVM og kombinerer objektorientert og funksjonell programmering i ett statisk typet språk. Det brukes i datainfrastrukturen hos selskaper som Twitter, LinkedIn og Databricks – gjennom rammeverk som Apache Spark, Akka og Play. Dette læringsløpet dekker Scala fra syntaks og typesystem til backendutvikling for produksjon, samtidighet og avanserte funksjonelle mønstre.
Dette lærer du
Du begynner med syntaksen i Scala, REPL, verdier, typer og mønstergjenkjenning, før du går videre til case-klasser, algebraiske datatyper og Option/Either/Try-modellen for feilhåndtering. Deretter arbeider du med høyereordensfunksjoner, halerekursjon, for-comprehensions og lat evaluering med strømmer. Mellomnivået omfatter implicits, typeklasser, generiske typer, JSON-behandling med Circe, REST-API-er med http4s, asynkron programmering med Futures og komplett backendutvikling med Play Framework. De avanserte kursene dekker Cats og IO Monad, ZIO, funksjonell domenemodellering, databasetilgang med Doobie, datapipelines med Akka Streams, distribuerte systemer med Akka Actors og utrulling av mikrotjenester. Læringsløpet avsluttes med metaprogrammering i Scala, makroer og ytelsesoptimalisering.
Læringsløpet
Førti kurs går fra A1 til C2. A1- og A2-kursene etablerer grunnlaget i språket: syntaks, samlinger, strenger, tupler og mønstergjenkjenning. B1-kursene bygger opp fortrolighet med funksjonell programmering – rekursjon, folding, late lister, traits, uforanderlighet og byggeverktøyet SBT. B2 går videre inn i økosystemet: typeklasser, Circe, Play, Spark, funksjoner i Scala 3 og asynkron programmering. C1-delen tar for seg hensyn i produksjon – Cats IO, ZIO, Akka Actors, Akka Streams, Doobie og skybaserte mikrotjenester. Læringsløpet avsluttes på C2 med Scala Metaprogramming and Macros og Performance Tuning and Optimization in Scala.
Slik fungerer det
Hvert kurs er delt inn i korte, praktiske leksjoner som du fullfører i den innebygde kodeeditoren med tilbakemeldinger i sanntid. En AI-veileder er tilgjengelig når du står fast, og progresjonen er lagt opp slik at hvert konsept bygger direkte på det forrige – uten at du må hoppe mellom eksterne ressurser.