Сложность
Сложность
Продвинутый
Тип обучения
Тип обучения
Курс
Формат обучения
Формат обучения
С проверкой домашнего задания
Сертификат
Сертификат
Да

Стоимость курса

61 400 ₽
нет рассрочки

Углубленный курс по Scala, в котором вы получите практические знания в популярных технологиях Scala, подходах функционального программирования и познакомитесь с самыми мощными Scala-библиотеками.

Курс рассчитан на Java-разработчиков с опытом работы от 1 года либо для программистов с опытом работы на другом языке от 3-х лет, знакомых с синтаксисом веб-приложений.

Вы научитесь:

  • использовать Scala-стек технологий для создания веб-сервисов;
  • применять приемы функционального программирования в SOLID-приложениях;
  • создавать приложения на основе функционального подхода на примере ZIO;
  • проектировать микросервисы с использованием CQRS/ES на основе Akka;
  • создавать модульные тесты на основе инвариантов свойств (property-based tests).

Что вы получите после обучения

Приобретаемые навыки
1
Scala
2
ZIO
3
Akka
4
SOLID
5
Модульные тесты
Сертификат, ссылками на который можно делиться с другими людьми

Вас будут обучать

Руководитель разработки в направлении "Решений в образовании" в компании NAUMEN.

Опыт профессиональной разработки 12 лет. Последние 7 лет — это Scala. До этого были Java, JavaScript, когда-то знал PHP.Работал в разных странах и в разных командах. География: Беларусь, Франция, РоссияИмеет опыт проектной и продуктовой разработки в B2B и B2C сегментах.Участвовал в проектировании, разработке и запуске различных проектов для Минобрнауки, Сколково, Росатома, крупных федеральных вузов. Проектировал, разрабатывал и запускал платформу RUSSIA.STUDYСфера интересов: Scala, функциональное программирование, архитектура приложений.

Профессиональный опыт: 15 лет программирования на С++, С#, JavaScript, Python, Scala, Java.Эксперт в обработке больших данных с помощью Scala/Spark и Hadoop Cloudera.

Выпускник СПбГУ ПM-ПУ по специальности "Прикладная математика и физика".

Проекты: - автоматизация документооборота для скандинавских стран в составе команды Aditro (10-15 человек); - автоматизация метеорадарной станции (программно-аппаратный комплекс управления метеорадаром MRL5) для активного воздействия на погоду (Болгария- Аргентина) (20 человек); - различные проекты от стартапов до крупных химических предприятий (Eurofins) в Германии с составом команды от 3 до 50 человек. Текущий проект: обработка сверхбольших данных DSL-метрик и прогнозирование потенциальных проблем на линиях связи в Deutsche Telekom. Преподаватель

Образовательная организация

Otus.ru - высокотехнологический стартап в области образования. Наша миссия - делать образование осмысленным, реализуя связь между работодателями, специалистами и преподавателями. Приходите к нам учиться!

OTUS сегодня – это более 80 авторских курсов для IT-специалистов из разных направлений таких как программирование, тестирование, инфраструктура, информационная безопасность, управление и Data Science. И что важно, у нас есть программы для разных уровней подготовки от новичков до профессионалов, которые хотят освоить продвинутые навыки.
Наша миссия — делать обучение осмысленным, реализуя взаимосвязь между ожиданиями работодателей, компетенциями специалистов и возможностями преподавателей.

Программа курса

Cинтаксические конструкции Scala, асинхронность

В данном модуле будут рассмотрены следующие темы: - Введение в Scala - Основные языковые конструкции, синтаксис - Знакомство с функциональными особенностями языка Scala - Библиотека коллекций - Асинхронность силами стандартной библиотеки (Scala Future)

Тема 1: Обзор языковых конструкций. Интерфейсы, классы, методы

Тема 2: Обзор языковых конструкций. Интерфейсы, классы, методы. Часть 2

Тема 3: Функциональные конструкции языка scala

Тема 4: Алгебраические типы данных и сопоставление с образцом

Тема 5: Библиотека коллекций

Тема 6: Библиотека коллекций. Часть 2

Тема 7: Асинхронные операции, обработка исключений, неявные параметры

Тема 8: Асинхронные операции, обработка исключений, неявные параметры. Часть 2


Advanced Scala concepts, знакомство с концепциями функционального программирования

В данном модуле будут рассмотрены следующие темы: - Продвинутые возможности языка Scala - Типы высшего порядка - Scala implicits и type class паттерн - Начинаем знакомство с FP экосистемой Scala на примере библиотеки cats - Рассматрим основные структуры данных и type classes

Тема 1: Higher kind types, implicits, type classes. Часть 1

Тема 2: Higher kind types, implicits, type classes. Часть 2

Тема 3: Обзор нового синтаксиса Scala 3

Тема 4: Абстрагирования контекстной информации в Scala 3

Тема 5: Сats core, data types and type classes


Функциональное программирование и эффекты в Scala. Подробное знакомство с ZIO и Cats effect

В данном модуле будут рассмотрены следующие темы: - Функциональное программирование на Scala с «эффектами» - Введем понятие функционального эффекта - Познакомимся с принципами функционального дизайна для некой предметной области - Рассмотрим такие библиотеки, как ZIO и Cats effect.

Тема 1: Введение в функциональные эффекты

Тема 2: ZIO эффект, конструкторы, базовые операции

Тема 3: ZIO модель ошибок

Тема 4: ZIO асинхронность и паралеллизм

Тема 5: ZIO работа с ресурсами

Тема 6: ZIO Environment и его место в DI

Тема 7: ZIO ZLayer, ZIO сервисы, тестирование ZIO программ

Тема 8: ZIO дополнительные типы данных

Тема 9: Cats effects: ведение, основные типы данных

Тема 10: Cats effects: работа с ресурсами

Тема 11: Cats effects: конкурентность


Scala библиотеки fs2 и http4s. Работа с БД

В данном модуле будут рассмотрены следующие темы: - Популярные библиотеки из FP экосистемы Scala - Web + Доступ к БД - Функциональные стримы на примере FS2 - Работа с http с помощью http4s - Реализация взаимодействия с БД JDBC, Scalike, Slick

Тема 1: Функциональные стримы на примере fs2

Тема 2: Введение в http4s + DSL

Тема 3: http4s middleware + аутентификация

Тема 4: http4s стриминг + работа с JSON

Тема 5: Доступ к БД


Akka и CQRS/ES с использованием Akka

В данном модуле будут рассмотрены следующие темы: - Модель акторов и ее реализация на Scala - Библиотека Akka - Событийные архитектуры - Паттерн с разделения команд и запросов (CQRS)

Тема 1: Акка

Тема 2: Akka акторы

Тема 3: Обработка потоков данных

Тема 4: Событие как основной тип данных в системе

Тема 5: Разделение команд и запросов

Тема 6: Query часть CQRS

Тема 7: ES в кластере


Проектная работа

Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.

Тема 1: Выбор темы и организация проектной работы

Тема 2: Защита проектных работ

Рейтинг курса

4.6
рейтинг
0
0
0
0
0

Может быть интересно

обновлено 21.02.2024 07:47
Scala-разработчик

Scala-разработчик

Оставить отзыв
Поделиться курсом с друзьями