• Складчины
  • Администрирование

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

Найти складчину
  • Дата начала 1 Июл 2024
Цена: 265 РУБ
Список участников складчины:
  • 1. Violet_s
Показать больше
Скачать курс
Скачать Скачать Скачать
Aноним
  • 1 Июл 2024
  • #1

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

Ссылка на картинку
Воркшоп для 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.
Читать далее...
Показать больше
 
Зарегистрируйтесь , чтобы посмотреть скрытый контент.
Поиск по тегу:
Теги
rails-приложения thinknetica владимир дементьев программирвание профилирование и оптимизация тестов
Похожие складчины
Скачать [Thinknetica] Мониторинг и стабильность Rails-приложений. Пакет Слушатель [Алексей Наумов]
  • 26 Сен 2025
  • в разделе: Администрирование
Скачать [Thinknetica] Создание и настройка PWA в Ruby on Rails. Тариф Слушатель [Владимир Долгий]
  • 13 Авг 2024
  • в разделе: Администрирование
Скачать [Thinknetica] Архитектура современных веб-приложений на Ruby on Rails. Тариф Слушатель [Игорь Симдянов]
  • 17 Фев 2025
  • в разделе: Администрирование
Скачать [Thinknetica] Параллелизм и многопоточность в Ruby и Rails. Тариф Слушатель [Денис Савицкий]
  • 15 Ноя 2024
  • в разделе: Администрирование
Скачать [Thinknetica] Kubernetes для Rails-разработчиков
  • 14 Май 2024
  • в разделе: Администрирование

Войдите или зарегистрируйтесь!

Учетная запись позволит вам участвовать в складчинах и оставлять комментарии

Регистрация

Создайте аккаунт. Это просто!

Регистрация

Вход

Вы уже зарегистрированы? Войдите.

Войти
  • Складчины
  • Администрирование
  • Russian (RU)
  • Обратная связь
  • Условия и правила
  • Политика конфиденциальности
  • Справка