Scala for Backend Engineering and Functional Programming
Scala s'exécute sur la JVM et combine la programmation orientée objet et la programmation fonctionnelle dans un seul langage typé statiquement. Il alimente l'infrastructure de données chez des entreprises comme Twitter, LinkedIn et Databricks — via des frameworks comme Apache Spark, Akka et Play. Cette piste couvre Scala de sa syntaxe et son système de types jusqu'au développement backend de niveau production, la concurrence et les patterns fonctionnels avancés.
What You Will Learn
Vous commencerez par la syntaxe de Scala, le REPL, les valeurs, les types et le pattern matching, puis passerez aux case classes, aux types algébriques et au modèle de gestion d'erreurs Option/Either/Try. De là, vous travaillerez sur les fonctions d'ordre supérieur, la récursion terminale, les for-comprehensions et l'évaluation lazy avec les streams. Les sujets intermédiaires incluent les implicits, les type classes, les génériques, le traitement JSON avec Circe, les API REST avec http4s, la programmation asynchrone avec Futures et le développement backend complet avec Play Framework. Les cours avancés couvrent Cats et l'IO Monad, ZIO, la modélisation de domaine fonctionnelle, l'accès aux bases de données avec Doobie, les pipelines de données avec Akka Streams, les systèmes distribués avec Akka Actors et le déploiement de microservices. La piste se termine par la métaprogrammation Scala, les macros et l'optimisation des performances.
The Learning Path
Quarante cours progressent de A1 à C2. Les cours A1 et A2 établissent les fondamentaux du langage : syntaxe, collections, chaînes, tuples et pattern matching. Les cours B1 développent la fluidité de la programmation fonctionnelle — récursion, folding, listes lazy, traits, immutabilité et l'outil de build SBT. B2 intègre l'écosystème : type classes, Circe, Play, Spark, les features de Scala 3 et la programmation asynchrone. Le bloc C1 aborde les préoccupations de production — Cats IO, ZIO, Akka Actors, Akka Streams, Doobie et les microservices cloud. La piste se conclut au C2 avec Scala Metaprogramming and Macros et Performance Tuning and Optimization in Scala.
How It Works
Chaque cours est divisé en courtes leçons pratiques que vous complétez dans l'éditeur de code intégré avec des retours en temps réel. Un tuteur IA est disponible quand vous êtes bloqué, et la progression est conçue pour que chaque concept s'appuie directement sur le précédent — pas de sauts entre les ressources externes.