Сейчас ищут:

Продажа [Thinknetica] Dry-rb: что, зачем и как. Тариф Слушатель (Антон Давыдов)

  • Внимание!

    В данном разделе находятся курсы которые продаются за отдельную плату (контакты для покупки указаны внизу каждой темы).

    Премиум на такие темы не распространяется.

Admin

Команда форума
Администратор
Регистрация
15 Дек 2021
Сообщения
222,929
Реакции
1,259
Баллы
113
wwk3seb-png.162892


Программа воркшопа:

1 неделя
3 вебинара
Практические задания
Общение с автором и ответы на вопросы

День 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.
Узнаете, какие виды валидации могут быть и как написать валидатор для любой схемы данных.
Узнаете, что есть в руби разработке вне RoR, благодаря чему сможете разобраться не только в hanami, но и в фреймворках на других языках (подходы используются в питоне, джаве, жс и других экосистемах)
Познакомитесь с использованием монады

Требования к участникам:

Опыт разработки на Ruby от года. Важно знать базовые вещи связанные с веб разработкой, такие как MVC, умение делать запросы в базу и писать минимальные тесты.
Профиль на GitHub
Базовые навыки работы с командной строкой и git
Желание разобраться в подходах, отличных от rails way

👉 По поводу приобретения курса пишите в telegram - @SamFather_bot или на почту [email protected]
 

Вложения

  • WwK3SEb.png
    WwK3SEb.png
    126 KB · Просмотры: 9

Похожие темы

Сверху Снизу
Забыли свой пароль?
или Войдите с помощью