Курс Scala
З 18:30 (19:00)
Двічі на тиждень
Опис курсу:
Мета курсу — навчити студентів програмуванню на мові Scala. Курс призначений для тих, хто вже володіє основами розробки на Java, або іншою ОО мовою програмування.
—
В ході уроків ви навчитеся розробці, тестуванню та налагодженню додатків на Scala, познайомитеся як з функціональними, так і з об'єктно-орієнтованими конструкціями мови. Ви отримаєте знання, необхідні для вивчення таких популярних продуктів, як Spark, Akka, Play Framework і Cats.
Після вивчення курсу Ви зможете:
- Використовувати об'єктно-орієнтовані і функціональні конструкції мови Scala 2.13
- Розробляти і проводити налагодження 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)
- Розуміння ООП
Лектори:
Курс Scala програмування у Львові
* Примітка: зазначені знижки не сумуються з іншими діючими акціями та спеціальними пропозиціями. Знижка застосовується тільки до нових заявок та при умові повної оплати курсу. Якщо у Вас виникли питання, звертайтеся за консультацією до наших менеджерів!