Открыто

[LevelUP] Курс Scala Developer

Тема в разделе "Курсы по программированию", создана пользователем mrSong, 4 фев 2018.

Основной список: 5 участников

Резервный список: 6 участников

  1. 4 фев 2018
    #1
    mrSong
    mrSong ДолжникДолжник

    Складчина: [LevelUP] Курс Scala Developer

    Screenshot from 2018-02-04 17-39-46.png

    Язык программирования 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

    Продажник:


    Ближайший старт - 14.03.2018
     
    1 человеку нравится это.
  2. Последние события

    1. endystark
      endystark не участвует.
      30 май 2025
    2. Wanderer2006
      Wanderer2006 не участвует.
      27 апр 2025
    3. endystark
      endystark участвует.
      8 апр 2025
    4. Toxich
      Toxich участвует.
      28 дек 2021