Що нового?

Придбаний [LevelUP] Курс Scala Developer

Інформація про покупку
Тип покупки: Складчина
Ціна: 14647 ГРН
Учасників: 0 з 9
Організатор: Відсутній
Статус: Набір учасників
Внесок: 1692.5 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор
[LevelUP] Курс Scala Developer



Язык программирования Scala — мультипарадигмальный язык программирования, спроектированный кратким и типобезопасным для простого и быстрого создания компонентного программного обеспечения, сочетающий возможности функционального и объектно-ориентированного программирования.

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

Требования к участникам:
  • Знание Java или другого с-подобного языка на уровне написания несложных приложений
  • Желателен опыт коммерческой разработки
Занятие 1. Введение. Экосистема
  • Часть 1. Экосистема JVM
    • JVM как открытая платформа
    • Обзор экосистемы
    • Крупные проекты, связанные со Scala
    • Примеры кода в сравнении с Java8
    • Инструментарий разработчика
  • Часть 2. Введение в Scala
    • REPL: read/evaluate/print/loop
    • Сборка проекта. maven. sbt. IDE.
    • "Hello, world"
    • Приложения с использованием Java API: GUI, java.net
    • Базовое Scala API. Обращение к веб-сервису, подсчет вхождений заданного слова в ответе.
Занятие 2. Scala. Функциональная и ОО парадигмы
  • Часть 1. Scala как язык функционального программирования
    • Функции без побочных эффектов
    • Рекурсия
    • Функция как объект первого класса
    • Работа с коллекциями в функциональном стиле: filter/map/reduce
    • Примеры реализации базовых алгоритмов в функциональном стиле
  • Часть 2. Scala как сочетание функциональной и объектно-ориентированной парадигм
    • Особые коллекции: Option, Either, Try, Future
    • Синглтоны
    • Трейты
    • Case-классы
    • Сопоставление с образцом
Занятие 3. Scala в проекте. Тестовый проект
  • Часть 1. Scala в высоко-нагруженных системах
    • Ленивые переменные и параметры
    • Ленивые коллекции
    • Асинхронность
  • Часть 2. Тестовый проект. Бекенд аггрегатора блогов и новостей
    • Общее описание
    • Выделение задач реального времени и фоновых
    • Разбиение на микросервисы
    • Структура данных
    • Кеширование
    • Раcпределение подзадач участникам
Занятие 4. Akka-фреймворк
  • Часть 1. Akka. Введение
    • Простое приложение на акторах
    • Акторы. Очереди сообщений
    • Супервизоры
    • Таймеры
    • Примеры программирования
  • Часть 2. Фреймворки
    • Persistense
    • Кластеры
    • Распределенная система акторов
    • Шаблоны
Занятие 5. Работа с данными
  • Часть 1. Неявные переменные, шаблон "pimp my library"
    • Неявные переменные
    • Неявные преобразования
    • Расширение чужих классов
    • Практика программирования
  • Часть 2. Работа с данными
    • Работа с xml
    • Библиотека Json4s
    • Библиотека spray-json
Занятие 6. Дополнительные инструменты. DSL
  • Часть 1. Средства разработчика. Инструменты тестирования
    • sbt
    • Scalacheck
    • Scalatest
    • Scalamock
  • Часть 2. Domain specific languages
    • Что такое DSL и зачем они нужны
    • DSL как расширение синтаксиса Scala
    • DSL как независимый язык
Занятие 7. Под капотом. Взаимодействие с Java.
  • Часть 1. Под капотом
    • Реализация сопоставления с образцом
    • Реализация функций как объектов первого класса
    • Реализация значений, обычных переменных и ленивых переменных
    • Реализация синглтонов
    • Реализация коллекций
  • Часть 2. Взаимодействие с Java-библиотеками
    • Примеры использования Java-библиотек
    • Преобразование коллекций
    • Особенности создания смешанной иерархии классов Scala и Java
    • Особенности работы со Spring
Занятие 8. Spray и Akka-http
  • Часть 1. Spray и akka-http. Клиенты
    • Пример простого клиентского приложения
    • Работа на трех уровнях: соединение, хост, запрос
    • Преобразование данных.
    • Создание конвейеров
  • Часть 2. Spray и akka-http. Серверы
    • Пример простого сервера
    • DSL для обработки запросов
    • Директивы
    • Тестирование серверного приложения
Занятие 9. Работа с БД. Система типов
  • Часть 1. Система типов
    • Рефлексия, манифесты
    • Параметризация типов.
    • Ковариантность, контравриантность
    • Структурные типы
    • Отложенные вычисления и бесконечные структуры
  • Часть 2. Работа с базами данных
    • Простое приложение на основе slick
    • Простое приложение на scalikejdbc
    • Добавление и изменение данных
    • Чтение данных
    • Транзакции
Занятие 10. Веб-приложения. Другие применения Scala
  • Часть 1. Web-приложения
    • Разработка простого сайта на Play Framework
    • Обработка HTML-форм
    • Кеширование ответов
    • Простой сайт на Lift
    • Карта сайта
    • Сеансы
  • Часть 2. Другие примеры применения
    • shapeless
    • cats
    • kafka
    • spark
Продажник:
Скрытое содержимое.
http://levelp.ru/courses/programmirovanie/course-scala-developer/

Ближайший старт - 14.03.2018
 
Угорі