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

J>О, наконец-то знаток.)

Я не знаток, только юзер.

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

J>Говорят, его можно отладить этим волшебным инструментом:
J>

J>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.

J> 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)

J>Так я и делаю, запускаю ```yarn start:dev```, запускаю эти тулз — и ничего не видно.) И вот все в это js так: работает иногда в очень специальных случаях, а что делать когда не работает — никто не знает. В плюсах если что-то не работает — всегда есть куда копать.)

Я про A crypto wallet & gateway to blockchain apps. После установки и активации Redux DevTools, у хрома в Developer tools добавляется закладка (в придачу к Network, Sorce, ...), на которую переключаешься и оно показывает автоматически выбранное хранилище Redux твоей прилаги. Если хранилищ несколько, как в моём случае- справа вверху комбик позволяет переключаться между ними. Оно работает из коробки.
Re[16]: Как в C++ получить Redux и Redux Dev Tools
От: Тёмчик Австралия жж
Дата: 31.12.20 11:33
Оценка: :)
Здравствуйте, landerhigh, Вы писали:

L>Бугага, лол, пельмень.


Ты бы лучше не бугагашечки, а порефлексировал на тему, как не смог пройти интервью в Австралии и чемодан-вокзал- Петербург. Одним Шнайдером или где ты там куковал, рынок не ограничивается.
Re[17]: Как в C++ получить Redux и Redux Dev Tools
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 31.12.20 13:04
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>Ты бы лучше не бугагашечки, а порефлексировал на тему, как не смог пройти интервью в Австралии и чемодан-вокзал- Петербург. Одним Шнайдером или где ты там куковал, рынок не ограничивается.


А у вас там разве рынок за пределами формочки на JS херачить есть? Хм, а если он у вас есть, то ты почему формочки на JS прорывные UI-приложения базирующиеся на КА херачишь?
Отредактировано 31.12.2020 13:10 kaa.python . Предыдущая версия .
Re[17]: Как в C++ получить Redux и Redux Dev Tools
От: landerhigh Пират  
Дата: 31.12.20 13:23
Оценка:
Здравствуйте, Тёмчик, Вы писали:

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


Конечно не смог. Чтобы работать сантехником, нужно два года в тейф отходить и еще два года подмастерьем за обеды.

Тё>Одним Шнайдером или где ты там куковал, рынок не ограничивается.


Теперь и Шнайдера Citect там нет
www.blinnov.com
Re[10]: Как в C++ получить Redux и Redux Dev Tools
От: landerhigh Пират  
Дата: 31.12.20 13:26
Оценка: 1 (1) :)))
Здравствуйте, kaa.python, Вы писали:

KP>У меня есть ощущение, что в мире JS каждый год проявляется какая-то новая, "прорывная" технология которую надо обязательно использовать, а то всё пропало


Каждый год?

www.blinnov.com
Re[18]: Как в C++ получить Redux и Redux Dev Tools
От: Тёмчик Австралия жж
Дата: 31.12.20 15:47
Оценка:
Здравствуйте, kaa.python, Вы писали:

Тё>>Ты бы лучше не бугагашечки, а порефлексировал на тему, как не смог пройти интервью в Австралии и чемодан-вокзал- Петербург. Одним Шнайдером или где ты там куковал, рынок не ограничивается.


KP>А у вас там разве рынок за пределами формочки на JS херачить есть? Хм, а если он у вас есть, то ты почему формочки на JS прорывные UI-приложения базирующиеся на КА херачишь?


Нет конечно, только опердни для сбера херачим, на жабаскрипте, в блокноте. Молча завидуем ассенизаторам из Адоба.
Re[18]: Как в C++ получить Redux и Redux Dev Tools
От: Тёмчик Австралия жж
Дата: 31.12.20 15:51
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Теперь и Шнайдера Citect там нет


Куда вынесли кал мамонта поддерживать — в Индию или Сингапур?
Re[19]: Как в C++ получить Redux и Redux Dev Tools
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 01.01.21 02:49
Оценка: +1
Здравствуйте, Тёмчик, Вы писали:

Тё>Нет конечно, только опердни для сбера херачим, на жабаскрипте, в блокноте. Молча завидуем ассенизаторам из Адоба.


