Язык Scala для Java-разработчиков
В данном курсе слушатели получат представление о специфике и особенностях языка Scala, его преимуществах и сложных местах. Курс включает рассмотрение операторов и типов данных Scala, изучение основных структур данных, таких как массивы, map, tuples, использование объектно-ориентированного и функционального программирования, работу с коллекциями Scala, применение pattern matching, case-классов, generic-типов и неявных преобразований. Предлагается большое количество практических упражнений.
30 ак.ч.
Онлайн
JVA-031
Язык Scala для Java-разработчиков
Записаться на курс
Длительность
30 ак.ч.
Локация
Онлайн
Код
JVA-031
Расписание и цены
46 900 руб.
* Для физических лиц действует скидка 10% Закажите корпоративное обучение с учетом ваших потребностей
Язык Scala для Java-разработчиков
Записаться на курс
Длительность
30 ак.ч.
Локация
Онлайн
Код
JVA-031
Расписание и цены
46 900 руб.
* Для физических лиц действует скидка 10% Закажите корпоративное обучение с учетом ваших потребностей

Описание

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

Слушатели получат представление о специфике и особенностях языка Scala, его преимуществах и сложных местах. 

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

Предлагается большое количество практических упражнений.

Цели

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

Целевая аудитория

  • Java-разработчики;
  • Разработчики на других современных языках программирования (C++, C#, и т.д.).

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

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

Разбираемые темы

  • 1. Введение в Scala

  • 2. Инструкции, операторы и типы

    • Условные операторы
    • Циклы
    • Функции
    • Переменные
    • Операторы
    • Тип Unit
    • Типы функций
    • Типы Null, Nothing, Any, AnyRef и AnyVal
    • Исключения
  • 3. Arrays, maps, tuples

    • Создание, добавление и удаление элементов массива
    • Доступ к элементам массива
    • Массивы фиксированной и вариативной длины
    • Многомерные массивы
    • Операции с массивами
    • Сортировка массива
    • Конструирование и доступ в ассоциативным таблицам
    • Итерирование, изменение, сортировка ассоциативных таблиц
    • Кортежи
    • Зиппирование
  • 4. Классы и наследование

    • Классы
    • Свойства с геттерами и сеттерами
    • Использование скобок при вызове методов
    • Свойства только с геттерами
    • Вспомогательные конструкторы
    • Основной конструктор
    • Вложенные классы
    • Расширение класса
    • Переопределение методов
    • Проверка и приведение типа
    • Вызов конструктора суперкласса
    • Переопределение полей
    • Анонимные подклассы
    • Абстрактные поля
    • Порядок конструирования и ранние определения
    • Иерархия наследования
    • Сравнение объектов на равенство
  • 5. Объекты

    • Синглтоны
    • Объекты-компаньоны
    • Объекты, расширяющие класс или трейт
    • Перечисления
    • Пакеты-объекты
    • Методы apply и unapply
    • Ленивые объекты
    • Объекты, использующие несколько трейтов
  • 6. Трейты

    • Трейты как интерфейсы
    • Трейты с конкретной имплементацией
    • Переопределение абстрактных методов в трейтах
    • Конкретные и абстрактные поля в трейтах
    • Порядок конструирования трейта
    • Инициализация полей трейта
    • Трейты, расширяющие классы
    • Self-типы
  • 7. Функции

    • Функции как переменные
    • Аргументы по умолчанию и именованные аргументы
    • Функции без возвращаемого значения
    • Анонимные функции
    • Функции с параметрами-функциями
    • Замыкания
    • Функциональные интерфейсы
    • Каррирование
    • Передача функции как параметра в виде блока кода
    • Использование return
  • 8. Коллекции

    • Трейты коллекций в Скала: Map, Set и Seq
    • Изменяемые и неизменяемые коллекции
    • Последовательности
    • Списки
    • Изменяемые списки
    • Множества
    • Операторы для работы с коллекциями
    • Стандартные методы работы с коллекциями
    • Использование функций map, reduce, fold и scan
    • Зиппирование
    • Итераторы
    • Потоки данных
    • Потокобезопасные коллекции
    • Параллельные вычисления в коллекциях
    • Взаимодействие с коллекциями Java
  • 9. Pattern matching

    • Использование паттерн матчинга
    • Переменные в паттернах
    • Паттерны-типы
    • Сравнение с массивами, списками и кортежами
    • Регурярные выражения
    • Экстракторы
    • Паттерны в определении переменных
    • Паттерны в выражениях for
  • 10. Case классы, тип Option и partial функции

    • Сase-классы
    • Метод copy и именованные параметры
    • Защищенные классы
    • Тип Option
    • Частично определенные функции
  • 11. Generics

    • Дженерик-классы
    • Дженерик-функции
    • Ограничения типов, вариативные типы +T, -T
    • Использование _ вместо типа
  • 12. Неявные преобразования

    • Ключевое слово implicit для определения неявного приведения типа
    • Импортирование и использование неявных преобразований
    • Неявные параметры
  • Развернуть программу

Примечание

Материалы курса представлены на английском языке.
Раcписание курсов
Вид:
Регистрируйтесь на следующий курс
Предварительная регистрация гарантирует участие в обучении. Мы обязательно оповестим вас, когда курс будет запланирован
+
Отзывы (3)
Этот курс мотивировал меня к дальнейшему изучению Scala, особенно потому, что скомпилированный код работает на JVM. Понравилось, что весь материал был понятен и доступен, включая симулятор Scala, интересные домашние задания, которые помогали закрепить материал. Очень неплохо, если вы хотите изучить такую глобальную тему за небольшое время.
Участник тренинга
Все супер! Многое стало на свои места. Очень понравилась полезная практика, детальный разбор каждого момента презентации, ответы на вопросы и отличные примеры. Самыми интересными уроками для меня были занятия по Scala, Akka, Spark и JVA-074. Спасибо за курс!
Участник тренинга
Это было действительно крутое обучение для новичков в Scala. Полезным было все, особенно тренер был очень хорош и классно объяснял все концепции. Его примеры и подача материала произвели впечатление, что перед тобой компетентный специалист! Очень хорошо продуманы упражнения, за них отдельное спасибо.
Участник тренинга
Показать все отзывы
Рекомендуемые дополнительные материалы, источники
http://www.scala-lang.org/documentation
http://www.scala-lang.org/documentation/">http://www.scala-lang.org/documentation/
Horstmann C.Scala for the Impatient. 2012.
Ваши преимущества
Экспертность
Тренеры-эксперты из реальных проектов крупнейших компаний, лидеров в своей отрасли
Живое обучение
“Живая” коммуникация с тренером даже в онлайн-формате
Практика
Максимально наполненные практикой занятия, работа в группах, выполнение домашних заданий
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.