Курс Scala в Киеве
Курс Scala
Описание курса
Цель курса — научить студентов программировать на языке Scala. Курс предназначен для тех, кто уже владеет основами разработки на Java, или другим ОО языком программирования.
—
В ходе уроков вы научитесь разрабатывать, тестировать и отлаживать программы на Scala, познакомитесь как с функциональным, так и с объектно-ориентированными конструкциями языка. Вы получите знания, необходимые для изучения таких популярных продуктов, как Spark, Akka, Play Framework и Cats.
После курса вы сможете:
- Использовать объектно-ориентированные и функциональные конструкции языка Scala
- Разрабатывать и отлаживать Scala-приложения
- Тестировать написанный код с помощью Scalatest
- Собирать Scala проекты с помощью SBT
- Начать изучение фреймворков: Spark, Akka, Play Framework, Cats и т.д.
Программа курса:
1. Общая характеристика Scala
- История языка и связь с Java
- Использование REPL
- Запуск Scala-программ из командной строки
- Использование IntelliJ IDEA + SBT для создания Scala-программ
2. Переменные и значения в Scala
- Variables
- Values
- Lazy values
3. Операторы
- Типы операторов
- Создание и использование
- Порядок очередности
4. Строки (Strings)
- Создание строк и работа с ними
- Интерполяция
- "s" интерполятор
- "f" интерполятор
- "raw" интерполятор
5. Типы данных
- Вывод типов
- Иерархия типов
- Типы Any, AnyVal, AnyRef
- Типы значений (Value types)
- Тип Nothing
- Scala Null
6. Классы и объекты
- ООП в Scala
- Класс
- Объект
- Объект компаньйон
- Trait
- Примеси и множественное наследование, правило линералиации
- Вложенный класс
- Package object
- Enums
7. Обобщения
- Синтаксис
- Ковариантность, контравиантность, инвариантность
- Upper/lower type bounds
- Ключове слово type
- F[_]
8. ADT & сопоставление с образцом (Pattern matching)
- Кортежи (Tuples)
- Кейс классы
- Запечатанные (Sealed) классы
- Кейс объекты
- Сопоставление с образцом
9. Обработка ошибок
- Как работают исключения в Scala
- Иерархия исключений
- Способы обработки исключений
- Функциональный стиль: Option, Either, Try
10. Функции и методы
- Рекурсия
- Side effect, pure functions
- Функции высшего порядка (Higher-order functions)
- Анонимные функции
- Частичные функции
- Частичное применение функции
- Currying
- Функциональные комбинаторы
11. Массивы
- Создание и использование массивов
- Одномерные массивы
- Многомерные массивы
- Операции над массивами
12. Структуры данных
- Иерархия коллекций
- Списки (Seq, List, Nil, Vector)
- Набор (Set)
- Ассоциативный массив (Map)
- Операции над коллекциями
- Сравнение эффективности массивов
13. Монады в Scala
- Определение монады
- Примеры монад
- For-comprehension
14. Implicits
- Неявные параметры
- Неявные преобразования
- Неявные классы
- Type classes
15. Асинхронный код
- Использование Future и ExecutionContext
- Callbacks
- Projections
- Promises
16. SBT (Scala Build Tool)
- Иерархия файлов
- Использование библиотек
- Использование плагинов
- Разделение кода на модули
- Компиляция и запуск
Минимальные требования:
- Знание основ программирования на любом популярном языке (Java, C#, Python)
- Понимание ООП
* Примечание: указанные скидки не суммируются с другими действующими акциями и специальными предложениями. Скидка применяется только к новым заявкам и при условии полной оплаты. Если у Вас возникли вопросы, обращайтесь за консультацией к нашим менеджерам!