Я бы тоже завидовал, если б был вынужден писать веб.странички которые только на 8 Гигах памяти в состоянии открыться
Re[20]: Как в C++ получить Redux и Redux Dev Tools
От: Тёмчик Австралия жж
Дата: 01.01.21 03:09
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Я бы тоже завидовал, если б был вынужден писать веб.странички которые только на 8 Гигах памяти в состоянии открыться


В вин10 в IE11
При этом летает на первом ipad pro (1г?) и моём устаревшем xperia (4г?).

А вот как ты много лет ассенизировал кал мамонта из 80-х, аутсорснутый из США- это драйв! Острие прогресса!
Re[10]: Как в C++ получить Redux и Redux Dev Tools
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 01.01.21 04:21
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>У меня есть ощущение, что в мире JS каждый год проявляется какая-то новая, "прорывная" технология которую надо обязательно использовать, а то всё пропало

А вот у меня ощущение, что в мире JS количество людей которые закончили хотя бы 2 курса технического универа стремиться к нулю. Курс конечных автоматов читался нам на 2 курсе, там было и как проектировать автоматы, и как их оптимизировать, и как проще кодировать. Как сейчас помню, классические автоматы Мили и Мура. Странно, что эти знания для кого-то являются неким подобием божественного откровения.
Sic luceat lux!
Re[10]: Как в C++ получить Redux и Redux Dev Tools
От: SomeOne_TT  
Дата: 01.01.21 06:24
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>У меня есть ощущение, что в мире JS каждый год проявляется какая-то новая, "прорывная" технология которую надо обязательно использовать, а то всё пропало


MVU и иммутабельность — это давно известные вещи, которые, как мы можем видеть, сильно влияют на юные умы, неразбалованные функциональщиной.
Re[3]: Как в C++ получить Redux и Redux Dev Tools
От: Dair Россия https://dair.spb.ru
Дата: 01.01.21 12:44
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>Redux, если к нему прибавить effect-ы, получается как плоская FSM. Но в чистом Redux только reducer-ы есть.


Что значат все эти слова, какие задачи этим решаются?
Re: Как в C++ получить Redux и Redux Dev Tools
От: Люблю жить простенько  
Дата: 02.01.21 11:51
Оценка: +1
Здравствуйте, Тёмчик, Вы писали:


Тё>Итак, возьмём прогрессивный паттерн Redux https://redux.js.org/


Это куча бойлерплейта при каждом чихе, сделана Данилом для прогеров, которые "вошли в фронтенд" на курсах и большинство их даже не знают, чем объект от класса отличается или что на объекты существует ссылки. Для них дебаггер — тёмный лес, они плагины для браузера качают и удивляются, что можно отследить изменение переменной в консольке Идёт в связке с "библиотекой" react, которую написали пхпшеники старого закала (безумная мешанина html/js/php, глобальные переменные, функции возвращающие намешанные куски глобального контекста), у которых взлетел стартап. Чуваки знают про CSS из отрывков мануалов в сети, не зная глобальной концепции, поэтому 10 лет пытаются переизобрести css классы на javascript с помощью stateless компонентов и постоянно бьют себя по рукам, когда у них не получается.

Если это для тебя "прогрессивный" паттерн, то тебе можно в принципе не писать на этом форуме, он будет чище.
Re[2]: Как в C++ получить Redux и Redux Dev Tools
От: StandAlone  
Дата: 02.01.21 13:27
Оценка: 8 (4) +2 :))) :)
Здравствуйте, kaa.python, Вы писали:

Тё>>Итак, возьмём прогрессивный паттерн Redux https://redux.js.org/


KP>Redux — это что?


