Программирование - [Thinknetica] Профилирование и оптимизация тестов Rails-приложений (2024) | StarSliv 🔥 Скачать слив курсов, складчин и видеокурсов бесплатно онлайн

Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться личными сообщениями с другими членами нашего сообщества.

Регистрируйтесь прямо сейчас!

Программирование [Thinknetica] Профилирование и оптимизация тестов Rails-приложений (2024)

Murselagos

Модератор
Регистрация
7 Апр 2023
Сообщения
1,870
Автор: Thinknetica
Название: Профилирование и оптимизация тестов Rails-приложений (2024)

2024-10-23_22-51-06.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 и Матцем

Подробнее:
Скрытое содержимое. Вам нужно войти или зарегистрироваться.
Скачать:
Платное содержимое
 

Отзывы о курсах:



5.00 звёзд
очень актуальная тема, заливайте больше по clo3d/marvelous, конструированию в САПР

4.00 звёзд
.

5.00 звёзд
Все четко

1.00 звёзд
Одни фото, нет нормальной информации по созданию чат ботов, это был основной запрос

Статистика форума

Темы
63,114
Сообщения
97,131
Пользователи
60,633
Новый пользователь
helmutlanke99

Поделиться страницей

Назад
Сверху