Подписывайтесь на наш канал здесь и в телеграмм , чтобы быть в курсе будущих митапов и не пропускать полезные доклады! Как мы запутались в графах на state_machine и aasm в нашем 12 летнем проекте, и в итоге решились на свое opensource решение. Выкинули все лишнее и унифицировали API библиотеки, получив кратный рост скорости, компактность описания конечного автомата и увеличили понятность кода. Расскажу, как исследовал построение дерева решения и покажу картинки графов, которые помогают разработчикам быстро войти в контекст машины состояний. Сергей Малых / Таймлайн: 00:00 Интро 00:20 Немного про Groupprice и доклад 00:58 Где в Groupprice используются конечные автоматы 01:50 Как решили делать свое решение на базе ActiveRecord 02:52 Hash переходов 03:11 Валидация переходов и сохранение состояний 04:28 Единая точка входа 05:20 Производительность 05:56 Графическое представление машины состояний 06:35 Дерево решения графа: топологическая сортировка 07:40 Дерево решения графа: цепочка вершин с единственным входом 08:25 Дерево решения графа: bottleneck-вершина 08:49 Диаграмма состояний с деревом решения 09:24 Подводим итоги
Hide player controls
Hide resume playing