Это God-object, глобальная помойка, в которую свалено все состояние приложения. Буквально все, вплоть до того, какая кнопка кликнута в тот или иной момент и какая буква нажата пользователем в очередном инпуте. На текущем проекте, примитивной учетной системе, это сейчас порядка 47-48 тысяч переменных. Хаотично разбросанных по от балды названным подобъектам, порядка 40 уровней вложенности.
Работает это все следующим образом.
Есть глобальный обработчик событий, и на каждый чих, когда нужно изменить любую из переменных в глобальной помойке, туда отправляется сообщение с привязанными данными. В глобальном обработчике 47-48 тысяч условий break. Слепленных воедино из разных файлов, разумеется. Все эти условия будут опрошены на соответствие строковой константы сообщения условию брейка. Если таковое сработало, то весь глобальный объект пересоздается, ради изменения нажатой пользователем буквы или состояния кнопки. В простом случае обработчик на этом завершается, в непростом одной и той же строковой константе могут соответствовать несколько обработчиков, делающих разное. Например, отправляющих иные сообщения. Которые, в свою очередь, могут отправить еще сообщения. И еще, чтобы асинхронно проверить завершение текущей операции на беке,ведь вчерашние верстальщики не могут осилить сложные концепции генераторов, в которые транспилится async....Это называется "функциональный стайл с effects". Да-да, именно, побочные эффекты, все на них построено.
Вся связано со всем, и понять какая часть приложения за что отвечает нет никакой возможности, именно для этого нужны упомянутые "суперудобные отладчики". Да, в консоли браузера смотреть на 47 тысяч переменных на эдак 30-40 уровнях вложенности очень удобно, не поспоришь. И все это миллион раз проходит через один и тот же свич-кейз, с кучей дополнительных приседаний вокруг. В результате банальная учетка на Ryzen 5 шевелится медленнее, чем пакет Flow Simulation c сеткой на миллион элементов. Выглядит очень солидно, солидный продукт для солидных господ, не то что срань какая-то типа Солида или Автокада.

Все уже догадались, что это? Совершенно верно.

Это MFC 6.0 и WndProc, брошенные в кормушку жаваскриптерам. Большинство современных "программистов"-фронтендеров про такое даже не слышали, они фамилию Кнута-то не знают, поэтому трудолюбивые обезьянки с утра до вечера копипастят константы вида XXX_START, XXX_SUCCESS, XXX_FAILURE и героически борются с багами, вызванными зацикливанием эффектов.
Зачем это нужно? Чтобы невозможно было переиспользовать части реализации. Чтобы все проекты представляли собой копролит, который проще переписать с нуля, чем починить. В общем, все то же самое,чем были проекты на MFC. Чтобы было чем занять толпу обезъянок-"программистов HTML" и соответственно дать менеджеру возможность оправдать раздутие бюджета перед заказчиком.
Еще это из подхода Fire and Motion, т.е. технология используемая Гуглом и прочими крупными корпорациями для торможения прогресса мелких конкурентов.
Re[10]: Как в C++ получить Redux и Redux Dev Tools
От: sambl74 Россия  
Дата: 02.01.21 13:43
Оценка: 2 (1) +1
Здравствуйте, kaa.python, Вы писали:

KP>У меня есть ощущение, что в мире JS каждый год проявляется какая-то новая, "прорывная" технология которую надо обязательно использовать, а то всё пропало


Да просто там ещё есть движуха, в других местах уже всё давно придумано и обкатано — а тут каждый день появляется новый hype train. Но вроде и тут начинается стагнация — позапрошлогодняя статья
Re[2]: Как в C++ получить Redux и Redux Dev Tools
От: StandAlone  
Дата: 02.01.21 13:52
Оценка: -1
Здравствуйте, Люблю жить простенько, Вы писали:

ЛЖП> Идёт в связке с "библиотекой" react, которую написали пхпшеники старого закала (безумная мешанина html/js/php, глобальные переменные, функции возвращающие намешанные куски глобального контекста), у которых взлетел стартап.


Все верно. "Шаблонизатор" типа React я видел еще в книжке по PHP 4.0, которую читал на вахте после смен в 2002 году . Большинство нынешних "фронтендеров" выросли из макак-верстальщиков. Для них это все очень удобно и понятно. Структурное программирование, когда все валяется в отдельных висящих в воздухе функциях. Никаких сложных классов и объектов.
Мне самому на ревью такой тимлид заворачивал применение шаблона стратегия с обоснованием — "Опять это геморройное ООП, слишком сложно, остальная команда не поймет. Делай как все, скопипасти для каждого из трех вариантов и подправь". А почему бы нет, пока заказчик за таких сеньеров-аутсорсеров платит?
И опять же, для них это job safety. Никакой документации ведь нет, разобраться во всем этом кургане костылей могут только те, кто их туда накидывал годами.
Самоподдерживающийся процесс производства говнокода и говнопродуктов.
Пресечь это можно лишь децимациями принудительным введением норм серьезной промышленной индустрии, с четким стандартами проектирования, реализации и внешним аудитом. Когда всех эджайл-коучей и агитаторов-евангелистов либо пересажают за создание общественной угрозы, либо отправят на мороз, а макак-верстальщиков на курсы базовых инженерных знаний. Как строителей, либо разработчиков промышленных изделий для публичного применения. Жаль, только жить в эту пору прекрасную... (c)
Re[3]: Как в C++ получить Redux и Redux Dev Tools
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 02.01.21 13:59
Оценка:
Здравствуйте, StandAlone, Вы писали:

