Курс находится на модерации. Данные могут быть неактуальны.
Сложность
Сложность
Продвинутый
Тип обучения
Тип обучения
Курс
Формат обучения
Формат обучения
С проверкой домашнего задания
Трудоустройство
Трудоустройство
Отсутствует

Стоимость курса

4 900 ₽
нет рассрочки

Формат

3 вебинара длительностью 2 ч

Практика
Часть практики вы будете делать прямо на занятии, а часть – самостоятельно после вебинара.

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

Результат

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

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

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

Что вы получите после обучения

Приобретаемые навыки
1
Dry-rb
2
Пишем бизнес логику
3
Railway
4
Добиваем транспортный и персистенс слои

Вас будут обучать

Solution Architect, бывший dry-rb/hanami core developer

Люблю распределенные системы, разбираться с системами, а по ночам собирать фабрики.
Ex опенсорс энтузиаст, мои коммиты можно найти во многих руби репозиториях.
Работаю как независимый консультант с разными компаниями.
Помогаю с экстракцией сервисов, а также с анализом и хайлевел архитектурой систем.

Образовательная организация

Онлайн-школа обучения разработке для студентов уже имеющих базовые знания программирования.

9 лет Онлайн-школа Thinknetica существует с 2013 года
2000+ Студентов прошли наши курсы и вышли на работу.
18 профессиональных разработчиков участвуют в создании и поддержке курсов
9 из 10 выпускников рекомендуют наши курсы

Программа курса

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 экосистемы.

Обсудим, дальнейшие шаги для развития или для использования готовой болванки.

Рейтинг курса

3
рейтинг
0
0
0
0
0

Может быть интересно

обновлено 18.04.2024 09:49
Dry-rb: что, зачем и как

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

Оставить отзыв
Поделиться курсом с друзьями