Size: a a a

JavaScript.Ninja

2021 April 20

IK

Illya Klymov in JavaScript.Ninja
где как
источник

IK

Illya Klymov in JavaScript.Ninja
в рескрипте просто половина xstate не нужна
источник

AM

Alex Makarov in JavaScript.Ninja
глянул, могу только сказать что следы ведут куда-то в кишки cra, потому что тайпчек в IDE при текущей конфигурации работает на ура. Дальше разбираться лень, там еще наревайрено чего-то, я не могу просто взять и сделать эджект не думая.

могу так же сказать, что Вы весьма своеобразно понимаете как варить монорепы в принципе.
То что Вы делаете сейчас - просто назначаете алиас в tsconfig чтобы не писать везде '../../' и думаете что этого достаточно. При всей кажущейся простоте этот подход несет дофига проблем. Что делают обычно если нужно связать пакеты? Делают symlink в node_modules, так что с точки зрения большинства инструментов ваш соседний пакет из монорепы становится неотличим от пакета из npma. Делают эти симлинки не ручками а через воркспейсы (yarn workspaces/npm workspaces). Кажется сначала что это переусложнение, но нефига, это решает множество проблем. В том числе и для вашей задачи,  это в результате обычно проще чем при добавлении очередного инструмента искать какой внутренний конфиг мешает лезть в соседние папочки. А вот какой конфиг отвечает за "лезть в node_modules" обычно хорошо документировано :)
источник

AI

Arthur Irgashev in JavaScript.Ninja
в сагах и распределённых системах применяются уже N * 10 лет
источник

VK

Vladimir Klimov in JavaScript.Ninja
Чтобы между узлами системы поддерживать консистентность сущностей?
источник

AI

Arthur Irgashev in JavaScript.Ninja
чтобы проще дизайнить сложный флоу
источник

AI

Arthur Irgashev in JavaScript.Ninja
и обрабатывать такие вещи, как роллбеки, управлять куда и что отправлять и тд
источник

VK

Vladimir Klimov in JavaScript.Ninja
А где тут конечные автоматы?
источник

AI

Arthur Irgashev in JavaScript.Ninja
в самой концепции. ну и при реализации часто их используют
источник

AI

Arthur Irgashev in JavaScript.Ninja
у тебя этот флоу описывается стейт-машиной весьма легко. в один момент времени должен отработать такой-то вызов. в случае успеха - идём туда, в случае неудачи - в другое место
источник

AM

Alex Makarov in JavaScript.Ninja
мне вообще кажется что теория конечных автоматов - самая прикладная для программирования область математики :)
источник

AI

Arthur Irgashev in JavaScript.Ninja
как пример - масстранзит
источник

AI

Arthur Irgashev in JavaScript.Ninja
в геймдеве, например, тоже невозможно жить без стейтмашин
источник

AI

Arthur Irgashev in JavaScript.Ninja
насчёт фронта - ну хз. мне показалось сильным переусложнением. если захочется сложности, я лучше на wasm буду писать, на каком-нибудь blazor или maui
источник

AM

Alex Makarov in JavaScript.Ninja
теория конечных автоматов это матоснова любого синтаксического анализатора. Даже если Вы их сами не пишете,то сталкиваетесь с их работой регулярно - компиляторы, любые сложные инструменты IDE
источник

VK

Vladimir Klimov in JavaScript.Ninja
Ну вот я понимаю, что все, что угодно, можно выразить стейт-машиной, но как это выражается непосредственно средствами языка - не очень понимаю
источник

IK

Illya Klymov in JavaScript.Ninja
Не очень понятно как инструмент связан со сложностью
источник

AI

Arthur Irgashev in JavaScript.Ninja
ну, весьма легко: порог вхождения, количество кода, необходимое для описания чего-либо, целесообразность использования каких-то стейтменеджеров и прочего
источник

AM

Alex Makarov in JavaScript.Ninja
Поэтому понимание тка в широком смысле убирает огромное количество втф при работе с комплияторами/синтаксическими анализаторами/парсерами. Где человек без бэкграунда говорит "втф что за херня", человек с бэкграундом говорит "ааааа, вот что нам на первом курсе читали оказывается"
источник

AI

Arthur Irgashev in JavaScript.Ninja
средствами языка, если говорить о топ N популярных языков, - никак
источник