SA>Это God-object, глобальная помойка, в которую свалено все состояние приложения. Буквально все, вплоть до того, какая кнопка кликнута в тот или иной момент и какая буква нажата пользователем в очередном инпуте. На текущем проекте, примитивной учетной системе, это сейчас порядка 47-48 тысяч переменных. Хаотично разбросанных по от балды названным подобъектам, порядка 40 уровней вложенности.

мелких конкурентов.

Спасибо большое за описание! Я, честно говоря, думал что это очередной "прорыв в мире JS", но не думал что на столько всё плохо.
Re[11]: Как в C++ получить Redux и Redux Dev Tools
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 02.01.21 14:00
Оценка: :)
Здравствуйте, sambl74, Вы писали:

S>Да просто там ещё есть движуха, в других местах уже всё давно придумано и обкатано — а тут каждый день появляется новый hype train. Но вроде и тут начинается стагнация — позапрошлогодняя статья


Для себя я давно решил, что во фронт не пойду ни за какие коврижки, а статья классная, спасибо!
Re[12]: Как в C++ получить Redux и Redux Dev Tools
От: StandAlone  
Дата: 02.01.21 14:40
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Для себя я давно решил, что во фронт не пойду ни за какие коврижки


В этом есть резон. Погнавшись за x3 к ЗП, теперь чувствую себя сварщиком НАКС в бригаде полуграмотных гастеров-вязчиков арматуры, не умеющих толком держать электрод. "I'm an Englishman in New-York".
Отвечая на вопрос одного из топ-манагеров, что можно было бы улучшить в системе, осторожно предложил несколько идей из Б. Мейера, и на вопрос — "Зачем?" привел краткое технико-экономическое обоснование, как внедрение всего этого позволило бы избежать факапов типа недавнего, когда был практически сорван дейдлайн и приемка со стороны крупнейшего заказчика. А в ответ вежливое кивание головой, и взгляд...даже не как на пустое место, а как на дурачка. Типа, тебе больше всех надо, что ли? И вправду, ведь чувак этот зарабатывает раз в 5 больше меня и явно неглуп. Все перечисленные мной банальности из базовой инженерии понимает, но ему насрать. И всем остальным тоже. Дешевым макакам-вротендерам потому что они и не знают, как электрод правильно держать, всегда так навоз в продакшен кидали.
А менеджменту, потому что кем надо все что надо подписано, откаты засланы, бабло успешно пилится, премии менеджерам успешно приходят, и на остальное просто наложить огромную вонючую кучу. Продолжая строительную аналогию, то что через год после сдачи этот дом пойдет трещинами по несущим стенам из-за той самой арматуры, всем просто побоку. На тот момент юридического лица-ответчика уже не будет существовать, физически. И все.
Вот на современном фронте айтишном ровно такая ситуация в десятках разных проектов самого разного масштаба, которые видел за годы галерной гребли.
Только на одном было четкое проектирование, fail-safe, строгая изоляция, контроль контрактов и пост-предусловий для каждого из черных ящиков-компонент системы, связанных единой шиной. И длился он годы и крутились через него триллионы баксов для крупнейшей энергетической компании. Но, сюрприз, проектировали тот проект настоящие программисты, а не фронтендеры.
Re[3]: Как в C++ получить Redux и Redux Dev Tools
От: Тёмчик Австралия жж
Дата: 02.01.21 15:28
Оценка: :))
Здравствуйте, StandAlone, Вы писали:

  Скрытый текст
