О чём курс

Язык Scala в последние годы набирает популярность не только в сообществе программистов, но в enterprise-разработке. К его преимуществам относятся использование самых современных нововведений в языки программирования и обширная поддержка функционального подхода к разработке. Это дает возможность повысить эффективность разработки, и создавая очень краткий и эффективный код. Код на Scala компилируется в Java байт-код и выполняется внутри JVM, что обеспечивает отличную совместимость с существующими библиотеками и инструментами Java.

В курсе слушатели получат представление о специфике и особенностях языка Scala, его преимуществах и сложных местах. Курс включает рассмотрение операторов и типов данных Scala, изучение основных структур данных, таких как массивы, map, tuples, использование объектно-ориентированного и функционального программирования, работу с коллекциями Scala, применение pattern matching, case-классов, generic-типов и неявных преобразований. Предлагается большое количество практических упражнений.

Цели

Ознакомить разработчиков с языком программирования Scala

Предварительная подготовка

Необходимо владение современным объектно-ориентированным языком программирования, желательно Java

Для кого

Разработчик Разработчик

Программа курса

01 Введение в Scala

02 Инструкции, операторы и типы
  • Условные операторы
  • Циклы
  • Функции
  • Переменные
  • Операторы
  • Тип Unit
  • Типы функций
  • Типы Null, Nothing, Any, AnyRef и AnyVal
  • Исключения
  • 03 Arrays, maps, tuples
  • Создание, добавление и удаление элементов массива
  • Доступ к элементам массива
  • Массивы фиксированной и вариативной длины
  • Многомерные массивы
  • Операции с массивами
  • Сортировка массива
  • Конструирование и доступ в ассоциативным таблицам
  • Итерирование, изменение, сортировка ассоциативных таблиц
  • Кортежи
  • Зиппирование
  • 04 Классы и наследование
  • Классы
  • Свойства с геттерами и сеттерами
  • Использование скобок при вызове методов
  • Свойства только с геттерами
  • Вспомогательные конструкторы
  • Основной конструктор
  • Вложенные классы
  • Расширение класса
  • Переопределение методов
  • Проверка и приведение типа
  • Вызов конструктора суперкласса
  • Переопределение полей
  • Анонимные подклассы
  • Абстрактные поля
  • Порядок конструирования и ранние определения
  • Иерархия наследования
  • Сравнение объектов на равенство
  • 05 Объекты
  • Синглтоны
  • Объекты-компаньоны
  • Объекты, расширяющие класс или трейт
  • Перечисления
  • Пакеты-объекты
  • Методы apply и unapply
  • Ленивые объекты
  • Объекты, использующие несколько трейтов
  • 06 Трейты
  • Трейты как интерфейсы
  • Трейты с конкретной имплементацией
  • Переопределение абстрактных методов в трейтах
  • Конкретные и абстрактные поля в трейтах
  • Порядок конструирования трейта
  • Инициализация полей трейта
  • Трейты, расширяющие классы
  • Self-типы
  • 07 Функции
  • Функции как переменные
  • Аргументы по умолчанию и именованные аргументы
  • Функции без возвращаемого значения
  • Анонимные функции
  • Функции с параметрами-функциями
  • Замыкания
  • Функциональные интерфейсы
  • Каррирование
  • Передача функции как параметра в виде блока кода
  • Использование return
  • 08 Коллекции
  • Трейты коллекций в Скала: Map, Set и Seq
  • Изменяемые и неизменяемые коллекции
  • Последовательности
  • Списки
  • Изменяемые списки
  • Множества
  • Операторы для работы с коллекциями
  • Стандартные методы работы с коллекциями
  • Использование функций map, reduce, fold и scan
  • Зиппирование
  • Итераторы
  • Потоки данных
  • Потокобезопасные коллекции
  • Параллельные вычисления в коллекциях
  • Взаимодействие с коллекциями Java
  • 09 Pattern matching
  • Использование паттерн матчинга
  • Переменные в паттернах
  • Паттерны-типы
  • Сравнение с массивами, списками и кортежами
  • Регурярные выражения
  • Экстракторы
  • Паттерны в определении переменных
  • Паттерны в выражениях for
  • 10 Case классы, тип Option и partial функции
  • Сase-классы
  • Метод copy и именованные параметры
  • Защищенные классы
  • Тип Option
  • Частично определенные функции
  • 11 Generics
  • Дженерик-классы
  • Дженерик-функции
  • Ограничения типов, вариативные типы +T, -T
  • Использование _ вместо типа
  • 12 Неявные преобразования
  • Ключевое слово implicit для определения неявного приведения типа
  • Импортирование и использование неявных преобразований
  • Неявные параметры
  • 49 900 ₽

    44 910 ₽ — для физ. лиц

    Записаться на курс

    49 900 ₽

    44 910 ₽ — для физ. лиц

    Записаться на курс

    Записаться на курс

    49 900 ₽

    44 910 ₽ — для физ. лиц

    Юр. лицо — 49 900 ₽
    Физ. лицо — 44 910 ₽
    Открытая дата

    Наши ученики работают в:

    Наши клиенты

    Mail.ru
    Альфа-Банк, банковская группа
    Лаборатория Касперского
    Магнит, розничная сеть
    Спортмастер, сеть спортивных магазинов
    ПСБ
    Сбертех
    Дзен
    IT One
    Ростелеком
    Мегафон
    Nexign
    Ozon
    Декатлон
    X5 Group
    Технониколь
    Росатом
    Газпром
    Нлмк
    ВСК
    Синимекс

    Не нашли, что искали? — Просто напишите, и мы поможем

    Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог
    Пользователь только что записался на курс ""
    Спасибо!
    Форма отправлена успешно.