Доступно

Dry-rb: что, зачем и как [Thinknetica]

Тема в разделе "Курсы по программированию", создана пользователем Mranthok, 8 авг 2022.

Цена: 3900р.-79%
Взнос: 790р.
100%

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

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

Статус обсуждения:
Комментирование ограничено.
  1. 8 авг 2022
    #1
    Mranthok
    Mranthok ЧКЧлен клуба

    Dry-rb: что, зачем и как [Thinknetica]

    Объектно-ориентированный дизайн в Ruby | Безопасность приложений на Ruby on Rails | Подготовка к собеседованию на Ruby/Rails-разработчика | Автоматизация тестирования на Ruby | Деплой Ruby on Rails приложений с помощью Docker Swarm и MRSK

    [​IMG]
    День 1. Зависимости, DI, IoC containers. Собираем каркас проекта.
    • Для начала придется разобраться в зависимостях в коде, т.е. в любых библиотеках, классах, модулях, функциях и прочем, что используется в основном юните.
    • Разберемся в двух способах отслеживания зависимостях: Dependency Injection и базовом. Посмотрим как DI помогает в написании юнит и интеграционных тестов.
    • Чтобы не увеличивать сложность - разберемся с IoC-контейнерами, реализацией которого является dry-container.
    • Для менеджмента загрузки рассмотрим dry-system. В конце рассмотрим базовый проект, который позволит добавлять любые слои в систему.
    В результате вы сможете:

    Разобраться, что такое dry-rb в целом и что такое Layered architecture style и какие проблемы он решает. А также разобраться как помогает DI и контейнеры в создании структуры приложений. После, напишем свое первое приложение используя dry-system.

    День 2. Пишем бизнес логику. Railway, result objects и валидации.
    • Для работы с бизнес логикой мы рассмотрим railway паттерн, который позволяет соединять технические шаги бизнес процесса в цепочку, в которой каждый шаг может завершить весь процесс.
    • Для того, чтобы railway заработал - мы возьмем DO-notations из dry-monads как способ реализации паттерна. Обсудим как и для чего использовать монады.
    • А чтобы быть уверенным, что схема данных, с которой мы работаем и которую пишем в базу валидна - воспользуемся dry-schema и dry-validation.
    В результате вы сможете:

    Научиться использовать railway подход для описания бизнес логики. Разберетесь зачем нужны монады как result objects и как валидировать данные и бизнес логику.

    День 3. Добиваем транспортный и персистенс слои. Разбираемся с остальными dry-rb библиотеками.
    • Рассмотрим способы добавления различных транспортов (http, rabbit, kafka) и persistence-библиотек (rom, sequel, etc) и дополним наш проект.
    • Кратко рассмотрим оставшиеся dry библиотеки и поговорим где их использовать. А также при чем тут функциональные объекты.
    • Обсудим, что дальше можно делать со структурой болванки и как ее изменять. Что добавлять, что убирать, как выйти к slice и hexagonal структуре.
    В результате:
    • Соберем систему в единый кусок.
    • Рассмотрим как добавить любой вид транспорта и персистенс слой.
    • Рассмотрим оставшиеся библиотеки из dry-rb экосистемы.
    • Обсудим, дальнейшие шаги для развития или для использования готовой болванки.

    Результат

    • Разберетесь, зачем нужен dependency injection, как он помогает в поддерживаемости, тестируемости и модульности приложений.
    • Поймете, при чем тут Inversion of Control (IoC)-контейнеры и какие варианты анализа, на основе зависимостей в контейнерах, можно использовать
    • Познакомитесь с паттерном railway (не путать с rails way) и узнаете, как этот подход помогает в написании бизнес логики, которая может зафейлиться на любом из шагов.
    • Какие виды валидации могут быть и как написать валидатор для любой схемы данных.
    • Создадите простой каркас сервиса, в котором можно использовать любые библиотеки для транспорта (как для консьюминга, так и для http/rpc вызовов) и любые библиотеки для персистенса, не только AR или rom.
    • Узнаете, какие виды валидации могут быть и как написать валидатор для любой схемы данных.
    • Познакомитесь с использованием монады
    Скрытая ссылка
     
    Последнее редактирование модератором: 29 апр 2023
  2. Последние события

    1. skladchik.com
      Складчина доступна.
      5 сен 2022
    2. Risska7
      Risska7 участвует.
      5 сен 2022
    3. kachaloff
      kachaloff участвует.
      3 сен 2022
    4. qsdejbg
      qsdejbg участвует.
      2 сен 2022

    Последние важные события

    1. skladchik.com
      Складчина доступна.
      5 сен 2022
    2. skladchik.com
      Взнос составляет 395р.
      1 сен 2022
    3. skladchik.com
      Складчина активна.
      1 сен 2022
    4. skladchik.com
      Сбор взносов начинается 01.09.2022.
      30 авг 2022
Статус обсуждения:
Комментирование ограничено.

Поделиться этой страницей