Re[3]: Как в C++ получить Redux и Redux Dev Tools
От: Тёмчик Австралия жж
Дата: 31.12.20 00:29
Оценка:
Здравствуйте, vsb, Вы писали:

Точно и по делу. Супер.

vsb>4. Эта штука хорошо сочетается с парадигмой React.


Появилось в реакт, работает везде. Сейчас реактовая тусовка двигает прогресс. XState тоже из реактовой тусовки.
А вот clojure реально хорошо сочетается с реакт (контрол как функция), и не сочетается с парадигмой ангулар (контрол как шаблон html с хуками в код).
Отредактировано 31.12.2020 0:34 Артём . Предыдущая версия .
Re[2]: Как в C++ получить Redux и Redux Dev Tools
От: landerhigh Пират  
Дата: 31.12.20 00:40
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Redux — это что? То что я вижу погуглив, это точно не паттерн, это библиотека для реализации конечного автомата (который тоже не паттерн, а математическая абстракция). Я в этом месяце как раз добавлял конечный автомат к нашему проекту, и взял Meta State Machine (MSM). Пока что все очень довольны, реализовано довольно удобно


+1.
(Проблемы реализации КА вырастают из непонимания концепта КА. Никакие библиотеки это не решают. Все же мне надо куда-нить пару статей черкнуть про КА.)

Я концепт, подобный MSM, с явной transition table, реализовывал лет пятнадцать назад. Буст в той компании тогда был под запретом.
Получилось очень гибко и удобно, и многие проверки корректности были бесплатны в compile time.
Конкретно сейчас для реализации асинхронных алгоритмов мне больше нравится использовать корутины.
www.blinnov.com
Re[5]: Как в C++ получить Redux и Redux Dev Tools
От: landerhigh Пират  
Дата: 31.12.20 01:01
Оценка: +2
Здравствуйте, Тёмчик, Вы писали:

Тё>Пролистал. Ужаснулся. Это только от "hello world" примера вытекли глаза. А что станет, если громадное развесистое дерево состояний попытаться этим описать.


Авторам "громадных развесистых деревьев состояний" следует поискать себя в другой профессии.

KP>>Да кого состояния дерева интересуют? Это же просто инструмент.

Тё>Разработчика интересует, чтобы понять, что делает приложение, и почему оно не работает.

www.blinnov.com
Re[9]: Как в C++ получить Redux и Redux Dev Tools
От: landerhigh Пират  
Дата: 31.12.20 01:05
Оценка: +1
Здравствуйте, Тёмчик, Вы писали:

Тё>PS Похоже, что аргументированного диалога не получится. Если даже демонстрировавший намёк на адекватность питон сорвался в "нету значит ненужно" отрицание религиозного фанатика. Печаль.


Тема, Тема.
Конченые автоматы — это фундаментальный предмет такой инженерной дисциплины, как "Теория Управления и Автоматика". В которой рассматриваются принципы проектирования КА и способы их минимизации.
Это фундаментальная математическая абстракция.

Огромное дерево состояний КА есть показатель того, что его аффтар лекции прогуливал. Ну или диплом в преходе купил, что тоже бывает.
www.blinnov.com
Re[9]: Как в C++ получить Redux и Redux Dev Tools
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 31.12.20 02:01
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>Ну, если у тебя на мета-шаблонах C++ больше светофора не собрать, то кто тебе буратино?


30-40 состояний вполне тянет компилятор, но это уже избыток. 15-20 — это по большому счету максимум который еще разумно использовать.

В конце концов, открой для себя наверное самый известный конечный автомат в мире и посчитай сколько там состояний. А ведь этот КА с легкостью можно раздуть в несколько раз.

  Скрытый текст


Тё>У меня на XState огромное дерево состояний- и всё это летает, в том числе и на планшете и смартфоне (только не влазит в экран пока что). XState внутри грамотно сделан, поиск путей оптимальный и т.п.


