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

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

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

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

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

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

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

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

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

ноя—дек
сб
30
вс
1
пн
2
вт
3
30 ноября и 1, 2 и 3 декабря
Smart Place Inbox, Москва
  • Самостоятельный участник
    70 000 Р
  • Представитель компании
    70 000 Р

Инструкторы, Злые марсиане

Николай Сверчков
Николай Сверчков
Уникальный в своём роде бэкенд-разработчик: он ушёл с Ruby в Elixir, но, высадившись на Марсе, вернулся обратно и достиг просветления именно в «драгоценном» языке. Знает, как поднять Ruby на новые высоты, в «облака», и верит в светлое Serverless-будущее.
Маргарита Клубочкина
Маргарита Клубочкина
Фронтенд на Марсе для больших и маленьких (проектов). Писала приложение на трёх фреймворках сразу. Любит работать с SVG, сжимать картинки и настраивать PWA. По ночам мечтает оптимизировать весь веб.
Дмитрий Цепелев
Дмитрий Цепелев
Марсианский бэкенд-разработчик. Большую часть времени помогает делать eBay Social, выступает на конференциях и контрибьютит в разнообразные open-source проекты.
Андрей Новиков
Андрей Новиков
Рубист и постгресист. Автор статей про git и мониторинг, спикер на конференциях, создатель семейства гемов Yabeda, контрибьютил в Rails и гемы поменьше. Умеет ругаться трёхэтажным SQLем, ускорять базу данных, делать новые графики в системе мониторинга, чтобы потом в них залипать днями и безмятежно спать ночами. Постоянно что-то ребейзит и форс-пушит в репозитории.
Полина Гуртовая
Полина Гуртовая
Фронтенд и этим все сказано. Большую часть времени занимается изобретением велосипедов. Изобретенное применяет в своем любимом проекте, который называется eBaymag. Любит экспериментировать с ML, WebGL и GraphQL.
Сергей Небольсин
Сергей Небольсин
Добрый марсианский тимлид, неравнодушный к математике, криптографии и блокчейну. Создатель проекта Astrograph. Разрабатывал и оптимизировал микросервисы в Gett. Любит экспериментировать и не боится применять новые решения и технологии в деле.
Сергей Долганов
Сергей Долганов
Open-source энтузиаст, создатель проектов Ossert и BloodContracts, марсианский бэкенд и путешественник. Может рассказать как правильно дебажить в продакшен, какие приборы для этого нужны, куда смотреть после деплоя и вообще, как «жить на грани» (на свежем и иногда сыром open-source).
Виктор Соколов
Виктор Соколов
Злой, марсианский антикризисный тимлид. Соавтор Astrograph. Помогал в разработке проектов для eBay, контрибутил в Hanami и Stellar, написал sidekiq-grouping и google_translate_diff. В свободное от работы время летает на самолете.
Владимир Дементьев
Владимир Дементьев
Математик-программист, поселившийся на Марсе. Автор AnyCable, TestProf и Action Policy, контрибьютор в Ruby on Rails и RuboCop. В свободное от кода время путешествует по миру, выступая на Ruby-конференциях.
Алексей Плуталов
Алексей Плуталов
Фронтенд-разработчик Злых марсиан. Работал над eBay, Oh My Stats, Амплифером и Рокетбанком. Один из инициаторов и активистов питерского сообщества фронтэнд-разработчиков.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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