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

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

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

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

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

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

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

окт
даты уточняются
октябрь
Штаб-квартира Злых марсиан, Москва
  • Самостоятельный участник
    30 000 Р
  • Представитель компании
    40 000 Р

Инструкторы

Алексей Газиев
Алексей Газиев
Технический директор Амплифера, тимлид в проектах Марсиан. Контрибьютор в опенсорс, создатель gon, talks и других гемов.
Равиль Байрамгалин
Равиль Байрамгалин
Бэкэнд в проектах Марсиан. Контрибьютор больше 40 опенсорсных проектов, среди которых Ruby on Rails, rack, cassandra-rb, sidekiq и другие. Любит неуловимые ошибки и трудные проблемы.
Андрей Ситник
Андрей Ситник
Фронтенд Злых Марсиан. Работал над Групоном, Амплифером, ОнлайнТурс и Рокетбанком. Автор PostCSS, Автопрефиксера и easings.net. Коммитер в Compass, Can I Use, Ruby on Rails. Постоянный спикер WSD и РИТ.

День первый

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

Rack. Абстракция для HTTP-серверов. Модель приложения в Rack и какое это имеет отношение к рельсам. Как middleware позволяет расширять и комбинировать приложения. Как использовать полученные знания на практике.

Архитектура Rails 4. Cтек Ruby on Rails на примере обработки запроса: от попадания HTTP-запроса в Rails приложение и до формирования ответа. Возможности модульной архитектуры Rails 4: больше «хуков», меньше «monkey patching». Разбор работы основных частей Rails 4: роутинг, ActionController, ActiveRecord, ActiveModel, Arel.

Реляционные базы данных. Что такое индекс и как он устроен. Обычные бинарные и B-деревья. Эффективные индексы: обычные, функциональные и частичные. Статистика использования БД. Анализ плана запросов и оптимизация индексов. Денормализация данных и проблемы, которые она влечёт. Лог транзакций, блокировки и дедлоки. Дисковый кэш. Разбиение данных на несколько баз. Репликация. Инструментарий работы с БД.

День второй

Фронтенд в Rails 4. Ускоряем загрузку сайта: теория и психологические моменты, минификация JS и CSS, сжатие и кеширование, CDN для внешних ресурсов, оптимизация графики, ленивая дозагрузка. Ускоряем фронт: профайлеры, перерисовка, анимации в CSS. Организация фронта: БЭМ, Sass/Stylus, Автопрефиксер, Rails Sass Images. Дизайн: фронт – тоже дизайнер, зачем нужен дизайн, где и зачем нужна анимация.

Оптимизация кода. Организация кода: толстые модели/худые контроллеры, concerns, presenters, decorators. Структура проекта. Стилистика кода проекта для команды.

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

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

Профилирование. Как найти узкие места. Точные и приблизительные профайлеры вызовов. Анализ распределения и утечки памяти. Сбор метрик в продакшене. Как делать выводы и примеры оптимизаций.

Выкатка приложений. Практика гладких выкаток: как нужно и как не нужно делать. Чем отличается выкатка приложения от управления конфигурацией. Какие инструменты стоит использовать, а какие — нет. Capistrano, Chef. Мониторинг и инструменты мониторинга. NewRelic RPM.

День третий

Домашнее задание

День четвёртый

Lighting talks. Разбор домашних заданий, обсуждение решений и возможных вариантов реализации, вопросы‑ответы.

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

У нас учились

  • СКБ «Контур»
  • Cloud Castle
  • ИдиНайди

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