У тебя кривое, безграмотное решение, которое сложно поддерживать. Кто тебе Буратино? Ну, я думаю что ответ очевиден, но пальцем тыкать не буду

Тё>PS Похоже, что аргументированного диалога не получится. Если даже демонстрировавший намёк на адекватность питон сорвался в "нету значит ненужно" отрицание религиозного фанатика. Печаль.


Количество состояний конечного автомата должно быть минимально достаточным для описания проблемы. Избыток состояний это проблема дизайна того же уровня как отсутствие конечного автомата там, где он нужен. У меня есть ощущение что ты открыл для себя новую, приколькную абстракцию — конечный автомат и теперь совершенно любую проблему пытаешься через него решить. Что интересно, большинство проблем действительно можно решить при помощи конечного автомата, но цена такого решения с избыточным количеством состояний куда выше чем без него.
Re[3]: Как в C++ получить Redux и Redux Dev Tools
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 31.12.20 02:31
Оценка: +1
Здравствуйте, landerhigh, Вы писали:

L>(Проблемы реализации КА вырастают из непонимания концепта КА. Никакие библиотеки это не решают. Все же мне надо куда-нить пару статей черкнуть про КА.)


По мне так тут демонстрируется классическая проблема паттернов с момента их появления. Всегда найдется кто-то, кому кажется разумным использовать как можно больше знакомых паттернов и абстракций, т.к. так "правильнее" и дизайн "чище". Ну либо просто кто-то из корпоративного Java мира, но там так просто принято и понимать почему так принято бессмысленно, надо просто делать так же. Обычно с опытом такое проходит, и когда человек добирается до позиции где могут приниматься решения по дизайну приложений специалист уже зрелый. Но вот Артем в этой теме реально удивляет, т.к. опыт то есть
Re[3]: Как в C++ получить Redux и Redux Dev Tools
От: Lexey Россия  
Дата: 31.12.20 02:41
Оценка: +1
Здравствуйте, Тёмчик, Вы писали:

Тё>Но, вот я наблюдаю тенденцию, о чём постоянно твержу- нормальные люди сбежали от C++, сначала была жава, теперь ts/js.


Нормальные люди не бегают за новыми технологиями, а используют те, которые больше подходят для решения задач.

Тё>Остались маленькие загончики-отстойнички, и это накладывает отпечаток. Устарелые библиотеки, недоразвитые инструменты, и представители вроде состима с ландерхаем, обиженные когда-то на разворот строки.


Это ты Гугл, Амазон, Яндекс, etc в маленькие загончики-отстойнички записал? Юморист, однако.
И откуда тебе знать про библиотеки и инструменты, если ты ими не пользуешься? Или про представителей, с которыми ты не общаешься?
"Будь достоин победы" (c) 8th Wizard's rule.
Re[8]: Как в C++ получить Redux и Redux Dev Tools
От: sambl74 Россия  
Дата: 31.12.20 04:53
Оценка: 2 (1)
Здравствуйте, kaa.python, Вы писали:

KP>Да я в курсе того что такое конечный автомат. Речь о том, что твое описание выглядит как охрененно тяжелое решение. Зачем всё запихивать в автомат? Что-то разработчики на JS меня начинают пугать


Чем слушать Шаляпина в обработке, вот ссылка на статью автора Редакса

Там подробно написано, что, зачем и какой ценой.

Ну и на месте Тёмчика я бы побомбил что для C++ нету MobX-а
Re[9]: Как в C++ получить Redux и Redux Dev Tools
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 31.12.20 05:20
Оценка: +1
Здравствуйте, sambl74, Вы писали:

S>Чем слушать Шаляпина в обработке, вот ссылка на статью автора Редакса


Спасибо!

S>Там подробно написано, что, зачем и какой ценой.

S>Ну и на месте Тёмчика я бы побомбил что для C++ нету MobX-а

