169 похожих чатов

Хотела спросить, кстати. Можно ли иметь общий стор между разными instance

вуя?

14 ответов

12 просмотров

ты можешь иметь стор даже между вкладками https://github.com/wobsoriano/pinia-shared-state

Можно. Программисты на столько погрузились, что базу забыли)

База: У нас всё выполняется в едином пространстве

Daria-Shuleko Автор вопроса
Master Craftsman
Можно. Программисты на столько погрузились, что ба...

Пытаюсь понять как организуется микросервисная архитектура на вуе. Через шину мне не хочется.

Daria Shuleko
Пытаюсь понять как организуется микросервисная арх...

> Через шину мне не хочется Почему? Технически создание объекта может быть за пределами Vue. Соответственно количество объектов (в том числе инстансов Vue) может быть не ограничено и они будут доступны внутри любого vue

Daria-Shuleko Автор вопроса
Master Craftsman
> Через шину мне не хочется Почему? Технически со...

Если можно расшарить стор то шина наверно не нужна.

Daria Shuleko
Если можно расшарить стор то шина наверно не нужна...

Тут все под вечер всера пришли к консенсусу, какой стор Пиньи крутой с pinia-shared-state Давайте ж заглянем под капот этого чуда Создатель плагина решил не заморачиваться и написал обертку вокруг другого пакета - broadcast-channel. Тот использует еще 4 библиотеки, те - еще (но это же создателя этого прекрасного плагина не волнует), и так мы можем даже дойти доEventEmiter3 - той самой шины. Но она не используется, к сожалению. Всё гораздо прозаичней - по setTimeout стейт стора записывается в localStorage, и посылается window.postMessage() об обновлении стора другим сторам-подписчикам. Теперь вспоминаем, что происходит с setTimeout на неактивных вкладках. Троттлинг до 1000ms (в Хроме как минимум). А это значит, потеря реакции на обновление стора при более-менее одновременнной записи стейта, и неконсистентное состояние приложения. Хранение данных в localStorrage - безопасность пошла лесом Надо, кстати, и бэкендерам посоветовать микросервисами так обмениваться информацией - один записал в базу данных что-то, другой ее чекает. Или, чтобы полная аналогия была - один записал в базу, и послал по Кафке мессадж, чтобы другие чекнули. Удобно ж. Куча дополнительного кода вместо простой понятной шины сообщений даже на postMessage(), усложнение на порядок, а то и два. Понятно, что такое "на порядок"? Это значит условного js кода между условно инициацией изменения и получением его в другом месте будет в 10-100 раз больше. И дебаггить моменты типа троттлинга setTimeout-а будет ой как весело. Но, опять же, это же Пинья стор, написанный на коленке без линтера, и волшебный плагин к нему от прекрасного сообщества, - им можно провоцировать написание говнокода своим поклонникам.

Огромное спасибо, случайно посмотрел, как раз до этого искал инфу что лучше использовать пину или vuex, кстати, есть ли такое короткое описание про него?

Алексей Сулименко
Огромное спасибо, случайно посмотрел, как раз до э...

Pinia - это официальный стейт менеджер для вью, который заменил vuex, vuex постепенно умирает

Как скажешь

Тогда так же можно сказать и о vue, не пишите на нем, просто ванильный js

Алексей Сулименко
Тогда так же можно сказать и о vue, не пишите на н...

Pinia стор элементарно заменяется композаблом по функционалу Как ты из ванильного js сделаешь элементарно Vue? Откуда вы все такие остроумные берётесь?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта