Скачать Профилирование и оптимизация тестов Rails-приложений [Тариф: Слушатель] [Thinknetica] [Владимир Дементьев]

Джокер

Администратор
Регистрация
1 Янв 2015
Сообщения
146.301
Реакции
78.236
**Складчина: Профилирование и оптимизация тестов Rails-приложений [Тариф: Слушатель] [Thinknetica] [Владимир Дементьев]**

Воркшоп для Ruby и Rails разработчиков, которые хотят существенно сократить время ожидания выполнения тестов на CI и локально. Это поможет ускорить цикл обратной связи при разработке, минимизировать задержку между публикацией изменений и их выкаткой, а также снизить расходы на CI-инфраструктуру.

**Что включает в себя воркшоп?**

- **Подходы:** научимся профилировать и оптимизировать тесты, придерживаясь принципа "максимум выгоды при минимуме изменений".

- **Инструменты:** освоим инструменты для профилирования Ruby-приложений, такие как Stackprof, Vernier, и специализированный пакет TestProf.

- **Навыки:** полученные навыки сможете применить на практике. За несколько часов вы сможете ускорить выполнение ваших тестов в несколько раз!

**Программа воркшопа:**

**День 1.** Проблема медленных тестов. Профилирование тестов как обычного Ruby-кода.

- Обсудим влияние медленных тестов на процесс разработки.
- Рассмотрим способы ускорения тестов без изменения кода тестов.
- Изучим инструменты профилирования, как StackProf, RubyProf, Vernier.
- Научимся читать флеймграфы и устраним типичные проблемы конфигурации тестов, влияющие на скорость выполнения.

**День 2.** Подробное знакомство с TestProf. Профилирование фабрик.

- Познакомимся с инструментами профилирования в TestProf для минимизации усилий по рефакторингу тестов.
- Выделим медленные типы с TagProf.
- Оценим влияние методов и событий на скорость выполнения с EventProf.
- Научимся профилировать фабрики с FactoryProf.

**День 3.** Оптимизация тестов через переиспользование данных. Автоматизация профилирования и рефакторинга.

- Оптимизируем конкретные файлы с помощью TestProf для переиспользования данных в тестах.
- Используем before_all / let_it_be и AnyFixture для оптимизации тестов.
- Научимся применять подходы к рефакторингу тестов и автоматизации с TestProf Autopilot.

**Автор:** Владимир Дементьев, разработчик в Злых марсианах, автор TestProf, контрибьютор в Rails, лауреат Ruby Hero Russia 2017.

RoR-разработчик с 15-летним стажем, разработчик в EvilMartians. Кроме RoR, владеет Erlang, Python, ActionScript, С++, Java. Коммитер в Rails, автор гемов AnyCable и LiteCable. Регулярно выступает на международных Ruby-конференциях.