spinner-it

Курс Scala

Старт навчання
Старт курсу запитуйте в адміністрації
42 год. по 2-3 рази на тиждень

Опис курсу

Мета курсу — навчити студентів програмуванню на мові 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)
  • Розуміння ООП

* Примітка: зазначені знижки не сумуються з іншими діючими акціями та спеціальними пропозиціями. Знижка застосовується тільки до нових заявок та при умові повної оплати курсу. Якщо у Вас виникли питання, звертайтеся за консультацією до наших менеджерів!