Состоялся релиз Reatom 1.0.0, менеджера состояния для веб-приложений, работающих по модели flux. Проект может применяться в качестве альтернативы Redux. Код написан на JavaScript и распространяется под лицензией MIT. Автор проекта: Артём Арутюнян...Подробнее: https://www.opennet.me/opennews/art.shtml?num=52069
Читая такие безумные новости, я склоняюсь к мысли, что люди не понимают, зачем нужны компьютеры. А давайте ими будем выгуливать собак и клеить обои?
В чём безумство-то?
Ну как же! люди забыли, что компьютеры для того, чтобы компилировать генту!
Компьютеры для научных вычислений и сложных рассчетов, а генты придумали хипсторы.
Если вы не знает зачем появилась гента и кто её придумал не стоит публично гордиться своим невежеством.
Генту сама себя не скомпилирует, человек прав.
Если ты не знаешь как появилась гента то не надо тут, как уже выше написали, светить своим невежеством.Рептилоиды написали генту для поиска великого оптимального ядра, и когда будет найдено оптимальное ядро оно захватит мир (собственно уже).
Искусственный интеллект годами подбирал флаги компиляции для оптимизации задачи по захвату мирового господства. Рептилоиды при поддержки массонов создали сотни суперкомпьютеров для этой задачи. Но никто не знает результатов этой работы. Поговаривают что массоны продали великое оптимальное ядро Джеффу Безосу, а до этого обладателем ядра являлся Сергей Брин.
Да даже само название генту было дано в честь верховного правителя всех рептилоидов правившего больше сотни лет всеми рептилоидами галактики. Рептилоиды попадая на Землю
всегда устанавливают генту в надежде что они смогут волей случая сами собрать великое оптимальное ядро и подняться в иерархии рептилоидов.
Калькулейт линукс самая что ни на есть настоящая Гента. Можно её компилить на кластере хоть каждый день. А то что твой кластер считает на целый 1% быстрее чем универсальное ядро это эпик вин.
ну их таких нaxep. Потом собаку либо сам лови по улицам, либо лечи, либо то и другое, а обои отвалятся вместе со штукатуркой.
Пусть лучше "менеджеры состояний" кодют, так гораздо меньше вреда.
Компьютеры придумали для того, чтобы появился web-way: сделать пару реактивных кнопочек и продавать за миллиард.
Главное — не запутаться:
=
==
===
> А давайте ими будем выгуливать собак и клеить обои?ДВК-2 вполне можно использовать для укатки линолеума.
> выгуливать собакРазрабы из Boston Dynamics улыбнулись бы твоему каменту, если бы читали опеннет.
> клеить обоиКстати, тот, кто хоть раз клеил обои, наверняка мечтал о двух руках, чтобы держать держать нижний край полосы, двух руках, чтобы поднимать её, приклеивая к стене и ещё об одной руке, чтобы сразу выгонять из-под неё пузыри. Робот, управляемый компьютером мог бы клеить обои намного лучше человека. Более того, робот мог бы клеить сразу с рулона, нанося клей непосредственно перед контактов и отрезая рулон по достижении верхнего края.
Ещё скажи, что софт для роботов пишут вебмакаки на жлобоскрипте.
К сожалению, и такое было. А ещё, вроде, был робот на Жаве, который убился об стену.
> К сожалению, и такое было. А ещё, вроде, был робот на Жаве,
> который убился об стену.Я так и пишу: не понимают, зачем нужен тот или иной инструмент (например, компьютер). Хватаются за модное, заколачивают гвозди микроскопами, руки моют кислотой, зубы чистят сливочным маслом, из автомобилей пытаются сделать смартфон с колёсами и тому подобное.
Все нафиг, порвал. Робот на жаве убился об стену :)))
Это не шутка, если что.
> Разрабы из Boston Dynamics улыбнулись бы твоему каменту, если бы читали опеннет.к сожалению им некогда читать опеннет - все срочно обновляют профили на линкедине, после того как гугль выкинул их на мороз, так и не сумев придумать, нахрен это ему надо.
> Робот, управляемый компьютером мог бы клеить обои намного лучше человека.
я тебе страшный тайна открою - робот без единого управляющего компьютера еще и делал бы это - надежно.
Робот, кладущий плитку (посложнее задачка, да?), помнится, существовал уже во времена позднего совка. Ну как...робот или не совсем? На "жесткой логике". Поколению жабаскрипта надо разжевывать, что это такое?Минус у него был один - реле (или ключи, или на чем уж он там был) не производились из песка, в отличие от микроконтролеров. И труд инженеров стоил (в часах работы и часах на обучение такого инженера, безотносительно к модным тенденциям в экономике фуфла) в сотни раз дороже js-макаки.
Поэтому плитку кладут и обои клеют таджики, а с роботами как-то вот так: http://bash.org/./?240849
Компьютеризированное решение автопилота разумному человеку должно быть подсказано самим естественным устройством дорог (предельно упрощая — колея для колеса) и давно существующим прототипом «автопилотной» дороги — железной дорогой. Заставить автомобили ездить по навигационной сетке из копеечных маячков — задача, для которой достаточно процессоров уровня i386 и операционной системы типа DOS. Но как же тогда пилить миллиарды баксов на взрывных инновациях прогресса?Интересно, кто ещё, кроме меня и тебя, на этом якобы айтишном форуме понимает, что компьютеризация автомобилей — это бубльдотком-2?
Любой человек, пусть даже не изучавший глубоко, но серьёзно интересующийся науками о нервах, мозге и психике, чётко понимает, что попытки сделать человекообразный ИИ неизбежно ведут к созданию примитивной модели очень тупого человека, а не умной самостоятельной машины.Причём на производстве поняли это много десятилетий назад и не заказывают для себя ничего сколько-нибудь напоминающего человека. Там все машины проектируют, говоря отвлечённо, под функцию, а не пытаются обмануть природу вещей и построить электрического мастера на все руки Васяна.
Погромизды — сущая беда для человечества. За что бы ни взялись, всё портят и ломают. Знаний-то и мозгов ни на что нету, кроме говнокодинга.
Редукс же буквально не более 100 строк занимает. Могли бы за место новости исходник выложить
Там это, file на этой неделе обновился. Чего новость не написали. :(>Основные возможности
Такое ощущение, что новость маркетолух писал. :/ Но непонятно, зачем это тут. Проплаченный рекламный пост? Может, пометку для таких делать?
Остро напоминает работу со state в elm lang (ахтунг, диалект хаскеля)
Посмотрел внимательнееПионером был flux. Читал о нём мельком -- когда потребовалось вкатиться во фронт-энд, уже был redux
Общая тенденция -- flux позволял слишком много, redux ввёл ограничения -- стало удобнее. Появились best practice, в частности, константы (названия actions) рекомендуется определять в отдельном файле и впредь импортировать их; из личного -- redux позволяет делать состояния вложенными, но я пришёл к их нормализации (возможно, я болен и мой мозг сожрали реляционные базочки)
Reatom точно эти и возможно другие best practice возвёл в ограничения: теперь не просто придётся определять константы (считай, `declareAction`) в отдельном файле и после их импортировать, теперь не получится сделать иначе. Вложенные состояния теперь невозможны. Зато простые обработчики стали предельно просты и читаемы. Немного стрёмно насчёт CRUD -- там бывает хитрая логика, плохо выносимая в однострочник. Но и тут можно крутиться
Иногда требуется обработать константу другого редьюсера -- при logout нужно очистить состояние. Вроде, такую возможность не потеряли.Посмотрел в код. Если мне не изменяет память, redux прогоняет константу по всем редьюсерам. Просто и достаточно эффективно. Reatom строит дерево -- можно немного тактов сэкономить. На фоне расходов на рендеринг очень смешно, но тем не менее это хорошо
reatom не смотрел, а redux попробовал и ушёл. Он ломает ГЛАВНОЕ преимущество реакта - компонентность. На чистом React лучше писать
> reatom не смотрел, а redux попробовал и ушёл. Он ломает ГЛАВНОЕ преимущество реакта - компонентность. На чистом React лучше писатьНе стоит путать длинное и зелёное :) Классический пример правильного использования redux -- логин пользователя. Откройте форму ответа на opennet: имя пользователя отображается и в правом верхнем углу, и на форме ответа. Так вот, redux гарантирует, что это одни и те же данные, которые можно изменить в одном месте и они обновят разные компоненты одинаково
Оно-то да. Но на нём целиком приложения пишут))
> Оно-то да. Но на нём целиком приложения пишут))Кстати говнокодом это назвать у меня язык не поворачивается. Плюшка в том, что можно гибко рулить контекстом и очищать его, и в то же время не допускать запроса одних и тех же данных дважды
Например, у нас есть список, например, книг. По клику открывается модалка с вкладками -- об авторе, аннотация к книге, оглавление, глава для ознакомления с изложением (набор сканов страниц), похожие авторы (корреляционная нейросеть), etc. Очевидно, стейт модалки при её закрытии нужно вычищать. В то же время не всю информацию есть смысл грузить в модалку сразу -- точно сканы страниц грузить сразу не стоит. И в нейронку лезть сразу неразумно.
Уже загруженную информацию забывать не разумно -- её стоит сохранить, и после очистить, когда она перестанет быть нужна. Вам бы понравилось, если бы при переглючении с предпросмотра главы на список похожих авторов и назад страница перезагружала данные каждый раз? Не, можно пробросить функцию `setState` из модалки вовнутрь, но какой смысл усложнять код, не получая ничего взамен? Скорость исполнения не увеличится.
А просто головой помнить, что вот здесь и вот здесь - логин пользователя, и при его смене надо поменять во всех местах, где он присутствует - не?
> А просто головой помнить, что вот здесь и вот здесь - логин пользователя, и при его смене надо поменять во всех местах, где он присутствует - не?У нас нарисовался любитель спагетти-кода. Сейчас он нам расскажет, как правильно программировать
> спагетти-кодЭто похвально, что ты запомнил незнакомое слово. Теперь бы ещё тебе узнать его смысл.
в школе уже каникулы начались?
Ты ещё скажи, что считать надо в уме, а не на калькуляторе.
Конструктивно расписал! :) Спасибо
Ты на себя сперва посмотри.. потом подумаешь как программировать.
Логика, плохо выносимая в однострочник, лол!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
я в день пишу одну строку зато какую!
Пфе... вот у меня алгоритм хэширования вычисляет всего один бит, зато какой!
Давно использую https://effector.now.sh/
В котором реализовано гораздо больше фич и до сих пор не сломана обратная совместимость
Опачке. Два чаю вам. Красивое решение
Видел, что Илья Климов о нём нелестно отзывался после работы над реальным проектом (хотя до этого хвалил)...Походу ещё посидим на редаксе.
Так же отзовусь о нём нелестно, так же после работы на реальных проектах. Но имхо оно всё же лучше костыльного редакса.
Это да, явно лучше чем редакс.Недавно выкатили reduxjs/toolkit, решающий грехи редакса. Забавно, что половину этого пакета занимает immer.
На фи га, если т. н. менеджер стейта для 99% задач реализуется в 15 строк кода?
Ждём стейт менеджер в 15 строк кода, решающий 99% задач (без сторонних зависимостей) ;)
Главное не забыть включить лифпад.
Давай ты все перепишешь на C89?
Ведро денег принёс ?
Из статьи:
"Мне уже доводилось заглядывать в репозиторий библиотеки redux, но откуда-то появилась мысль углубиться в его реализацию. Своим в некотором роде шокирующим или даже разочаровывающим открытием я хотел бы поделиться с сообществом.TL;DR: базовая логика redux помещается в 7 строк JS кода."
Взглянул на статью.Человек мало того, что написал сломанный вариант Redux так ещё и до решения 99% задач как раком до китайской стены.
Человек, конечно же, слегка утрировал.
Однако великолепно показал этим все макачество рассуждающих с умным видом о целой технологии, которая на самом деле является маленькой элементарной вещичкой.
Вот хорошая реализация. Даже короче
https://twitter.com/tjholowaychuk/status/957853652483416064
А можно мне такое же, только для preact, пожалуйста?
Так оно независимое и с преакт дружит :)
Для реакта есть коннектор, а для преакта нет