Scala for Backend Engineering and Functional Programming
Scala работает на JVM и сочетает объектно-ориентированное и функциональное программирование в одном статически типизированном языке. Он используется в инфраструктуре данных компаний, таких как Twitter, LinkedIn и Databricks, через фреймворки Apache Spark, Akka и Play. Этот курс охватывает Scala от синтаксиса и системы типов до production-grade backend-разработки, параллелизма и передовых функциональных паттернов.
What You Will Learn
Вы начнёте с синтаксиса Scala, REPL, значений, типов и сопоставления с образцом, затем перейдёте к case-классам, алгебраическим типам данных и модели обработки ошибок Option/Either/Try. Дальше вы будете работать с функциями высшего порядка, хвостовой рекурсией, for-comprehensions и ленивыми вычислениями со streams. Промежуточные темы включают implicits, type classes, generics, обработку JSON с помощью Circe, REST API с http4s, асинхронное программирование с Futures и полноценную backend-разработку с Play Framework. Продвинутые курсы охватывают Cats и IO Monad, ZIO, функциональное моделирование предметной области, доступ к базам данных с Doobie, конвейеры данных с Akka Streams, распределённые системы с Akka Actors и развёртывание микросервисов. Курс завершается метапрограммированием Scala, макросами и оптимизацией производительности.
The Learning Path
Сорок курсов проходят от A1 до C2. Курсы A1 и A2 устанавливают основы языка: синтаксис, коллекции, строки, кортежи и сопоставление с образцом. Курсы B1 развивают беглость функционального программирования — рекурсию, свёртки, ленивые списки, traits, неизменяемость и инструмент сборки SBT. B2 переходит в экосистему: type classes, 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.
How It Works
Каждый курс разделён на короткие практические уроки, которые вы выполняете во встроенном редакторе кода с обратной связью в реальном времени. AI-репетитор доступен, когда вы застряли, а прогрессия разработана таким образом, чтобы каждая концепция непосредственно основывалась на предыдущей — без переходов между внешними ресурсами.