SA>Это God-object, глобальная помойка, в которую свалено все состояние приложения. Буквально все, вплоть до того, какая кнопка кликнута в тот или иной момент и какая буква нажата пользователем в очередном инпуте. На текущем проекте, примитивной учетной системе, это сейчас порядка 47-48 тысяч переменных. Хаотично разбросанных по от балды названным подобъектам, порядка 40 уровней вложенности.
SA>Работает это все следующим образом.
SA>Есть глобальный обработчик событий, и на каждый чих, когда нужно изменить любую из переменных в глобальной помойке, туда отправляется сообщение с привязанными данными. В глобальном обработчике 47-48 тысяч условий break. Слепленных воедино из разных файлов, разумеется. Все эти условия будут опрошены на соответствие строковой константы сообщения условию брейка. Если таковое сработало, то весь глобальный объект пересоздается, ради изменения нажатой пользователем буквы или состояния кнопки. В простом случае обработчик на этом завершается, в непростом одной и той же строковой константе могут соответствовать несколько обработчиков, делающих разное. Например, отправляющих иные сообщения. Которые, в свою очередь, могут отправить еще сообщения. И еще, чтобы асинхронно проверить завершение текущей операции на беке,ведь вчерашние верстальщики не могут осилить сложные концепции генераторов, в которые транспилится async....Это называется "функциональный стайл с effects". Да-да, именно, побочные эффекты, все на них построено.
SA>Вся связано со всем, и понять какая часть приложения за что отвечает нет никакой возможности, именно для этого нужны упомянутые "суперудобные отладчики". Да, в консоли браузера смотреть на 47 тысяч переменных на эдак 30-40 уровнях вложенности очень удобно, не поспоришь. И все это миллион раз проходит через один и тот же свич-кейз, с кучей дополнительных приседаний вокруг. В результате банальная учетка на Ryzen 5 шевелится медленнее, чем пакет Flow Simulation c сеткой на миллион элементов. Выглядит очень солидно, солидный продукт для солидных господ, не то что срань какая-то типа Солида или Автокада.

SA>Все уже догадались, что это? Совершенно верно.


SA>Это MFC 6.0 и WndProc, брошенные в кормушку жаваскриптерам. Большинство современных "программистов"-фронтендеров про такое даже не слышали, они фамилию Кнута-то не знают, поэтому трудолюбивые обезьянки с утра до вечера копипастят константы вида XXX_START, XXX_SUCCESS, XXX_FAILURE и героически борются с багами, вызванными зацикливанием эффектов.

SA>Зачем это нужно? Чтобы невозможно было переиспользовать части реализации. Чтобы все проекты представляли собой копролит, который проще переписать с нуля, чем починить. В общем, все то же самое,чем были проекты на MFC. Чтобы было чем занять толпу обезъянок-"программистов HTML" и соответственно дать менеджеру возможность оправдать раздутие бюджета перед заказчиком.
SA>Еще это из подхода Fire and Motion, т.е. технология используемая Гуглом и прочими крупными корпорациями для торможения прогресса мелких конкурентов.


Если отбросить в сторону стиль изложения, утащенный у меня (про C++ неспособных в алгоритмы шаблоно-дрочеров), какую ты предлагаешь альтернативу?

1) WND Proc гигантская портянка свича на 30 экранов (на базе hash- таблицы, построенной C++ компилятором int =>) vs JS- объект, динамически построенный из разных исходников (hash-таблица string => до JIT оптимизации). Результат один, отличие в оформлении исходников.
2) Winapi — стиль это эффекты-обработчики сразу, vs reducer-ы, поддерживающие состояние. В vanilla Redux нет эффектов.
3) Глобальное объектно-ориентированное хранилище переменных, как объект, т.е. быстрый доступ к переменным. Single Source of Truth. Обоснуй, чем это плохо.
4) Невозможно поменять значение переменной в Redux без события (action). Это очень хорошо.
5) Прицепленный на Redux RxJS: визуальные контролы подписываются на интересующие их переменные и автоматически перерисовываются.

PS эффекты на Redux-е вызываются все сразу. Statechart позволяет цеплять разные эффекты на разные узлы иерархического состояния, и исполнять только эффекты активных узлов.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.