Разработка на Ruby on Rails

Программисты, руководители разработки и технические директоры проектов на Ruby on Rails постоянно сталкиваются с двумя вопросами:

  • как уменьшить количество ошибок, ускорить разработку и улучшить качество кода;
  • как технически развивать себя, команду, проект и продукт.

Текущие задачи не оставляют времени на изучение того, как стать лучше. Характер проекта и отсутствие сильного наставника также могут не способствовать профессиональному росту.

Курс‑интенсив от Злых марсиан позволит быстро прокачаться за несколько дней и уже сразу после завершения начать применять полученные знания на практике:

  • определять, что не так с приложением и как это исправить;
  • организовывать работу с кодом;
  • готовить приложение к высоким нагрузкам и решать возникающие при них проблемы;
  • оптимизировать и автоматизировать фронтенд;
  • применять новые инструменты и технологии.

В этом году курс состоит из двух частей.

С субботы по понедельник пройдёт основная часть, посвященная разработке бекенда Rails приложений.

В дополнительный день, во вторник, мы рассмотрим аспекты связанные с фронтенд разработкой, а также посвятим большую часть дня технологии GraphQL.

Занятия пройдут с десяти утра до семи часов вечера в субботу, воскресенье и понедельник (а также во вторник для участников дополнительного курса).

Курс будет полезен тем, кто уже работает с Rails и хочет делать это еще лучше, а также руководителям разработки, у которых не хватает времени на полноценное изучение стэка технологий и новых практик. Если вы еще только знакомитесь с Ruby on Rails, курс пока не для вас.

Расписание курса

дек
сб
2
вс
3
пн
4
2, 3 и 4 декабря
Розетка и кофе, Москва
  • Самостоятельный участник
    40 000 Р
  • Представитель компании
    50 000 Р

Инструкторы

Виктор Соколов
Виктор Соколов
Злой марсианский антикризисный тимлид. Помогал в разработке Idinaidi и eBay*. Контрибутил в CarrierWave и Hanami, написал sidekiq-grouping. В свободное от работы время учится летать на самолете.
Сергей Пономарёв
Сергей Пономарёв
Тимлид в Злых марсианах, ведёт проект Fountain. Писал API-only бэкенд тогда, когда это еще не было мейнстримом.
Владимир Дементьев
Владимир Дементьев
Математик-программист, с недавних пор обитающий на Марсе. Автор AnyCable, TestProf и Logidze, коммитер в Rubocop и Ruby on Rails. В свободное от кода время играет в мяч и музицирует.
Андрей Дерябин
Андрей Дерябин
Дослужил на Марсе за пять лет до сана тимлида. Помогал делать Groupon, Рокетбанк, Gett и eBay. Коммитер в Hanami, opensource-активист.
Сергей Долганов
Сергей Долганов
Open-source энтузиаст, создатель проектов Ossert и BloodContracts, марсианский бэкенд и путешественник. Может рассказать как правильно дебажить в продакшен, какие приборы для этого нужны, куда смотреть после деплоя и вообще, как «жить на грани» (на свежем и иногда сыром open-source).
Сергей Небольсин
Сергей Небольсин
Добрый марсианский тимлид и блокчейн-энтузиаст.

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

Организация проекта. Настройка development окружения с использованием Docker. Style Guides и их внедрение в проект. Командная работа с кодом. Автоматизация процессов разработки и код ревью.

Архитектура Rails (Lighting Talk). Из чего состоит стек Ruby on Rails. Что нового в Rails 6.

Git. Внутреннее устройство Git. Работа с ветками. Сложные слияния и разрешение конфликтов. Различные представления истории и анализ графов. Использование хуков.

HTTP in Rails. Модель приложения в Rack и какое это имеет отношение к рельсам. Как middleware позволяет расширять и комбинировать приложения. Механиз hijack. Веб‑сервера для Руби приложений. HTTP2 и Rack. Rails как Rack-приложение. Роутинг, HTTP кэширование.

Базы данных. Индексы БД и их эффективное использование. Модель хранения данных в PostgreSQL. Транзакции и уровни изоляции. Работа с неструктурированными типами данных в PostgreSQL. Миграции данных.

ActiveRecord. Внутреннее устройство ActiveRecord. Создание собственных типов данных с помощью Attributes API. Построение запросов с помощью Arel. Ассоциации и N+1. Ассоциации и их проблемы. Работа с памятью. Безопасные миграции.

Архитектура кода. Рефакторинг. Толстые модели/худые контроллеры, concerns, presenters, decorators и другие.

Фоновые задачи. Запуск фоновых задач в Rails. Задачи по расписанию. Идемпотентность и транзакционность. Группировка задач. Медленные и блокирующие задачи.

Введение в Event Sourcing. Введение в Event Sourcing. Как понять, что требуется внедрение и как определить критерии для выбора технологии.

Тестирование. Что нужно и что не нужно тестировать в вашем проекте. Чем отличаются подходы TDD и BDD. Как построить процесс разработки так, чтобы все виды тестирования были эффективными. Признаки плохих тестов. Инструментарий: что использовать, а что нет. Автотесты, распараллеливание тестов, Continuous Integration.

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

К бою! Подготовка приложения к релизу, выкатке и мониторингу. Минимально необходимый набор метрик для мониторинга и как общаться с DevOps на одном языке. Оптимизации на уровне виртуальной машины Ruby.

Дополнительная программа

Сборка фронтенда в Rails в 2019. Всё, что нужно знать бекенд‑разработчику о Webpack и Webpacker.

Stimulus: фронтенд‑фреймворк для бекендеров. Введение в Stimulus. Интеграция с другими фронтенд‑фреймворками на примере Vue.js. Turbolinks жив.

GraphQL on Rail Зачем нужен GraphQL. Язык и среда исполнения. Схема API. Работа с graphql-ruby. Борьба с N+1. Подписки. Авторизация и работа с ошибками. Расширения возможностей библиотеки. Взаимодействие с фронтендом. Эволюция GraphQL API. Распределённый GraphQL API.

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

У нас учились

  • СКБ «Контур»
  • Cloud Castle
  • TeachBase

Отзывы участников