SHAREWOOD

Редактор
- Регистрация
- 25/11/2019
- Сообщения
- 146.661
- Репутация
- 93.173
Последние темы автора:
- Скачать «Промпты по чтению мыслей аудитории [Николай Цилинский]»
- Скачать «Фитнес-протокол программы «Эссенциалист» [Академия Экспоненциального коучинга]»
- Скачать «Протокол по гормонам программы «Эссенциалист» [Тариф Личный] [Академия Экспоненциального коучинга]»
- Скачать «Протокол питания и добавок программы «Эссенциалист» [Тариф Личный] [Академия Экспоненциального коучинга]»
- Скачать «Протокол питания и добавок программы «Эссенциалист» [Академия Экспоненциального коучинга]»
Складчина: Профилирование и оптимизация тестов Rails-приложений [Тариф Слушатель] [Thinknetica] [Владимир Дементьев]
Описание:
Вас приглашают на воркшоп, посвященный проблематике Ruby и Rails разработки. Цель – значительное сокращение времени исполнения тестов, как на CI, так и локально, с целью ускорения обратной связи, минимизации времени между публикацией изменений и релизом, а также уменьшения расходов на CI-инфраструктуру.
Основные акценты:
- Методология
На воркшопе обсудим различные стратегии профилирования и оптимизации тестов, следуя принципу «максимальная эффективность при минимальных изменениях» (ведь переписывать тесты или изменять архитектуру приложения ради ускорения тестов никто не желает). - Инструментарий
Разберемся с такими инструментами для профилирования Ruby-приложений, как Stackprof и Vernier, и подробно изучим специализированный пакет TestProf. - Практические навыки
Вам будет предоставлена возможность применить полученные знания в ваших проектах. Не удивляйтесь, если за короткое время вы сумеете увеличить скорость тестов в разы!
День 1. Влияние медленных тестов на процесс разработки. Профилирование тестов как обычного Ruby-кода
Начнем с обсуждения, почему медленные тесты могут замедлить процесс разработки. Разберем методы ускорения тестов без необходимости профилирования и оптимизации кода.
После этого изучим стандартные способы поиска «узких мест» в Ruby-коде для оптимизации тестов. Познакомимся с классами проблем, которые можно диагностировать и решить с помощью этих методов.
В итоге вы:
- освоите альтернативные методы ускорения тестов без профилирования и рефакторинга, и поймете их ограничения;
- научитесь работать с такими инструментами профилирования, как StackProf, RubyProf, Vernier;
- разберетесь, как читать флеймграфы;
- получите знания о типичных проблемах конфигурации тестов, влияющих на скорость выполнения.
Изучим инструменты профилирования в составе TestProf, помогающие упростить рефакторинг тестов и минимизировать затраты времени для достижения ускорения:
- вы освоите TagProf для определения медленных типов;
- найдете способы оценки влияния отдельных методов или событий в коде на скорость исполнения с помощью EventProf;
- поймете, как профилировать использование фабрик с помощью FactoryProf.
День 3. Оптимизация тестов через повторное использование данных. Автоматизация профилирования и рефакторинга
В заключительной части перейдем к оптимизации отдельных файлов тестов и изучим инструменты TestProf для переиспользования данных:
- before_all / let_it_be для повторного использования данных в контексте RSpec (локальные фикстуры);
- AnyFixture для глобализированных программно создаваемых фикстур.
Закончим обсуждением возможности автоматизации с помощью TestProf, в частности TestProf Autopilot.
Организатор
Владимир Дементьев
Разработчик в Evil Martians, создатель TestProf, контрибьютор в Rails, лауреат награды Ruby Hero Russia 2017 года
- RoR-разработчик с опытом работы в 15 лет.
- Сотрудник компании EvilMartians
- Владеет такими языками как Erlang, Python, ActionScript, С++, Java в дополнение к RoR
- Участник команды Rails, автор гемов AnyCable и LiteCable
- Регулярно участвует в международных Ruby-конференциях, разделяя сцену с DHH и Матцу
Скрытая ссылка
Материал «Профилирование и оптимизация тестов Rails-приложений [Тариф Слушатель] [Thinknetica] [Владимир Дементьев]», возможно, скоро появится на SHAREWOOD.
Воспользуйтесь поиском, может быть, он уже опубликован.