Scala programming
Описание курса
Цель курса – научить студентов программированию на языке Scala. Курс предназначен для тех, кто уже владеет основами разработки на Java (или на другом языке) и понимает принципы ООП.
В ходе уроков вы научитесь разработке, отладке и настройке приложений на Scala, познакомитесь как с функциональными, так и с объектно-ориентированными конструкциями языка. Вы получите знания, необходимые для изучения таких популярных фреймворков, как Spark, Play Framework, Akka и углубиться в работу с Big Data и веб-разработкой.
После курса вы сможете:
- Использовать функциональные и объектно-ориентированные конструкции языка Scala
- Разрабатывать и проводить отладку Scala-приложений
- Собирать Scala-проекты с помощью SBT
- Тестировать написанный код
- Начать изучение фреймворков: Spark, Play Framework, Akka и др.
Программа курса:
- 1. Общая характеристика Scala
- История языка
- Байт-код
- Виртуальная машина (JVM)
- Поиск и загрузка классов
- Создание и запуск приложения на Scala
- Использование IDE для создания и выполнения Scala-программ
- 2. Чтение-вычисление-вывод/REPL — read-eval-print loop
- Особенности реализации
- Основные функции
- Power-мод
- 3. Переменные в Scala
- Values
- Variables
- 4. Операторы
- Типы операторов
- Создание и использование
- Порядок очередности
- 5. Строки
- Создание строк и работа с ними
- Интерполяция
- “s” интерполятор
- “f” интерполятор
- “raw” интерполятор
- 6. Типы данных
- Иерархия типов
- Type inference
- Типы Any, AnyVal, AnyRef
- Тип Nothing
- Scala Null
- 7. Функции и методы
- Функция и метод
- Side effect, pure functions
- Рекурсия
- Функции высшего порядка (Higher-order functions)
- Анонимные функции
- Частичные функции
- Частичное применение функций
- Currying
- Функциональные комбинаторы
- 8. Классы и объекты
- ООП в Scala
- Класс
- Объект
- Companion object
- Сопоставление с образцом (Pattern matching)
- Сопоставление с образцом: литералы
- Сопоставление с образцом: классы
- Сопоставление с образцом: коллекции
- Запечатанные (Sealed) классы
- Кейс класс
- Кейс объект
- Вложенный класс
- Trait
- Примеси и множественное наследование
- Обобщения
- 9. Валидация
- 10. Package & package
- 11. Монады в Scala
- Определение монады
- Монады в коллекциях
- Монада “Option”, класс “Some” и объект “None”
- For-comprehension
- 12. Обработка исключений
- Как работают исключения в Scala
- Иерархия исключений
- Способы обработки исключений
- 13. Массивы
- Создание и использование массивов
- Одномерные массивы
- Многомерные массивы
- Операции над массивами
- 14. Коллекции
- Иерархия коллекций
- Кортежи (Tuple)
- Списки (List)
- Коллекции неповторяющихся элементов (Set)
- Последовательности упорядоченных элементов (Seq)
- Карты (Map)
- Объект Nil
- Обход коллекций, операции над коллекциями
- Сравнение производительности коллекций
- 15. Implicits
- Неявные параметры
- Неявные преобразования
- Неявные классы
- Type classes
- 16. Future
- Определение, создание и использование
- Callbacks
- Projections
- Promises
- 17. SBT (Scala Build Tool)
- 18. Testing
Минимальные требования:
- Знания Java Core (Базовый курс Java)
- Понимание ООП
* Указанные скидки не суммируются с другими действующими акциями и специальными предложениями. Если у Вас возникли вопросы, обращайтесь за консультацией к нашим менеджерам!