Size: a a a

2020 July 27

S

Simon in ErlangRus
Коллеги, кто пользуется Яндекс драйвом
интерфейс регистрации сделан в виде чат бота, где бот последовательно просит пользователя предоставить данные о себе
хочу сделать подобный интерфейс для регистрации пользователей в системе
как думаете, FSM подойдет для решения на беке
в качестве транспорта планирую заюзать ws
источник

DF

Denis Fakhrtdinov in ErlangRus
@maxlapshin @seriy_ps вы не знаете каким образом можно управлять наличием секции Abst в .beam? Я думал, что она пишется в случае наличия флага debug_info, но, кажется, это не так.
источник

AB

Alex Bubnov in ErlangRus
Simon
Коллеги, кто пользуется Яндекс драйвом
интерфейс регистрации сделан в виде чат бота, где бот последовательно просит пользователя предоставить данные о себе
хочу сделать подобный интерфейс для регистрации пользователей в системе
как думаете, FSM подойдет для решения на беке
в качестве транспорта планирую заюзать ws
я бы не рекомендовал представлять бизнес-процессы как fsm, fsm из них получаются довольно дурацкие
источник

AB

Alex Bubnov in ErlangRus
и уж точно не fsm на процессах(gen_statem).
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Simon
Коллеги, кто пользуется Яндекс драйвом
интерфейс регистрации сделан в виде чат бота, где бот последовательно просит пользователя предоставить данные о себе
хочу сделать подобный интерфейс для регистрации пользователей в системе
как думаете, FSM подойдет для решения на беке
в качестве транспорта планирую заюзать ws
Я полагаю, что диалог с ботом это натуральная FSM
источник

S

Simon in ErlangRus
я уже пробовал использовать gen_statem, но в итоге сделал свою, более простую реализацию fsm

задача предполагает последовательный ввод данных с возможностью прерывания и восстановления процедуры регистрации на любом шаге
FSM, хорошо решает эту задачу IMHO

может использовать pattern Command с сохранением состояний в ES?
источник

AB

Alex Bubnov in ErlangRus
Simon
я уже пробовал использовать gen_statem, но в итоге сделал свою, более простую реализацию fsm

задача предполагает последовательный ввод данных с возможностью прерывания и восстановления процедуры регистрации на любом шаге
FSM, хорошо решает эту задачу IMHO

может использовать pattern Command с сохранением состояний в ES?
это будет работать, но я бы не рекомендовал думать об этом, как об fsm.
источник

ИИ

Иванов Иванов... in ErlangRus
Alex Bubnov
это будет работать, но я бы не рекомендовал думать об этом, как об fsm.
а как о чем думать?
источник

AB

Alex Bubnov in ErlangRus
я затрудняюсь сейчас привести конкретные проблемы, но помню, что были очень неприятные моменты в связи с этим
источник

AB

Alex Bubnov in ErlangRus
вот, например, занятный заход https://mkaszubowski.com/2020/06/24/decomposing-models-lifecycle.html
источник

AB

Alex Bubnov in ErlangRus
Иванов Иванов
а как о чем думать?
мне больше нравится artifact-centric modeling, которого почти не найти в коде, правда
источник

AB

Alex Bubnov in ErlangRus
вот пример, правда на кложе, и не факт, что мне сильно нравится в деталях, но как пища для мысли пойдет
https://github.com/agentbellnorm/dativity
источник

AB

Alex Bubnov in ErlangRus
Alex Bubnov
вот пример, правда на кложе, и не факт, что мне сильно нравится в деталях, но как пища для мысли пойдет
https://github.com/agentbellnorm/dativity
не уверен, что мне нравится, как это описывается в коде, но как ментальная модель точно интереснее bpmn.
источник

DZ

Danil Zagoskin in ErlangRus
Denis Fakhrtdinov
@maxlapshin @seriy_ps вы не знаете каким образом можно управлять наличием секции Abst в .beam? Я думал, что она пишется в случае наличия флага debug_info, но, кажется, это не так.
посмотри в module_info. Там точно нет debug_info?
источник

DZ

Danil Zagoskin in ErlangRus
Danil Zagoskin
посмотри в module_info. Там точно нет debug_info?
(я к тому, что rebar, например, может эту опцию добавить и без твоего согласия)
источник

DF

Denis Fakhrtdinov in ErlangRus
Danil Zagoskin
посмотри в module_info. Там точно нет debug_info?
Как раз debug_info там есть, а вот в beam секции Abst нет.
источник

DF

Denis Fakhrtdinov in ErlangRus
Мне как раз нужно чтобы она появилась 🙂
источник

AB

Alex Bubnov in ErlangRus
Simon
я уже пробовал использовать gen_statem, но в итоге сделал свою, более простую реализацию fsm

задача предполагает последовательный ввод данных с возможностью прерывания и восстановления процедуры регистрации на любом шаге
FSM, хорошо решает эту задачу IMHO

может использовать pattern Command с сохранением состояний в ES?
ES гораздо больше похоже на правду, но он сложный и такой себе по перфомансу поверх реляционных баз.
Короче, тут сплошные компромиссы.
источник

DF

Denis Fakhrtdinov in ErlangRus
Danil Zagoskin
(я к тому, что rebar, например, может эту опцию добавить и без твоего согласия)
Похоже, что как минимум в erlang 21 BEAM переработали: AST лежит в секции Dbgi:
{debug_info_v1,erl_abstract_code,
   {[{attribute,1,file,
         {".../router_interval_tree.erl",
          1}},
     {attribute,1,module,router_interval_tree},
     {attribute,3,export,
...
источник

DZ

Danil Zagoskin in ErlangRus
Denis Fakhrtdinov
Мне как раз нужно чтобы она появилась 🙂
я по-быстрому глянул lib/compiler/src/compile.erl. Оно теперь где-то внутри Dbgi зарыто, кажется.
источник