Выбери свою IT специальность
Начать бесплатноКомбинируя в себе возможности объектно-ориентированной и функциональной парадигм программирования, Scala предоставляет множество возможностей для разработчика. Функциональный подход позволяет писать код с высоким уровнем абстракции. Более лаконичный и читаемый в записи код, а также в ряде случаев более быстрое его выполнение, позволяют существенно разнообразить инструментарий разработчика.
Курс Scala Advanced позволит вам глубже погрузиться в функциональную часть языка Scala. При прохождении курса вы познакомитесь с практическими аспектами применения каррирования, частично определённых функций, параметризированных и дополнительных типов, экстракторов и других особенностей языка. Главное – вы научитесь вести разработку в функциональном стиле, совмещая возможности ООП и функционального подхода.
Владение языком Scala на уровне курсов "Scala Стартовый" и "Scala Базовый".
×
Вы действительно хотите открыть доступ к тестированию по курсу Scala Углубленный на 40 дней?
Рассмотреть функции высшего порядка, а именно процесс карринга функций, абстракции управляющих конструкций, частично определённые функции (partial function). Научиться создавать partial function, узнать для чего и как использовать такие функции.
Рассмотреть механизм сопоставления с образцом в языке Scala. Изучить сопоставление с типами, массивами, списками, кортежами, case-классами, вложенными структурами.
Изучить обобщённые классы и функции. Рассмотреть границы изменения типов, представления и контекста. Рассмотреть ко- и контравариантные позиции.
Рассмотреть все типы, которые может предложить язык Scala, в том числе специализированные. Изучить типы-одиночки, проекции типов, цепочки, составные, инфиксные, экзистенциальные, абстрактные типы и типы высшего порядка.
Научиться использовать неявные преобразования для расширения возможностей существующих классов. Рассмотреть границы контекста и неявный параметр подтверждения.
Рассмотреть абстрактные элементы. Научиться использовать абстрактные элементы с помощью практического примера.
Узнать, что такое экстракторы, для чего они используются. Рассмотреть шаблоны без переменных и с одной переменной, экстракторы переменного количества аргументов, последовательностей. Сравнить экстракторы и case-классы.
Раскрыть понятие и назначение Future в языке Scala. Рассмотреть основные методы работы с Future, такие как преобразование, создание, фильтрация, обработка исключительных ситуаций и другие.
Научиться применять полученные знания о языке Scala для разработки в функциональном стиле. Ознакомиться с разными функциональными приёмами, такими как обработка ошибок без использования Exception, использование чисто функционального состояния и чисто функционального параллелизма. Рассмотреть такие свойства как strictness и laziness, а также функциональные структуры данных.
Изучить моноиды и монады. Рассмотреть применение моноидов, их композицию, определение монады, её применение и законы.
Изучить функторы. Рассмотреть разницу между монадой и аппликативным функтором. Изучить Applicative трейт, правила аппликатива, функторы Traversable.
Понять назначение тестирования программного обеспечения. Рассмотреть разные виды тестирования. Научиться писать юнит-тесты с помощью фреймворка ScalaTest.
Отправить код еще раз
Изменить номер телефона
Отправить код еще раз
Изменить email