Ежедневно, с 8:30 до 22:30
Предзаказ
1664

Профилирование и оптимизация тестов Rails-приложений

Средняя оценка 0.0 из 5 на основании 0 голосов (0)
1 0
0
Автор:
1500 ₽
4900 ₽
-69%
Кэшбэк: 5% (75 ₽)
Курс будет выдан в течение 1-3 часов после оплаты.

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

Что будет:

  • Подходы
    • На воркшопе рассмотрим разные подходы для профилирования и оптимизации тестов, следующие принципу «максимум выгоды при минимуме изменений» (ведь никто не будет переписывать тесты или менять архитектуру приложения лишь для того, чтобы ускорить тесты).
  • Инструменты
    • Освоим такие общие инструменты для профилирования Ruby-приложений как Stackprof и Vernier, а также подробно познакомимся со специализированным пакетом TestProf.
  • Навыки
    • Полученные навыки вы сразу же сможете применить на своих проектах. И не удивляйтесь, если всего за несколько часов вы сможете ускорить ваши тесты в несколько раз!

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

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

На старте обсудим, почему медленные тесты влияют на процесс разработки. Рассмотрим различные способы ускорения тестов, не требующие профилирования и оптимизаций кода тестов.

Затем попробуем стандартные способы поиска узких мест в Ruby-коде для оптимизации тестов. Узнаем, какие классы проблем в тестах они способны диагностировать и как эти проблемы устранять.

В результаты вы:

  • узнаете об альтернативных, внешних (не требующих профилирования и рефакторинга) способах ускорения тестов и их ограничениях;
  • попробуете на практике такие инструменты профилирования, как StackProf, RubyProf, Vernier;
  • научитесь читать флеймграфы;
  • узнаете о типичных проблемах конфигурации тестов, которые значительно влияют на скорость выполнения.

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

Познакомитесь с инструментами профилирования, входящими в TestProf, которые позволяют сузить область рефакторинга тестов для минимизации отношения трудозатрат к полученному ускорению:

  • научитесь выделять медленные типы с помощью TagProf;
  • сможете оценивать влияние определённых методов или событий в коде на скорость выполнения с помощью EventProf;
  • разберетесь как профилировать использование фабрик с помощью FactoryProf.

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

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

В завершающей части мы перейдём к оптимизации конкретных файлов и познакомимся с инструментами TestProf для переиспользования данных в тестах:

  • before_all / let_it_be для переиспользования данных в рамках контекста RSpec (локальные фикстуры);
  • AnyFixture для глобальных программно генерируемых фикстур.

В результате вы сформируете подходы к рефакторингу тестов, характерных для своего проекта, которые смогут быть применены к тестовым файлам для достижения желаемого ускорения.

В завершение обсудим возможности автоматизации, предоставляемые TestProf, в частности TestProf Autopilot.

Автор Владимир Дементьев:

  • RoR-разработчик с 15-ти летним стажем.
  • Разработчик в EvilMartians
  • Кроме RoR, знает и применяет Erlang, Python, ActionScript, С++, Java
  • Коммитер в Rails, aвтор гемов AnyCable и LiteCable
  • Регулярно выступает на международных Ruby-конференциях на одной сцене с DHH и Матцем
Характеристики
Наличие Предзаказ Тип Видео Размещение на сайте 01.07.2024 Артикул 1664

Об авторах

Фото: Thinknetica
Новый
0.0
Thinknetica
Онлайн-школа для разработчиков, работает с 2013 года. Главная специализация — Ruby on Rails: от основ языка до архитектуры, DDD и масштабирования.

Отзывы и комментарии

Отзывов ещё нет, будьте первыми

Написать отзыв
Нажимая "Отправить" Вы соглашаетесь с правилами публикации и даёте согласие на обработку персональных данных. Администрация не несёт ответственности за содержание отзывов.

Похожие товары:

Постер товара: Дизайн Rails-приложений: как победить монстра
Скидка 62%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Дизайн Rails-приложений: как победить монстра
Ruby on Rails
Постер товара: Автоматизация тестирования на Ruby
Скидка 60%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Автоматизация тестирования на Ruby
GitLab CI и GitHub Actions
Постер товара: Параллелизм и многопоточность в Ruby и Rails
Скидка 63%
Предзаказ
Средняя оценка 5.0 из 5 на основании 1 голосов
Параллелизм и многопоточность в Ruby и Rails
Ruby on Rails
Постер товара: Метапрограммирование на Ruby
Скидка 69%
Предзаказ
Средняя оценка 5.0 из 5 на основании 1 голосов
Метапрограммирование на Ruby
Языки программирования
Постер товара: Объектно-ориентированный дизайн в Ruby
Скидка 75%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Объектно-ориентированный дизайн в Ruby
Ruby on Rails
Постер товара: Мониторинг и стабильность Rails-приложений
Скидка 58%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Мониторинг и стабильность Rails-приложений
Ruby on Rails
Постер товара: Под капотом Ruby on Rails
Скидка 62%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Под капотом Ruby on Rails
Ruby on Rails
Постер товара: Масштабирование Rails-приложений
Скидка 59%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Масштабирование Rails-приложений
Ruby on Rails