Послушайте, я всю жизнь живу в Украине и всю жизнь общаюсь исключительно на русском.
Так вот, смею заверить, что проблем с этим очень мало. Прям настолько мало, что вы, господа ботороссияне, не сможете оправдать больше одного снаряда упавшего на Украину.
Вообще, очень странно слышать что-то такое от рф*, в которой официальный только русский, а проживает народов со своими языками — мама не горюй.
Ну здрасьте, то с них трясут, чтобы они остановили всю эту ситуацию, а теперь оказывается, что субъектности у них нет и они ни на что не влияют
Кто-то считает, что у народа рф* есть субъектность, кто-то нет. Я, к примеру, так не считаю. Всю жизнь были нацией рабов путина, а тут вдруг появилась субъектность — ну смешно же.
Хотя чудеса случаются. Но даже если так, то именно "народ" (множество людей) является субъектом, а не отдельный гражданин.
Очень спорно в средне- и долгосрочной перспективе.
Ну хз. Санкции можно отменить, а воскрешать погибших от бомбардировок как-то не научились. Впрочем, может быть нам успеет повезти.
Зачем тогда "санкции" а-ля Netflix-Steam/GOG/шмотки etc., направленные не на страну, а на этих "несубъектов"?
Это скорее про почему, а не про зачем. И это скорее главная причина. Запланированное частичное отключение от мировой финансовой системы ставит под сомнение способность этих сервисов получать от граждан рф* деньги. А раз так, то не имеет смысла держаться за рынок — он не платежеспособен ни формально прямо скоро, ни реально в перспективе.
Все эти вещи создают некоторую ценность для рф*. А сейчас её убирают массово по всем направлениям. Это значит, что граждане рф* будут вынуждены перестраиваться или вовсе будут лишены неких благ. Что ускорит падение экономики.
Это называется "Злокачественная опухоль", если уж хотите свою странную аналогию до конца продолжать.
Да. И это не аналогия, это то мировозрение, которое несет рф* своими последними действиями (уже лет 10-20 навскидку). Любую оппозицию в рф* воспринимают как злокачественную опухоль. Судя по всему прямо сейчас закрывается последнее окошко возможностей, если уже не закрылось. Дальше любые остатки субъектов ваши власти просто вырежут или что там с опухолью делают.
Это все очень грустно и я бы обязательно вам посочувствовал, если бы остались силы на человеческое отношение к "клеткам" врага.
Для того, чтобы ответить на этот вопрос, придется более подробно объяснить.
Это не плохая аналогия, а самая прямая. Сейчас происходит "спор" политических субъектов. Граждане рф* не являются политическими субъектами, они являются "клетками" рф*. Как и граждане Украины. Просто сейчас "клеткам" рф* повезло сильно больше, чем "клеткам" Украины. То, что у этих "клеток" вообще-то есть права и чувства — всем насрать. Можно ныть сколько угодно, но така ситуация будет, пока рф* не свалит по известному направлению. рф* эту ерунду начала, мы теперь все разгребаем.
В теории, некоторое подмножество "клеток" может выступать само как политический субъект, но на это надеяться не приходится.
И вот ответ на ваш вопрос: вы как "клетка" — это срезанный ноготь или отшелушенная кожа. Вы никак не питаете организм рф*, вы никак этому организму пользы не приносите, вы даже не находитесь физически в этом организме. Хреначить санкциями лично вас — это как тыкать иголкой в куклу вуду. Хреначить санкциями большинство граждан рф* — это эквивалент вырезания жкт из организма, чтобы он сдох от голода.
Предположим, что я в РФ. Какие лично мои действия вы бы ожидали? Насколько, вы думаете, они были бы продуктивны?
Вот смоделируем ситуацию. Вас бьет некий мудак. Вы его скрутили, какие-то части его тела нажали жаловаться на то, что им плохо. Спрашивает вас занемевшая рука вашего врага "какие действия вы бы ожидали от меня?". А рука умная-умная и так хочется ей посочувствовать.
У вас есть ответ для его руки? У меня вот нет. И для вас ответа нет.
Именно неудобненько получать за действия людей, на которых у вас ноль влияния. Не понимаю вашего сарказма.
Так я с @amaraoни в каких отношениях не состою. Паспорт ни я, ни он мне не выдавал. Налог ни он, ни я друг другу не платили. И мобилизовать на защиту друг друга ни я, ни он не можем. Россияне же с рф* все-таки в кое-каких отношениях состоят.
Кстати, а меня отменять надо? Я русский, у меня паспорт РФ, но я там с 2014-го года не живу, и до того там принципиально не платил налоги. Очень интересно, что ваше собственное мнение про это говорит.
Не нужно. Но и бомбить Украину тоже, на мой взгляд, не нужно. Только про бомбежку Украины меня как-то никто не спросил.
И в идеальном мире не было бы даже этого разговора, потому что не было бы бомбежек Украины. Но вы продолжайте озлабливаться на тех, кто пытается экономически остановить бомбардировки. Ведь у нас есть столько прекрасных альтернатив давления на этот неидеальный мир.
Так это ж вроде суверенные дела, не? С этим россияне как-нибудь сами разберутся.
Так и санкции это последствия ваших суверенных дел. Разбирайтесь.
Там выше @amarao пишет, что это не терроризм. Можете там как-то с ним договориться?
Ну хочет @amaraoиметь собственное мнение, пускай имеет. И я собственное мнение имею.
В чем проблема? Ах да, вам же неудобненько. Неудобненько получать санкциями и кэнселингом за действия РФ. Неудобно, когда у людей есть собственное мнение. Это у вас озлобленность вызывает. Нуу... бывает.
Ну и есть куда более вероятный шанс, что люди внутри немножко озлобятся, и вы добьетесь скорее обратного результата.
Это потому что люди в рф* привыкли направлять злобу не на власть, а на остальных.
Если сейчас санкции снимут, то у вас останется закон о фейках, бан фейсбука, закон о иноагентах, возможность власти нагнуть население в любой позе (заградительная комиссия 30% при покупке доллара (или уже 12%?), обязательство продавать 80% валюты).
В любом случае гражданам рф* будет очень плохо, но вы продолжайте озлабливаться на тех, кто пытается экономически остановить бомбардировки.
TLDR: при написании кода задействованы те же участки мозга, что и при восприятии и формировании устной речи, а участки, ответственные за логику и математические задачи, практически не меняют свою активность. Это можно объяснить на достаточно бытовом уровне: разработчик сначала придумывает абстрактное решение в голове, как раз используя логические функции мозга, а затем происходит перевод этой абстракции в фактический код. То есть язык программирования является такой же формализацией образов из мышления в конкретную систему символов и правил, как и любой другой человеческий язык.
У данной идеи есть некоторые разумные основания, но… Устная речь была нормальным прокси только в старое время. Потому что в старое время не было асинхронных чатов. Потому что сейчас можно буквально думать об notepad, компенсируя недостаток кратковременной памяти. Потому что сейчас можно написать тесты на код, а не пытаться удерживать все решение в голове. И т.д., и т.п. Время изменилось, прокси-оценка стала хуже работать.
fixed: выбор между свободой с кривыми библиотеками и стандартизацией с кривыми библиотеками.
Вся вот эта вот принудительная стандартизация — она вам нравится пока вы не упираетесь в то, что какая-то из частей экосистемы не выполняет ваши цели. И в случае ангуляра у вас меньше шансов заменить неподходящую библиотеку на другую.
Т.е. о чем говорить, если вы не можете использовать актуальную версию тайпскрипта без того, чтобы ангуляр обновился до неё?
В общем, это срач android (react) vs iOS (angular)
лучше изоляции, но да. Но вообще это будет обычный useReducer.
Если вам прям строгая изоляция нужна, то не существует технических ограничений чтобы держать несколько сторов (я проверял). Есть только рекомендация так делать в последнюю очередь. However, creating new stores shouldn't be your first instinct, especially if you come from a Flux background. Try reducer composition first, and only use multiple stores if it doesn't solve your problem.
А вот с иерархичностью как раз будут проблемы, её нетривиально реализовать.
И нет, это не будет обычный useReducer. Во-первых, потому что обычный useReducer никак не отображается толком в devtools. Во-вторых, потому что useSelector/useDispatch работать не будут, а это одна из самых полезных вещей.
Свою задачу он решает.
А redux типа свою задачу не решает? Просто в моих руках он отлично подходил, чтобы решать мои проблемы.
А так, ну смотря какой di. В Ангуляре он иерархический, и соседние экземпляры могут использовать инжектор одинаковым образом, но получать свои собственные экземпляры. Что в редаксе провернуть уже проблематично, придется лепить составные ключи и пробрасывать их внутрь структуры.
Ну т.е. если в ангуляре инжектор был бы не иерархический, он был бы godlike?
А если бы в redux существовал прозрачный механизм иерархичности, он перестал бы быть godlike?
Вот, например, можно элементарно написать хук типа const [isLoading, data] = useApiCall('/api/getItems') - один раз, и потом в 90% случаев писать только эту строчку. Как вот такое сделать переиспользуемое на redux?
А в чем именно проблема? Довольно наивным образом пишется та версия хука, которая делит статус API-запроса между всеми компонентами. Если почему-то это не подходит и мы желаем строгой изоляции, то всегда можно побить стейт апи-запросов по отдельным инстансам компонентов (а идентифицировать их через useState(newGuid())). Из тонких моментов нужно предусмотреть только очистку данных, когда они не нужны.
Однако. Если вы считаете, что из компонента нормально дергнуть апиху напрямую, то у меня для вас плохие новости. Вам не нужен redux. Накладные расходы на него будут выше, чем польза.
Проблема O(n) на подписках аукнется не в случае нетривиального бизнес-кода, а в случае попытки отобразить слишком много данных. Грубо говоря, при любом изменении стора у вас дергается проверка "а надо ли инициализировать попытку перерендера реакт-компонента?". Данная проблема никак не лечится, но к нетривиальности бизнес-кода не имеет никакого отношения.
Нетривиальный бизнес-код — это когда у вас сайд-эффекты есть. Там тоже можно O(n) случайно добиться, но если так произойдет, то это можно починить.
Так же как и упускаете важный факт — при более разумной архитектуре вам в принципе нужно куда реже что-нибудь дебажить.
Не бывает таких волшебных архитектур, чтобы не приходилось дебажить. Но эта фраза все объясняет. Скорее всего, сложность вашего бизнес-кода довольно тривиальна, раз вам не нужно дебажить.
проблемой O(n) на подписках
это единственная существенная проблема и то нужно постараться, чтобы в неё упереться.
Применяется ли что-то подобное на практике где-нибудь ещё? Да. Например системы вроде babel и webpack. Там развесистые системы хуков. Всё можно связать со всем практически каким-угодно способом. Зачем там весь этот ад? Потому что нужна супер-гибкость для произвольных плагинов. Архитектура заложена такая, чтобы не пришлось переписывать весь core ради очередного плагина. В какой-то степени это расплата за требования в сверх-гибкости.
И вот этот вот отрывок очень прекрасен. Прям хочется спросить. Вы таки правда предлагаете писать код так, чтобы при необходимости добавить что-то пришлось переписывать все нахуй?
И называете это хорошей архитектурой? А что же мы получаем взамен? Некую строгую фиксированную изоляцию, которая не нужна, потому что соблюдается сама по себе?
Redux тем и отличается от Flux, что Store всего один. Это была попытка уйти от проблемы согласования разных store-ов и всяких гонок данных между ними. Мол пока стор один всё очень просто.
Простите, но вот этот вот спор по поводу разделения flux/redux — это какой-то локальный мемчик, подробности которого никому не интересны.
Т.е. вы конечно молодец и вся х..ня, но поставьте себя на место человека, который выбирает стейт-менеджмент решение сейчас (а не когда был актуален срач по поводу flux/redux). У него есть выбор из: них..я (очень частый выбор), симулировать стейт-менеджмент на rxjs, mobx, redux, какое-то специализированное flux-way/redux-way решение от автора фреймворка, и полсотни никем не используемых говноизобретений в библиотеке npm.
И так уж на поверку оказывается, что я вот взял себе в приложении и з..башил два redux-стора, когда появилась нужда сделать модульность. И почему-то мне не понадобилось заменять redux на какую-то реализацию flux. Почему-то реальность не конфликтует с моим убеждением, зато конфликтует с вашим.
И все эти нелепые страдания (даже с immer и прочими уловками) нужны ради… ради ничего.
нужны ради... dev tools как минимум!
Любой НЕ глобальный. Да хоть useReducer и useState, если его не пытаются использовать как global store.
Как мило, конечно. То, что приложение на useReducer/useState разрабатывать/дебажить/сопровождать стало в кучу раз сложнее — это конечно, не х..вая архитектура. Зато redux — это х..вая архитектура, потому что "в древности была битва между redux и flux; и с тех пор мы обязали redux быть глобальным-глобальным и даже микрофронтенды redux обязательно должен прорывать". Прекрасно.
тут соглашусь. ngrx вообще появился когда реактовцы притащили свое барахло в ангуляр.
ngrx появился, потому что rxjs явно недостаточно для стейт-менеджмента.
Еще раз. Я использую один универсальный инструмент для широкого круга задач, связанных с распространением изменений данных и контроля процессов. А по вашему я для каждого гвоздика и шурупчика должен выкопать и применить свой узкоспециализированный? И при этом убедить коллег применять точно такой же. А зачем?
Беда универсальных инструментов в том, что на них все задачи решаются через жопу.
Послушайте, я всю жизнь живу в Украине и всю жизнь общаюсь исключительно на русском.
Так вот, смею заверить, что проблем с этим очень мало. Прям настолько мало, что вы, господа ботороссияне, не сможете оправдать больше одного снаряда упавшего на Украину.
Вообще, очень странно слышать что-то такое от рф*, в которой официальный только русский, а проживает народов со своими языками — мама не горюй.
——
*рф - военный террорист.
Кто-то считает, что у народа рф* есть субъектность, кто-то нет. Я, к примеру, так не считаю. Всю жизнь были нацией рабов путина, а тут вдруг появилась субъектность — ну смешно же.
Хотя чудеса случаются. Но даже если так, то именно "народ" (множество людей) является субъектом, а не отдельный гражданин.
Ну хз. Санкции можно отменить, а воскрешать погибших от бомбардировок как-то не научились. Впрочем, может быть нам успеет повезти.
Это скорее про почему, а не про зачем. И это скорее главная причина. Запланированное частичное отключение от мировой финансовой системы ставит под сомнение способность этих сервисов получать от граждан рф* деньги. А раз так, то не имеет смысла держаться за рынок — он не платежеспособен ни формально прямо скоро, ни реально в перспективе.
Все эти вещи создают некоторую ценность для рф*. А сейчас её убирают массово по всем направлениям. Это значит, что граждане рф* будут вынуждены перестраиваться или вовсе будут лишены неких благ. Что ускорит падение экономики.
Да. И это не аналогия, это то мировозрение, которое несет рф* своими последними действиями (уже лет 10-20 навскидку). Любую оппозицию в рф* воспринимают как злокачественную опухоль. Судя по всему прямо сейчас закрывается последнее окошко возможностей, если уже не закрылось. Дальше любые остатки субъектов ваши власти просто вырежут или что там с опухолью делают.
Это все очень грустно и я бы обязательно вам посочувствовал, если бы остались силы на человеческое отношение к "клеткам" врага.
—
*рф - военный террорист
Для того, чтобы ответить на этот вопрос, придется более подробно объяснить.
Это не плохая аналогия, а самая прямая. Сейчас происходит "спор" политических субъектов. Граждане рф* не являются политическими субъектами, они являются "клетками" рф*. Как и граждане Украины. Просто сейчас "клеткам" рф* повезло сильно больше, чем "клеткам" Украины. То, что у этих "клеток" вообще-то есть права и чувства — всем насрать. Можно ныть сколько угодно, но така ситуация будет, пока рф* не свалит по известному направлению. рф* эту ерунду начала, мы теперь все разгребаем.
В теории, некоторое подмножество "клеток" может выступать само как политический субъект, но на это надеяться не приходится.
И вот ответ на ваш вопрос: вы как "клетка" — это срезанный ноготь или отшелушенная кожа. Вы никак не питаете организм рф*, вы никак этому организму пользы не приносите, вы даже не находитесь физически в этом организме. Хреначить санкциями лично вас — это как тыкать иголкой в куклу вуду. Хреначить санкциями большинство граждан рф* — это эквивалент вырезания жкт из организма, чтобы он сдох от голода.
—
*рф - военный террорист
Вот смоделируем ситуацию. Вас бьет некий мудак. Вы его скрутили, какие-то части его тела нажали жаловаться на то, что им плохо. Спрашивает вас занемевшая рука вашего врага "какие действия вы бы ожидали от меня?". А рука умная-умная и так хочется ей посочувствовать.
У вас есть ответ для его руки? У меня вот нет. И для вас ответа нет.
—
*рф - военный террорист
Массовые митинги в Европе могут:
Заставить правительства стран предоставить военное оборудование для Украины
Заставить отправить наземную помощь НАТО/ЕС/ООН в Украину
Заставить закрыть небо над Украиной
Это все заставляет выбрать сторону.
Так я с @amaraoни в каких отношениях не состою. Паспорт ни я, ни он мне не выдавал. Налог ни он, ни я друг другу не платили. И мобилизовать на защиту друг друга ни я, ни он не можем. Россияне же с рф* все-таки в кое-каких отношениях состоят.
Не нужно. Но и бомбить Украину тоже, на мой взгляд, не нужно. Только про бомбежку Украины меня как-то никто не спросил.
И в идеальном мире не было бы даже этого разговора, потому что не было бы бомбежек Украины. Но вы продолжайте озлабливаться на тех, кто пытается экономически остановить бомбардировки. Ведь у нас есть столько прекрасных альтернатив давления на этот неидеальный мир.
—
*рф - военный террорист
Так и санкции это последствия ваших суверенных дел. Разбирайтесь.
Ну хочет @amaraoиметь собственное мнение, пускай имеет. И я собственное мнение имею.
В чем проблема? Ах да, вам же неудобненько. Неудобненько получать санкциями и кэнселингом за действия РФ. Неудобно, когда у людей есть собственное мнение. Это у вас озлобленность вызывает. Нуу... бывает.
Это потому что люди в рф* привыкли направлять злобу не на власть, а на остальных.
Если сейчас санкции снимут, то у вас останется закон о фейках, бан фейсбука, закон о иноагентах, возможность власти нагнуть население в любой позе (заградительная комиссия 30% при покупке доллара (или уже 12%?), обязательство продавать 80% валюты).
В любом случае гражданам рф* будет очень плохо, но вы продолжайте озлабливаться на тех, кто пытается экономически остановить бомбардировки.
—
*рф - военный террорист
У данной идеи есть некоторые разумные основания, но… Устная речь была нормальным прокси только в старое время. Потому что в старое время не было асинхронных чатов. Потому что сейчас можно буквально думать об notepad, компенсируя недостаток кратковременной памяти. Потому что сейчас можно написать тесты на код, а не пытаться удерживать все решение в голове. И т.д., и т.п. Время изменилось, прокси-оценка стала хуже работать.
fixed: выбор между свободой с кривыми библиотеками и стандартизацией с кривыми библиотеками.
Вся вот эта вот принудительная стандартизация — она вам нравится пока вы не упираетесь в то, что какая-то из частей экосистемы не выполняет ваши цели. И в случае ангуляра у вас меньше шансов заменить неподходящую библиотеку на другую.
Т.е. о чем говорить, если вы не можете использовать актуальную версию тайпскрипта без того, чтобы ангуляр обновился до неё?
В общем, это срач android (react) vs iOS (angular)
Нету. по дефолту все тащат react-router
Нету. можно втащить formik, например.
Нет, не так же. Будешь видеть разные библиотеки, в зависимости от того, что именно лучше подходит. В этом и фишка.
Если вам прям строгая изоляция нужна, то не существует технических ограничений чтобы держать несколько сторов (я проверял). Есть только рекомендация так делать в последнюю очередь. However, creating new stores shouldn't be your first instinct, especially if you come from a Flux background. Try reducer composition first, and only use multiple stores if it doesn't solve your problem.
А вот с иерархичностью как раз будут проблемы, её нетривиально реализовать.
И нет, это не будет обычный useReducer. Во-первых, потому что обычный useReducer никак не отображается толком в devtools. Во-вторых, потому что useSelector/useDispatch работать не будут, а это одна из самых полезных вещей.
А redux типа свою задачу не решает? Просто в моих руках он отлично подходил, чтобы решать мои проблемы.
Ну т.е. если в ангуляре инжектор был бы не иерархический, он был бы godlike?
А если бы в redux существовал прозрачный механизм иерархичности, он перестал бы быть godlike?
Это оправдывает di?
А в чем именно проблема? Довольно наивным образом пишется та версия хука, которая делит статус API-запроса между всеми компонентами. Если почему-то это не подходит и мы желаем строгой изоляции, то всегда можно побить стейт апи-запросов по отдельным инстансам компонентов (а идентифицировать их через
useState(newGuid())
). Из тонких моментов нужно предусмотреть только очистку данных, когда они не нужны.Однако. Если вы считаете, что из компонента нормально дергнуть апиху напрямую, то у меня для вас плохие новости. Вам не нужен redux. Накладные расходы на него будут выше, чем польза.
Проблема O(n) на подписках аукнется не в случае нетривиального бизнес-кода, а в случае попытки отобразить слишком много данных. Грубо говоря, при любом изменении стора у вас дергается проверка "а надо ли инициализировать попытку перерендера реакт-компонента?". Данная проблема никак не лечится, но к нетривиальности бизнес-кода не имеет никакого отношения.
Нетривиальный бизнес-код — это когда у вас сайд-эффекты есть. Там тоже можно O(n) случайно добиться, но если так произойдет, то это можно починить.
Не бывает таких волшебных архитектур, чтобы не приходилось дебажить. Но эта фраза все объясняет. Скорее всего, сложность вашего бизнес-кода довольно тривиальна, раз вам не нужно дебажить.
это единственная существенная проблема и то нужно постараться, чтобы в неё упереться.
И вот этот вот отрывок очень прекрасен. Прям хочется спросить. Вы таки правда предлагаете писать код так, чтобы при необходимости добавить что-то пришлось переписывать все нахуй?
И называете это хорошей архитектурой? А что же мы получаем взамен? Некую строгую фиксированную изоляцию, которая не нужна, потому что соблюдается сама по себе?
Простите, но вот этот вот спор по поводу разделения flux/redux — это какой-то локальный мемчик, подробности которого никому не интересны.
Т.е. вы конечно молодец и вся х..ня, но поставьте себя на место человека, который выбирает стейт-менеджмент решение сейчас (а не когда был актуален срач по поводу flux/redux). У него есть выбор из: них..я (очень частый выбор), симулировать стейт-менеджмент на rxjs, mobx, redux, какое-то специализированное flux-way/redux-way решение от автора фреймворка, и полсотни никем не используемых говноизобретений в библиотеке npm.
И так уж на поверку оказывается, что я вот взял себе в приложении и з..башил два redux-стора, когда появилась нужда сделать модульность. И почему-то мне не понадобилось заменять redux на какую-то реализацию flux. Почему-то реальность не конфликтует с моим убеждением, зато конфликтует с вашим.
нужны ради... dev tools как минимум!
Как мило, конечно. То, что приложение на useReducer/useState разрабатывать/дебажить/сопровождать стало в кучу раз сложнее — это конечно, не х..вая архитектура. Зато redux — это х..вая архитектура, потому что "в древности была битва между redux и flux; и с тех пор мы обязали redux быть глобальным-глобальным и даже микрофронтенды redux обязательно должен прорывать". Прекрасно.
Хм, а в дилемме "единый стор" vs "рассинхронизация и неатомарность" появилось какое-то третье решение, которое не обладает этими проблемами?
ngrx появился, потому что rxjs явно недостаточно для стейт-менеджмента.
Беда универсальных инструментов в том, что на них все задачи решаются через жопу.