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

Курс сайт события http://brainwashing.pro/rails

Добавить в календарь:
Поделиться:

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

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

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

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

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

 

Инструкторы, Evil Martians

Алексей Газиев

Алексей Газиев

Тимлид и бэкэнд в проектах Марсиан. Контрибьютор в опенсорс. Создатель нескольких гемов (gon, talks и других).

Равиль Байрамгалин

Равиль Байрамгалин

Контрибьютор больше 40 опенсорсных проектов, среди которых Ruby on Rails, rack, cassandra-rb, sidekiq и другие. Любит неуловимые ошибки и трудные проблемы.

Андрей Ситник

Андрей Ситник

Фронтенд Злых Марсиан. Работал над Групоном и Рокетбанком. Коммитер в Compass, Can I Use, Ruby on Rails и Rework. Автор Автопрефиксера и easings.net. Постоянный спикер 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. Разбор домашних заданий, обсуждение решений и возможных вариантов реализации, вопросы‑ответы.

Комментарии (0):

Оставлять комментарии могут только зарегистрированные пользователи

Для получения embed кода необходимо кликнуть правой
кнопкой мыши на видео и выбрать пункт меню
'Сгенерировать HTML код'

Забыли пароль? Регистрация