План на курса

Въведение

    Кой използва Scala? Разработване на широкомащабни, чисто функционални програми

Преглед на функционалното програмиране в Scala

    Функции от по-висок ред Комбинатори Полиморфни функции

Усвояване на Scala вида

    Типове продукти и типове суми Супертипове и подтипове Универсали и екзистенциали Типове от по-висок род Тип Ламбда

Овладяване на Scala типови класове

    Класове и екземпляри Трикове с имплицитни полиморфни ограничения

Казус от практиката: Програми с високо ниво на състояние със сложни външни системи

Упражнение по кодиране

Работа с данни

    Катаморфизми на неизменни данни и рекурсия и схеми за рекурсия на данни с фиксирана точка за кодиране на църква

Разширено съвпадение на шаблони в Scala

    Дълбоко съответствие Използване на екстрактори

Казус от практиката: Scala и Big Data

Упражнение по кодиране

Използване на функционални модели

    Опции, Eithers & Validations Полугрупи и моноиди Functors Приложни Монади Foldables & Traversables Лещи

Работа с ефекти

    IO State Reader Комбиниращи ефекти

Казус

    TBD

Упражнение по кодиране

Функционална архитектура

    Модерна архитектура за FP Reified Computation & Deferred Evaluation Композиционни оценители Техники за оптимизация Чисто функционално подигравка

Библиотеки и DSL

    Персонализирани контролни структури с параметри по име Изграждане на добре проектирани библиотеки и вътрешни DSL

Функционална обработка на изключения

    Традиционна обработка на изключения Функционална обработка на изключения Използване на Опитайте с For comprehensions

Окончателно упражнение по кодиране и оценка

Заключителни бележки

Изисквания

  • Практически опит в Scala програмирането
  • Познаване на съвпадението на модели и черти

Публика

  • Scala програмисти, които искат да научат по-усъвършенстваните и нюансирани функции на Scala
 14 Часа

Брой участници


Цена за участник

Предстоящи Курсове

Свързани Kатегории