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

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

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

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

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

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

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

окт—ноя
сб
29
вс
30
пн
31
вт
1
29, 30 и 31 октября и 1 ноября
Коворкафе, Москва
  • Самостоятельный участник
    40 000 Р
  • Представитель компании
    50 000 Р

Инструкторы

Алексей Газиев
Алексей Газиев
Технический директор Амплифера, тимлид в проектах Марсиан. Написал gon, talks, ids_please. Отлаживал и коммитил в Rails, Ruby, Sidekiq. Не умеет учить сёрфить и ездить на мотоцикле.
Андрей Ситник
Андрей Ситник
Ведущий фронтендер Злых Марсиан. Автор PostCSS и Автопрефиксера. Работал над Groupon, Амплифером и Рокетбанком. Постоянный спикер российских и западных фронтенд-конференций.
Андрей Дерябин
Андрей Дерябин
Дослужил на Марсе за пять лет до сана тимлида. Помогал делать Groupon, Рокетбанк и Gett. Коммитер в Hanami.
Владимир Дементьев
Владимир Дементьев
Математик-программист, с недавних пор обитающий на Марсе. В свободное время коммитит в Rubocop и Ruby on Rails, а в свободное от кода время играет в мяч и на различных музыкальных инструментах.
Владимир Кочнев
Владимир Кочнев
Злой марсианин из российской провинции. Интересуется функциональным программированием и системами типов. Контрибьютил в Celluloid и Grape.
Сергей Пономарёв
Сергей Пономарёв
Тимлид в Злых Марсианах. Писал API-only бэкенд тогда, когда это ещё не было мейнстримом.

День первый

Организация проекта. Настройка development окружения. Style Guides и их внедрение в проект. Инструменты для проверки качества кода. Работа с Continuous Integration. Настройка Rails окружений.

Архитектура Rails. Из чего состоит стек Ruby on Rails. Что нового в Rails 5.

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

Rails Controllers. Разбор работы основных частей Rails на примере обработки запроса: от попадания HTTP-запроса в Rails приложение и до формирования ответа. Роутинг, ActionController, ActionView.

Rails API. Варианты и основные вопросы, которые следует решить для написания API в Rails приложении. Выбор и сравнение инструментов для аутентификации, сериализации, тестирования и документирования.

ActiveRecord. Внутреннеe устройство ActiveRecord. Создание собственных типов данных с помощью Attributes API. Построение запросов с помощью Arel. Транзакции и блокировки. Индексы БД и их эффективное использование. Работа с неструктурированными типами данных в PostgreSQL. Миграции данных.

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

День второй

Фоновые задачи. Запуск фоновых задач в Rails. Задачи по расписанию.

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

Альтернативные подходы. Замена отдельных частей стека Rails другими технологиями.

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

Фронтэнд в Rails. За последние пару лет фронтэнд полностью изменился. Андрей Ситник проведёт экскурс в современный фронтэнд — почему так выстрелили React, Redux, Relay, PostCSS и какие идеи это обеспечили. Почему не стоит бояться Node.js. Как и зачем переходить c Sprockets на webpack. Какие новые методологии появились для этих технологий.

День третий

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

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

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

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

К бою! Круглый стол на тему подготовки приложения к релизу, выкатке и мониторингу. При участии великих и ужасных админов с Марса.

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

У нас учились

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

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