Рельсы — офигенные! Куча бизнесов использует рельсы. Рельсы помогают разрабатывать (и зарабатывать) очень быстро, и мы за это их любим.
Но есть проблема — у проектов-долгожителей на рельсах код становится адски сложным. На воркшопе научимся рефакторить рельсопроблемы и разбираться как избегать их в будущем.
В целом не важно, чистые ли у вас рельсы, вперемешку с dry-rb или еще с чем то. Опыт показывает, что проблема не в инструменте, а в том как он используется.
-
Проанализируем из-за чего возникают проблемы с ростом кодовой базы
-
Вы своими руками построите архитектуру, которая позволит писать простой код даже при росте размера приложения
-
Разберем кейсы из жизни:
- «Сallback hell»
- «Комбинаторный взрыв» кол-ва состояний системы
- Засилие условных и кастомных валидаций
- Опасные консерны
Разработчик с 16-летним опытом работы (14 на Ruby on Rails), преподаватель на Хорошем программисте, автор руководства по современному Make, создатель курса по GitLab CI.
Выступал на RubyRussia, RubyConf, Euruko, SECON, RubyC и многих других международных конференциях.
В прошлом соучредитель агенства 7bits, со-организатор конференций HappyDev, работал в Гитлабе, писал код для компаний Roomorama, Groopt, Bioproximity, Fieldwork и еще десятка других.

- Три типа валидаций. Где какую использовать и как реализовывать в коде
- Application logic vs business logic. Применение принципа на практике
- По какому принципу стоит наруливать абстракции в рельсах, и как не нарулить бессмысленных абстракций
- Про универсальную замену колбэков
- Чему место в моделях, а чему нет, и почему
- CQS и репозитории
- Как организовывать сервисный слой оптимально с учетом идей DDD и принципа Single Layer Abstraction
- Как делить код на типовые слои и как вводить дополнительные
- Будете знать где подстелить соломки в следующий раз когда придется писать на рельсах с нуля
- Будете знать как нарулить простую масштабируемую архитектуру не воюя при этом против Rails
- Сможете спокойно в одного отрефакторить небольшое приложение на 50 моделей/контроллеров в обозримый срок
- Научитесь смотреть на происходящее в коде с разных сторон
- Научитесь не только отличать хороший код от плохого, но и будете знать как написать хороший самостоятельно
- Будете понимать почему именно хороший код хорош. Научитесь аргументированно отстаивать свою точку зрения
- На типовых задачах будете в среднем в 1.5-2 раза эффективней
- Cможете привести в порядок, например, такой код:

Самое главное, будет понятно как не допускать подобного.
- 24 июля, пятница:
- 19:00 мск (1.5 часа) — предварительный созвон: парад типичных рельсопроблем, настройка окружения, задачка для разогрева.
- 25 июля, суббота:
- 11:00 мск (2.5 часа) — разбор кейсов, теория, домашка
- 14:00 мск — самостоятельная работа с обсуждением в чате
- 18:30 мск (1.5 часа) — разбор домашек, ответы на вопросы
- По необходимости организуем дополнительный созвон в воскресенье
- доступ к трем созвонам
- видеозаписи созвонов + слайды с теорией
- фидбэк по двум домашкам
- поддержку в течение недели после воркшопа
- подборку дополнительных материалов
- доступ в чат Painless Rails Lab
- доступ ко всем следующим версиям этого воркшопа