Scala for Backend Engineering and Functional Programming
Scala は JVM 上で実行され、オブジェクト指向プログラミングと関数型プログラミングを単一の静的型言語で組み合わせています。Twitter、LinkedIn、Databricks などの企業のデータインフラストラクチャを支えており、Apache Spark、Akka、Play などのフレームワークを通じて使用されています。このトラックは、構文と型システムから本番環境レベルのバックエンド開発、並行処理、高度な関数型パターンまで、Scala をカバーしています。
学習内容
Scala の構文、REPL、値、型、パターンマッチングから始まり、ケースクラス、代数的データ型、Option/Either/Try エラーハンドリングモデルに進みます。その先では、高階関数、末尾再帰、for内包表記、ストリームを使用した遅延評価に取り組みます。中級トピックには、implicit、型クラス、ジェネリクス、Circe での JSON 処理、http4s を使用した REST API、Futures での非同期プログラミング、Play Framework を使用したフルバックエンド開発が含まれます。上級コースは Cats と IO Monad、ZIO、関数型ドメインモデリング、Doobie を使用したデータベースアクセス、Akka Streams を使用したデータパイプライン、Akka Actors を使用した分散システム、マイクロサービスのデプロイをカバーしています。トラックは Scala メタプログラミング、マクロ、パフォーマンスチューニングで終わります。
学習パス
40 のコースは A1 から C2 へ進行します。A1 と A2 のコースは言語の基礎を確立します:構文、コレクション、文字列、タプル、パターンマッチング。B1 コースは関数型プログラミングの流暢性を構築します — 再帰、折りたたみ、遅延リスト、trait、イミュータビリティ、SBT ビルドツール。B2 はエコシステムへ移行します:型クラス、Circe、Play、Spark、Scala 3 の機能、非同期プログラミング。C1 ブロックは本番環境の関心事に取り組みます — Cats IO、ZIO、Akka Actors、Akka Streams、Doobie、クラウドマイクロサービス。トラックは C2 で Scala Metaprogramming and Macros と Performance Tuning and Optimization in Scala で終わります。
仕組み
各コースは短い実践的なレッスンに分割され、組み込みコードエディタで実時間フィードバック付きで完了します。行き詰まったときに利用可能な AI チューターがあり、各概念が最後のものの上に直接構築されるように進行が設計されています — 外部リソース間を飛び回る必要はありません。