У меня есть ощущение, что в мире JS каждый год проявляется какая-то новая, "прорывная" технология которую надо обязательно использовать, а то всё пропало
Re[4]: Как в C++ получить Redux и Redux Dev Tools
От: landerhigh Пират  
Дата: 31.12.20 08:37
Оценка: +2
Здравствуйте, kaa.python, Вы писали:

KP>Но вот Артем в этой теме реально удивляет, т.к. опыт то есть


Вопрос в том, 20 ли это лет опыта, или все же 20 раз по одному году?
www.blinnov.com
Re[9]: Как в C++ получить Redux и Redux Dev Tools
От: landerhigh Пират  
Дата: 31.12.20 08:54
Оценка: +1
Здравствуйте, CreatorCray, Вы писали:

CC>И таки да. Вспоминается как в VMware внутри одного из модулей ESXi какие то орхетегторы в своё время спели и натанцевали практически всё как state machines, и это был такой пц что в написании что в отладке...


У нас у всех есть подобные horror stories в шкафу.

State Explosion видели без исключения все (пламенные превед Тёме с его развесистой клюквой).
www.blinnov.com
Re[10]: Как в C++ получить Redux и Redux Dev Tools
От: Тёмчик Австралия жж
Дата: 31.12.20 08:55
Оценка:
Здравствуйте, kaa.python, Вы писали:

Тё>>Ну, если у тебя на мета-шаблонах C++ больше светофора не собрать, то кто тебе буратино?


KP>30-40 состояний вполне тянет компилятор, но это уже избыток. 15-20 — это по большому счету максимум который еще разумно использовать.


KP>ведь этот КА с легкостью можно раздуть в несколько раз.

Если использовать плоскую машину состояний, то там рост квадратичный.

KP>
  Скрытый текст
KP>Image: The-TCP-Finite-State-Machine-FSM-The-BIST-implementation-of-TCP-is-made-up-of-three-In.png


KP>У тебя кривое, безграмотное решение, которое сложно поддерживать. Кто тебе Буратино? Ну, я думаю что ответ очевиден, но пальцем тыкать не буду


Ты привел плоскую машину машину состояний. Кто тебе злой буратино? У меня вложенные состояния, каждое из которых в пределах 2-7 элементов. Если ты ещё не допетрил до этого, советую освежить в памяти UML. StateCharts- это тот же UML, напрямую интерпретируемый XState.

KP>Количество состояний конечного автомата должно быть минимально достаточным для описания проблемы.

Избыток состояний

А избытка нет, это только у тебя в голове в силу ограниченности знаний. Читай UML.

KP>У меня есть ощущение что ты открыл для себя новую, приколькную абстракцию — конечный автомат


В реальности такие плюсники как ты, ковыряются в песочнице (я про вырвиглазную либу из буста), в то время как реактщиков (и плюсников-игроделов Unreal Engine) корабли бороздят просторы Вселенной.

А теперь я показал тебе реальность, и тебя бомбит от этого. Это неконструктивно. Лучше присоединяйся к проекту портирования XState на C++ (пара реп есть в гитхабе) и приделать к нему адаптер для xstate-inspect, который веб.
Отредактировано 31.12.2020 9:03 Артём . Предыдущая версия .
Re[11]: Как в C++ получить Redux и Redux Dev Tools
От: landerhigh Пират  
Дата: 31.12.20 09:02
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>Ты не допетрил, что избытка нет.


Есть. Ты же лекции прогуливал.

Тё>Читай UML.


Тёма, на календарь посмотри. Повальный надроч на UML закончился в районе года 2005.
www.blinnov.com
Re[12]: Как в C++ получить Redux и Redux Dev Tools
От: Тёмчик Австралия жж
Дата: 31.12.20 09:28
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Есть. Ты же лекции прогуливал.

