А я часто кнопкам disable проставляю. Потому что это просто работает. Да, знаю что плохо для доступности. Но делать нормально руками задолбаешься. Про себя виню в этом недоработку платформы. Hate me.
artalog
Поймал себя на мысли, что мы совсем забыли про ООП с этими редаксами... Должен быть здравый баланс! О чем речь? Вот есть задача хранить уведомления. Правильно это делать так (еще разберем ниже). А как React и Redux заставляют нас это делать? Отдельный стейт…
Дейли ремайндер ^
Это важно! Уже не первый раз сталкиваюсь с тем как привычная в реакте нормализация вставляет палки в колеса и все усложняет.
Перечитайте тот пост, посмотрите код. Поймите, что такая же логика на реакте будет занимать x2 кода и ментальной нагрузки.
Все-все фреймворки идут в сторону сигналов, позволяя замыкать стейты на реферансах, делать код более доменно-ориентирвоанным. И только реакт сторониться этого. Почему?
RSC могут работать только с plain json, вот почему. Сериализация инстансов - огромный головняк от которого команда реакта старается избавиться последние пять лет.
А вам эта корова зачем? Вот я не понимаю как соотносятся pros and cons. С одной стороны, вам нужно соблюдать пачку значительных ограничений по кодстайлу и обработке данных, учить кучу дополнительных правил и насиловать свой мозг пытаясь жить в этих правилах. Все это умножается еще во сколько-то раз из-за того что код может быть запущен на сервере.
Ради чего? Что бы moment на сервер вынести?? Ну ладно. Вот сколько денег RSC вашему бизнесу выигрывает? Ну примерно? А на сколько RSC улучшает ваш DX как разработчика?
Это важно! Уже не первый раз сталкиваюсь с тем как привычная в реакте нормализация вставляет палки в колеса и все усложняет.
Перечитайте тот пост, посмотрите код. Поймите, что такая же логика на реакте будет занимать x2 кода и ментальной нагрузки.
Все-все фреймворки идут в сторону сигналов, позволяя замыкать стейты на реферансах, делать код более доменно-ориентирвоанным. И только реакт сторониться этого. Почему?
RSC могут работать только с plain json, вот почему. Сериализация инстансов - огромный головняк от которого команда реакта старается избавиться последние пять лет.
А вам эта корова зачем? Вот я не понимаю как соотносятся pros and cons. С одной стороны, вам нужно соблюдать пачку значительных ограничений по кодстайлу и обработке данных, учить кучу дополнительных правил и насиловать свой мозг пытаясь жить в этих правилах. Все это умножается еще во сколько-то раз из-за того что код может быть запущен на сервере.
Ради чего? Что бы moment на сервер вынести?? Ну ладно. Вот сколько денег RSC вашему бизнесу выигрывает? Ну примерно? А на сколько RSC улучшает ваш DX как разработчика?
Не хватает технического хардкора?
Igalia - компания помогающая в разработке всех браузерных движков и многих веб апи. У них есть канал на ютубе на котором постоянно появляются новые доклады: https://www.youtube.com/playlist?list=PL_BRVuWxk8spEYA8DztU2y9Mb7XiQWMv0 (плейлист Web Platform)
Igalia - компания помогающая в разработке всех браузерных движков и многих веб апи. У них есть канал на ютубе на котором постоянно появляются новые доклады: https://www.youtube.com/playlist?list=PL_BRVuWxk8spEYA8DztU2y9Mb7XiQWMv0 (плейлист Web Platform)
Я вообще по жизни человек очень спокойный, но от того что в разных (==всех) ОС нет настраеваемого дебаунса уведомлений мне хочется… кароч я очень злюсь. Зачем мне 10 уведомлений в уши за 10 секунд с разных месенджеров? Ну пишут в разные чаты, ну сделай ты (ОС) один бульк в пол минуты и отстань от меня.
Forwarded from SIBERIA CAN CODE 🧊
Хочу сказать большое спасибо создателю reatom и его товарищу 😍
Они буквально создали пример на reatom, который поможет моему материалу еще больше раскрыться. Я всегда говорю, пример из уст создателя самый лучший. Готовимся дальше🤩
p.s. сообщество создателя reatom
Они буквально создали пример на reatom, который поможет моему материалу еще больше раскрыться. Я всегда говорю, пример из уст создателя самый лучший. Готовимся дальше
p.s. сообщество создателя reatom
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
no-holyjs-examples/src/apps/reatom-variant at main · debabin/no-holyjs-examples
🧊 no holy js state manager. Contribute to debabin/no-holyjs-examples development by creating an account on GitHub.
artalog
Хочу сказать большое спасибо создателю reatom и его товарищу 😍 Они буквально создали пример на reatom, который поможет моему материалу еще больше раскрыться. Я всегда говорю, пример из уст создателя самый лучший. Готовимся дальше 🤩 p.s. сообщество создателя…
В примере не используется реатомовский роутер и реатомовские формы, но разница уже поражает!
Одна из причин - это не использование избыточной нормализации о которой я писал раньше. Компонент
При использовании нормализации (вытаскивании сущностей по id) вы пишите больше не безопасного кода - часто разработчик забивает на nullable проверку при вытаскивании сущности. И даже если вы все сделали правильно, такая архитектура все равно может привести вас к Stale props and zombie children.
Еще прикладной пример из кода выше. В реатоме дебаунс апдейта каждой конкретной карточки описан внутри модели карточки и занимает одну строку. А во всех остальных примерах используется кастомная функция debounce с отдельным кешированием таймаута на каждый id. Для меня это лишняя сложность и лишнее место для багов. И из-за таких, казалось бы, мелочей конечный DX, качество кода и его сложность могут сильно меняться. А в какую сторону - решайте вы :)
Одна из причин - это не использование избыточной нормализации о которой я писал раньше. Компонент
GithubCard
принимает модель с готовыми методами и работает с данными напрямую. Во всех остальных примерах (хуки, саги, санки) что бы прочитать данные карточки - нужно достать их по id, что бы изменить данные - нужно пробросить id. Звучит как ерунда? Скрин доказывает обратное.При использовании нормализации (вытаскивании сущностей по id) вы пишите больше не безопасного кода - часто разработчик забивает на nullable проверку при вытаскивании сущности. И даже если вы все сделали правильно, такая архитектура все равно может привести вас к Stale props and zombie children.
Еще прикладной пример из кода выше. В реатоме дебаунс апдейта каждой конкретной карточки описан внутри модели карточки и занимает одну строку. А во всех остальных примерах используется кастомная функция debounce с отдельным кешированием таймаута на каждый id. Для меня это лишняя сложность и лишнее место для багов. И из-за таких, казалось бы, мелочей конечный DX, качество кода и его сложность могут сильно меняться. А в какую сторону - решайте вы :)
У меня, оказывается, проблемы с “strong logical thinking” 😁
https://gitroll.io/profile/uTANVhnYkwrRFEyIutNAAKQieqvf1
https://gitroll.io/profile/uTANVhnYkwrRFEyIutNAAKQieqvf1
Please open Telegram to view this post
VIEW IN TELEGRAM
“Придумал” паттерн computed factory, буду благодарен если поделитесь ссылкой где он раньше описывался, уверен что я не первый.
ЗЫ: паттерн применим не только к реатому :)
https://youtu.be/CiJ8sJcyi8g
ЗЫ: паттерн применим не только к реатому :)
https://youtu.be/CiJ8sJcyi8g
YouTube
Как решить главную проблему управления состояния раз и навсегда с Reatom.
Разберем как найти золотой баланс между локальными стейтами вьюшки и глобальными стейтами отдельного менеджера состояния.
Код: https://stackblitz.com/edit/reatom-computed-fabric-pattern-example?file=src/app.tsx,src/pages/Search.tsx,src/pages/Search/model.ts…
Код: https://stackblitz.com/edit/reatom-computed-fabric-pattern-example?file=src/app.tsx,src/pages/Search.tsx,src/pages/Search/model.ts…
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from SIBERIA CAN CODE 🧊
Ребята, собираемся сегодня в 13:30 на втором этаже, в опензоне, возможно будут интересные гости 😦
Please open Telegram to view this post
VIEW IN TELEGRAM
HolyJS прошел очень круто!
Общий вайб приятно отличался от того что было после ковида. Возможно, люди стали расскованнее, нетворкинга получил прям сколько хотел, а это самое ценное в конференциях. Ну когда он происходит на фоне огромной площадке с кучей ништяков.😁 Большое спасибо организаторам ❤️
Много с кем не успел пообщаться, но с кем успел - было очень интересно, надеюсь еще увидимся!
По технической части… Ждте релизов и новостей на следующей неделе😉
Общий вайб приятно отличался от того что было после ковида. Возможно, люди стали расскованнее, нетворкинга получил прям сколько хотел, а это самое ценное в конференциях. Ну когда он происходит на фоне огромной площадке с кучей ништяков.
Много с кем не успел пообщаться, но с кем успел - было очень интересно, надеюсь еще увидимся!
По технической части… Ждте релизов и новостей на следующей неделе
Please open Telegram to view this post
VIEW IN TELEGRAM