0Pricing
Scala for Backend Engineering & Functional Programming icon

Scala for Backend Engineering & Functional Programming

SCALABackendEnterpriseCloudDatabaseSystems

Scala でロバストなバックエンド開発をマスターし、関数型プログラミングのパラダイムを深く掘り下げ、スケーラブルで保守性の高いアプリケーションを構築します。

🤖 AI 搭載📚 39 コース👥 100,000+ ユーザー⭐ 4.9 評価
コース概要

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 チューターがあり、各概念が最後のものの上に直接構築されるように進行が設計されています — 外部リソース間を飛び回る必要はありません。

学習を始める →

学び方

🎯
インタラクティブレッスン
リアルタイムフィードバック付きの実践的なコード演習
🤖
AIチューター
わからないときは、AIが即座にサポート
💻
組み込みエディタ
ブラウザで直接コードを書いて実行
🏆
認定資格
コース完了時に認定資格を取得
カリキュラム

39コース

Scala for Backend Engineering & Functional Programmingラーニングパスのすべてのコース

01

Scalaの構文とREPL

A14レッスン

Scalaの構文とREPL:REPLを使う、val、varと型など

02

Scalaの値、変数、型

A14レッスンPRO

val、var、Scalaの型システムの基礎という、構成要素をしっかり身につけます。

03

Scalaの基礎:学習を始めよう

A13レッスンPRO

このミニコースでは、Scalaの基本構文と基礎概念を紹介し、関数型プログラミングとオブジェクト指向プログラミングの強固な土台を築きます。最初のScalaプログラムを書き、Scalaエコシステムについて理解します。

04

Scalaのパターンマッチング

A24レッスンPRO

Scalaのパターンマッチング:match式、型と値のマッチングなど

05

ScalaのケースクラスとADT

A24レッスンPRO

ScalaのケースクラスとADT:ケースクラス、sealed traitなど

06

ScalaのOption、Some、None

A24レッスンPRO

ScalaのOption、Some、None:nullを避ける、Optionに対するmapとflatMapなど

07

Scalaコレクションの操作

A24レッスンPRO

Scalaコレクションの操作:List、Vector、Set、Map、変換など

08

Scalaの文字列と補間

A24レッスンPRO

Scalaの強力な文字列機能を使ってテキストを扱います。

09

Scalaのタプルと範囲

A24レッスンPRO

値をまとめ、簡潔にシーケンスを生成します。

10

Scalaのfor内包表記

B14レッスンPRO

Scalaのfor内包表記:forの脱糖、ifによるフィルタリングなど

11

Scalaの高階関数

B14レッスンPRO

Scalaの高階関数:値としての関数、カリー化など

12

ScalaのEitherとTry

B14レッスンPRO

ScalaのEitherとTry:エラーにEitherを使う、Try、Success、Failureなど

13

Scalaの末尾再帰

B14レッスンPRO

Scalaの末尾再帰:再帰の基礎、tailrecアノテーションなど

14

ScalaTestによるScalaのテスト

B14レッスンPRO

ScalaTestによるScalaのテスト:ScalaTestのスタイル、マッチャーなど

15

Scalaの再帰と畳み込み

B14レッスンPRO

再帰で問題を解決し、foldでコレクションを集約します。

16

Scalaのストリームと遅延リスト

B14レッスンPRO

LazyListを使って、無限になり得るシーケンスを扱います。

17

オブジェクト指向Scala:クラスとトレイト

B12レッスンPRO

クラス、オブジェクト、トレイトなど、Scalaのオブジェクト指向機能を学びます。継承、ポリモーフィズム、データモデリングに役立つケースクラスの力といった重要概念を扱います。

18

関数型プログラミングの中核:不変性

B13レッスンPRO

関数を第一級オブジェクトとして扱い、関数型パラダイムへ移行します。予測可能で堅牢なコードを書くため、不変性、高階関数、純粋関数に重点を置きます。

19

ScalaプロジェクトのビルドツールSBT

B13レッスンPRO

Scalaプロジェクトの標準ビルドツールであるSBT(Scala Build Tool)を使いこなせるようになります。プロジェクトのセットアップ、依存関係管理、複雑なアプリケーションのマルチプロジェクトビルドについて学びます。

20

Scalaコレクションとエラー処理

B13レッスンPRO

Scalaの豊富なコレクションライブラリと、データを操作する関数型アプローチを学びます。`Option`、`Try`、`Either`を使ってエラーを適切に処理し、より堅牢なアプリケーションを構築する方法を身につけます。

21

ScalaのImplicit、given、using

B24レッスンPRO

ScalaのImplicit、given、using:暗黙のパラメーター、Scala 3のgiven/usingなど

22

Scalaの型クラス

B24レッスンPRO

Scalaの型クラス:型クラスパターン、インスタンスの定義など