Я не могу выкладывать исходники.
Ну попытаюсь обьяснить болезному.
Вот представь, у тебя кнопка. 3 состояния: нажата, отжата, наведена мышка. А теперь представь, у тебя 3 кнопки на панели. Это 3 вложенных срстояния, 9 листьев. А теперь представь, таких панелек у тебя 5 за таб контролом. это 45 листьев. Дошло? Это только визуальная часть. А теперь представь, у тебя пачка точек запроса на сервер- каждый с 4 состояниями, часть с вложенными...

L>Тёма, на календарь посмотри. Повальный надроч на UML закончился в районе года 2005.

Ниасилил Rational Rose? Бедненький.
Впрочем, неудивительно- ты и бинарный поиск ниасилил, вот уж казалось бы, базовое знание для инженера и программиста.

https://docs.unrealengine.com/en-US/InteractiveExperiences/ArtificialIntelligence/BehaviorTrees/index.html


https://en.m.wikipedia.org/wiki/Tree_automaton

Harel statecharts,[5] invented by computer scientist David Harel, are gaining widespread usage since a variant has become part of the Unified Modeling Language (UML).[non-primary source needed] The diagram type allows the modeling of superstates, orthogonal regions, and activities as part of a state.


Я понимаю, для Эллочки Людоедки, знающей только слова вектор, лист и мап, сложно понять математические концепции, и не ожидаю понимания от клинически неспособных думать как математик.
Re[13]: Как в C++ получить Redux и Redux Dev Tools
От: landerhigh Пират  
Дата: 31.12.20 09:36
Оценка: +4
Здравствуйте, Тёмчик, Вы писали:

L>>Есть. Ты же лекции прогуливал.

Тё>Я не могу выкладывать исходники.

Да кому твой говнокод сдался-то.
А лекции прогуливать не надо было. Сейчас меньше бы нес пурги.

Тё>Ну попытаюсь обьяснить болезному.

Тё>Вот представь, у тебя кнопка. 3 состояния: нажата, отжата, наведена мышка. А теперь представь, у тебя 3 кнопки на панели. Это 3 вложенных срстояния, 9 листьев.

Тема, поздравляю, ты только что изобрел State Explosion. То, о чем тебе уже примерно все в этой теме и написали.

L>>Тёма, на календарь посмотри. Повальный надроч на UML закончился в районе года 2005.

Тё>Ниасилил Rational Rose? Бедненький.

Тема, упоминать Rational Rose в 2021 году — это

Тё>Я понимаю, для Эллочки Людоедки, знающей только слова вектор, лист и мап, сложно понять математические концепции, и не ожидаю понимания от клинически неспособных думать как математик.


Как всегда, самокритичненько.
www.blinnov.com
Re[4]: Как в C++ получить Redux и Redux Dev Tools
От: landerhigh Пират  
Дата: 31.12.20 09:37
Оценка:
Здравствуйте, Lexey, Вы писали:

L>Это ты Гугл, Амазон, Яндекс, etc в маленькие загончики-отстойнички записал? Юморист, однако.


Ну так он же собеседование туда в очередной раз провалил. Значит, это "закончики-отскойнички".
www.blinnov.com
Re[11]: Как в C++ получить Redux и Redux Dev Tools
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 31.12.20 10:37
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>Ты привел плоскую машину машину состояний. Кто тебе злой буратино? У меня вложенные состояния, каждое из которых в пределах 2-7 элементов. Если ты ещё не допетрил до этого, советую освежить в памяти UML. StateCharts- это тот же UML, напрямую интерпретируемый XState.


Для вложенных КА MSM вполне подходит. Что ты тут доказать-то пытаешься? То что надо использовать КА везде? Ну используй, мало ли кривого ПО в мире
Re[14]: Как в C++ получить Redux и Redux Dev Tools
От: Тёмчик Австралия жж
Дата: 31.12.20 11:18
Оценка: :))
Здравствуйте, landerhigh, Вы писали:

L>>>Есть. Ты же лекции прогуливал.

