Слив курса [Thinknetica] Владимир Дементьев ― Профилирование и оптимизация тестов Rails-приложений (2024)

  • Приглашаем разместиться на бесплатной основе в разделе Маркет -> услуг. Наш ТГ: @ble_lol
    Для просмотра КУРСОВ надо статус VIP, КУПИТЬ МОЖНО ТУТ: https://ble.lol/account/upgrades

    Запрещенно работать RU и СНГ! Блок навечно!

Moderator1

Команда форума
Moderator
25 Ноя 2024
94
136
BCoin
379
2024-11-28 23.14.36 thinknetica.com 32622d3d664e.jpg
[Thinknetica] Владимир Дементьев ― Профилирование и оптимизация тестов Rails-приложений (2024)
Приглашаем на воркшоп для разработчиков Ruby и Rails

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

Мы рассмотрим различные подходы для профилирования и оптимизации тестов, которые позволят значительно сократить время ожидания выполнения тестов на CI и/или локально. При этом мы будем следовать принципу «максимум выгоды при минимуме изменений», чтобы не переписывать тесты или менять архитектуру приложения.

Программа воркшопа:
  • День 1: проблема медленных тестов. Профилирование тестов как обычного Ruby-кода.
На старте обсудим, почему медленные тесты влияют на процесс разработки. Рассмотрим различные способы ускорения тестов, не требующие профилирования и оптимизаций кода тестов. Затем попробуем стандартные способы поиска узких мест в Ruby-коде для оптимизации тестов. Узнаем, какие классы проблем в тестах они способны диагностировать и как эти проблемы устранять.

В результате вы узнаете об альтернативных способах ускорения тестов и попробуете на практике такие инструменты профилирования, как StackProf, RubyProf и Vernier. Вы научитесь читать флеймграфы и узнаете о типичных проблемах конфигурации тестов, влияющих на скорость выполнения.
  • День 2: подробное знакомство с TestProf. Профилирование фабрик.
Познакомитесь с инструментами профилирования, входящими в TestProf, которые позволяют сузить область рефакторинга тестов для минимизации отношения трудозатрат к полученному ускорению. Научитесь выделять медленные типы с помощью TagProf, оценивать влияние определённых методов или событий в коде на скорость выполнения с помощью EventProf и профилировать использование фабрик с помощью FactoryProf.

Вы сможете определить небольшой набор тестов, оптимизация которых даст значительный прирост скорости, и сформировать набор техник рефакторинга, специфичный для приложения.
  • День 3: оптимизация тестов с помощью переиспользования данных. Автоматизация профилирования и рефакторинга.
Перейдём к оптимизации конкретных файлов и познакомимся с инструментами TestProf для переиспользования данных в тестах. Рассмотрим before_all / let_it_be для переиспользования данных в рамках контекста RSpec (локальные фикстуры) и AnyFixture для глобальных программно генерируемых фикстур.

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

Автор воркшопа — Владимир Дементьев, разработчик в EvilMartians, автор TestProf, контрибьютор в Rails, лауреат Ruby Hero Russia 2017. RoR-разработчик с 15-летним стажем. Кроме RoR, знает и применяет Erlang, Python, ActionScript, С++, Java. Регулярно выступает на международных Ruby-конференциях.

Продажник: https://thinknetica.com/pro/workshop_profile_opt_rails

Слив курса:
Скрытое содержимое могут видеть только пользователи групп(ы): VIP