23

CirceによるScalaのJSON処理

B24レッスンPRO

型安全かつ関数型の方法でJSONをエンコード・デコードします。

24

Scalaの型システムとジェネリクスを極める

B23レッスンPRO

分散、型クラス、高度なジェネリクスなど、Scalaの強力な型システムを深く学びます。これらの機能を活用し、表現力と型安全性に優れたコードを書く方法を身につけます。

25

Play Frameworkによるバックエンド開発

B23レッスンPRO

Play Frameworkを使って、高性能でスケーラブルなWebアプリケーションやRESTful APIを構築します。Playの基本概念、ルーティング、コントローラー、データベース連携について学びます。

26

Apache SparkをScalaで使う

B24レッスンPRO

Apache SparkをScalaで使う:RDDとDataFrame、変換とアクションなど

27

Scala 3の新機能

B24レッスンPRO

Scala 3の新機能:意味のあるインデント、Scala 3の列挙型など

28

Futureによる非同期プログラミング

B23レッスンPRO

`Futures`と`Promises`を使ってScalaの並行プログラミングを身につけます。ノンブロッキング処理を実行し、非同期計算を効果的に合成する方法を学びます。

29

http4sによるScalaのREST API

B24レッスンPRO

http4sで純粋関数型のHTTPサービスを構築します。

30

高度な関数型パターンとFPライブラリ

C13レッスンPRO

Monad、Functor、Applicativeなどの高度な概念を学び、関数型プログラミングへの理解を深めます。Scalaで利用される代表的なFPライブラリも紹介します。

31

Scala CatsとIOモナド

C14レッスンPRO

Scala CatsとIOモナド:Catsの型クラス、IOモナドなど

32

Scala ZIOの基礎

C14レッスンPRO

Scala ZIOの基礎:ZIOエフェクト、ZIOの合成など

33

Scalaの関数型ドメインモデリング

C14レッスンPRO

Scalaの関数型ドメインモデリング:ADTによるモデリング、スマートコンストラクターなど

34

Scalaによるマイクロサービスとクラウドデプロイ

C13レッスンPRO

Scalaベースのマイクロサービスを設計、構築、デプロイする方法を学びます。Dockerによるコンテナ化や、サービスをクラウドプラットフォームへデプロイするための戦略を扱います。

35

Akka Actorsによる並行システムの構築

C13レッスンPRO

高並行・分散・耐障害性のアプリケーションを構築する強力なツールキット、Akkaを使ってActorモデルを学びます。メッセージ駆動の並行処理による堅牢なシステムの設計・実装方法を身につけます。

36

DoobieによるScalaのデータベースアクセス

C14レッスンPRO

関数型ライブラリDoobieでSQLデータベースに接続します。

37

データパイプラインのためのScala Akka Streams

C14レッスンPRO

Akka Streamsでバックプレッシャーを使い、ストリーミングデータを処理します。

38

Scalaのメタプログラミングとマクロ

C24レッスンPRO

Scalaのメタプログラミングとマクロ:インラインメソッド、マクロの基礎など

39

Scalaのパフォーマンスチューニングと最適化

C23レッスンPRO

Scalaアプリケーションを最大限に高速化するため、プロファイリング、最適化、デバッグのスキルを身につけます。メモリ管理、並行処理の最適化、ベストプラクティスについて学びます。

よくある質問

よくある質問

Scala for Backend Engineering & Functional Programmingコースは無料ですか?

はい。Scala for Backend Engineering & Functional Programmingコースは無料で始められ、インタラクティブレッスンをすべて無料で完了できます。オプションのPRO登録で、高度なAIツールと共有可能な認定資格がアンロックされます。

SCALAを学ぶのに事前経験は必要ですか?

いいえ。コースは基礎から始まり、より高度なトピックへと進むので、SCALAの事前経験がなくても始められます。

CoddyKitでSCALAをどのように学びますか?

実践しながら学びます。短いインタラクティブレッスンは、わかりやすい説明と、リアルタイムで実行される実践的なコード演習が組み合わさっており、24時間対応のAIチューターがわからないときにいつでもサポートします。

Scala for Backend Engineering & Functional Programmingを完了すると認定資格がもらえますか?

はい。PRO学習者は試験を受けて、Scala for Backend Engineering & Functional Programmingコースの完了を証明する共有可能な認定資格を取得できます(認証コード付き)。

スマートフォンでSCALAを学べますか?

はい。CoddyKitはウェブとネイティブiOS・Androidアプリで利用でき、どのデバイスでもSCALAを学習でき、進捗がすべてのデバイスで同期されます。

Scala for Backend Engineering & Functional Programmingを今すぐ始める

AI搭載レッスンでプログラミングをマスターする数千人の学習者に参加しましょう。

無料で始める →すべてのコースを見る