Тё>>Я не могу выкладывать исходники.

L>Да кому твой говнокод сдался-то.

L>А лекции прогуливать не надо было. Сейчас меньше бы нес пурги.
Каюсь, прогуливал вышку на 1 курсе, посещал дискотеки, и поплатился за это оценками. А теормех оценку выпрямил за счёт места в олимпиаде. Я вообще в 90-е выезжал за счёт олимпиад.

Тё>>Ну попытаюсь обьяснить болезному.

Тё>>Вот представь, у тебя кнопка. 3 состояния: нажата, отжата, наведена мышка. А теперь представь, у тебя 3 кнопки на панели. Это 3 вложенных срстояния, 9 листьев.

L>Тема, поздравляю, ты только что изобрел State Explosion. То, о чем тебе уже примерно все в этой теме и написали.

Есди бы вы ты немножко понимал в bigO — state explosion не 9 состояний, а 27. Да, это недостаток flat state maсhine. Но тебе этого не понять. Спольски в 2000м написал что-то вроде
"они хорошо понимают бейсик, но когда начинается C и указатели- меняют курс. Ибо нет нужных нейронов в голове, физически неспособны понять указатели.". Так вот я прошёл этап C++ и пошёл дальше, а у тебя в голове нет нужных нейронов, ты застрял.


L>Тема, упоминать Rational Rose в 2021 году — это

Мракобесие плюсников- о чём я и писал. Ибо многие мозги посвалили из C++, и не смотри на плюсовиков из корпораций вроде Гугла или Фейсбука- тебя туда на пушечный выстрел не подпустят.

Тё>>для Эллочки Людоедки, не ожидаю понимания от клинически неспособных думать как математик.


L>Как всегда, самокритичненько.

Я по крайней мере, пытаюсь и всегда стремился к более умным, чем я, а вот ты не пытаешься и булькаешься в копролите с дурачками.
Re: Как в C++ получить Redux и Redux Dev Tools
От: jahr  
Дата: 31.12.20 11:21
Оценка:
Здравствуйте, Тёмчик, Вы писали:

О, наконец-то знаток.) Я как раз сейчас столкнулся с этим redux dev tools.) Есть расширение для браузеров, https://github.com/MetaMask/metamask-extension
Говорят, его можно отладить этим волшебным инструментом:

Redux DevTools will need to be installed as a browser extension. Open the Redux Remote Devtools to access Redux state logs. This can be done by either right clicking within the web browser to bring up the context menu, expanding the Redux DevTools panel and clicking Open Remote DevTools OR clicking the Redux DevTools extension icon and clicking Open Remote DevTools.

You will also need to check the "Use custom (local) server" checkbox in the Remote DevTools Settings, using the default server configuration (host localhost, port 8000, secure connection checkbox unchecked)

Так я и делаю, запускаю ```yarn start:dev```, запускаю эти тулз — и ничего не видно.) И вот все в это js так: работает иногда в очень специальных случаях, а что делать когда не работает — никто не знает. В плюсах если что-то не работает — всегда есть куда копать.)
Re[15]: Как в C++ получить Redux и Redux Dev Tools
От: landerhigh Пират  
Дата: 31.12.20 11:24
Оценка:
Здравствуйте, Тёмчик, Вы писали:

L>>Тема, упоминать Rational Rose в 2021 году — это

Тё>Мракобесие плюсников- о чём я и писал. Ибо многие мозги посвалили из C++, и не смотри на плюсовиков из корпораций вроде Гугла или Фейсбука- тебя туда на пушечный выстрел не подпустят.

Так ты куда собес-то провалил? В гугол или амазон?

L>>Как всегда, самокритичненько.

Тё>Я по крайней мере, пытаюсь и всегда стремился к более умным, чем я, а вот ты не пытаешься и булькаешься в копролите с дурачками.

Бугага, лол, пельмень.
www.blinnov.com
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.