Доступно

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

Тема в разделе "Курсы по программированию", создана пользователем stclaus, 1 июл 2024.

Цена: 4 900р-72%
Взнос: 1 332р
100%

Основной список: 8 участников

Резервный список: 1 участников

Статус обсуждения:
Комментирование ограничено.
  1. 1 июл 2024
    #1
    stclaus
    stclaus ОргОрганизатор

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

    upload_2024-7-1_10-51-22.png

    Воркшоп для 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.

    Автор
    Владимир Дементьев
    разработчик в Злых марсианах, автор TestProf, контрибьютор в Rails, лауреат Ruby Hero Russia 2017
    • RoR-разработчик с 15-ти летним стажем.
    • Разработчик в EvilMartians
    • Кроме RoR, знает и применяет Erlang, Python, ActionScript, С++, Java
    • Коммитер в Rails, aвтор гемов AnyCable и LiteCable
    • Регулярно выступает на международных Ruby-конференциях на одной сцене с DHH и Матцем
    Цена 6900 руб
    Скрытая ссылка
     
    Последнее редактирование модератором: 4 июл 2024
    2 пользователям это понравилось.
  2. Последние события

    1. skladchik.com
      Складчина доступна.
      16 окт 2024
    2. Bakanoaha
      Bakanoaha участвует в складчине.
      15 окт 2024
    3. skladchik.com
      Взнос в складчине составляет 666р.
      15 окт 2024
    4. skladchik.com
      Складчина активна.
      15 окт 2024

    Последние важные события

    1. skladchik.com
      Складчина доступна.
      16 окт 2024
    2. skladchik.com
      Взнос в складчине составляет 666р.
      15 окт 2024
    3. skladchik.com
      Складчина активна.
      15 окт 2024
    4. skladchik.com
      Сбор взносов начинается 15.10.2024.
      13 окт 2024
Статус обсуждения:
Комментирование ограничено.