artalog – Telegram
artalog
4.2K subscribers
531 photos
40 videos
39 files
896 links
Развернутые ответы на вопросы в чатах, мысли от рабочих процессов.
Вопросы - @artalar.
Download Telegram
notification + pull - как работает Act.

push + pull - как работает классический дерти чекинг и большинство реактивных менеджеров состояний.

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

Самый интригующий вопрос - каких графов в типикал приложений больше? На что ориентироваться?

Думаю, next thing, не big но все же, в менеджерах состояния будет автоматический расчет оптимального алгоритма подписки в зависимости от количества и качества зависимых нод.

схема
👍12❤‍🔥3
А вы знали, что по спеке модулей, изменение импортируемой переменной меняет эту переменную везде? Иначе говоря, в из require мы получаем value type - копию примитивного типа, а при импорте (именованном!) мы затаскиваем себе именно переменную.

https://twitter.com/fabiospampinato/status/1623224334444634112
🤔8👍5🤯2🤡1
Я вот думаю, как сделать пользователя хозяином своих данных, а не сервис?

Прикиньте такую модель. Есть облако в котором ты регаешься и платишь за ресурсы. Есть куча других сервисов, которые пишет кто угодно: почта, фоточки, заметки, соцсетки и тд и тп, которые работают поверх этого стораджа. Те пользователь авторизуется в сервисе через облачного провайдера ресурсов.

Сервисы бесплатные! Облако платит сервисам, за то что их пользователи покупают у него ресурсы. Понимаете модель?

Это уже работает, по сути, только вывернуто наизнанку. А представьте что у амазона / азура будет юзер френдли интерфейс для регистрации и покупки квот.

Сервисы писать так намного легче.
- не ограниченность балансом фич и их маржинальности
- отпадает часть региональных забот по обработке персональных данных
- простой и понятный выход на рынок в плане монетизации

Пользователям вообще сказка.
- контроль над своими данными - легко бекапить на локальную машину
- прозрачность оплаты
- больше конкуренций про перформанс между сервисами

Думаю, есть еще пачка бенефитов, которые я пока не придумал.
Понятно, что замкнутость на специфическом облаке будет проблемой, поэтому нужна общая спека. Каждый сервис будет из коробки селф-хостед ! И представьте как начнут шевелится провайдеры, что бы переиграть друг друга и предоставить конечным пользователям (!) фичи, которые они будут запрашивать у своих сервисов.

Уточню. Я не про децентрализацию, это сложно. Пусть остаются централизованные провайдеры, которые за денежку хендлят комплексити, только нужна возможность переключаться между ними.

В комментарии принесли вот что: https://en.wikipedia.org/wiki/Solid_(web_decentralization_project)
👍9🤡8
Я вот правильно понял, что 1кб ЖСа (гзип) берет примерно 5мс мейн треда на мобиле и 1мс на компе?

https://timkadlec.com/remembers/2020-04-21-the-cost-of-javanoscript-frameworks/
https://news.1rj.ru/str/valya_reads_issue/285

В двадцатых годах мы уничтожили лицензирование как явление, сделав ~MIT дефолтом. Что, с одной стороны, просто и хорошо, но с другой стороны, развивает токсичные отношения между разработчиком и пользователем.

Лицензия описывает не только “как” или “сколько” платить, но и “за что”. Регулярно в ишьесах крупных библиотек встречаются коменты, “ты должен починить это для меня”, “вы не должны ломать обратную совместимость” и т.п. Это абьюзные отношения. Сам смысл может быть верным, пользователи имеют полное право и должны высказывать свое мнение по тому какой продукт они хотят, но конкретные слова тут могут играть большую роль и добавлять или пропускать важные смыслы. Я хочу сказать, что авторы библиотек тоже люди, которые чаще всего делают свои проекты на энтузиазме, ожидая позитивный фидбек в ответ.

У каждого человека есть эгоцентричное чувство справедливости и я понимаю чем автор core-js так не доволен. Не думаю что он прав формально, “требуя” денег, но можно попробовать представить какое моральное давление на него оказывают его условия и обстоятельства. И это важно понимать, софт делают люди.


Думаю, мир стал бы лучше если бы дефолтные лицензии были лучше продуманы и давали бы больше маневров в перспективе. Например https://fair.io
🔥7👍3
Forwarded from Reatom новости (artalar)
Простой паттерн статической конфигурации может сильно упростить и уменьшить работу со стейтом и избавить от лишних ререндеров.

Суть в том что бы иметь возможность создавать инстансы компонентов переназначая какие-то пропсы для начального значения и получая к ним доступ извне.

На скрине мы создаем атом и добавляем его в свойства компонента что бы получить доступ к его стейту извне. Понятно, что можно отдельно описать атомы в файле Login и пробросить их ручками, но таким образом мы контролируем контракт между модулями только на уровне типов, а с функцией create (можно еще назвать ее fork) весь контроль над компонентом остается внутри, но управление доступно снаружи.

Формально говоря, это упущенная фаза "конфигурация", которая в реакте никак не выделена и вместе с "инициализацией" происходит в рендере. Из-за этого много путаницы, лишнего когда и ререндеров.
🔥2
А я говорил что так и будет :)
👍11🤡10🍌1
Делаю reatom/timer, вроде простая штука, а уже сотню строк занимает! На скрине с кодом финальный код тика, скрин с ошибкой показывает результат во время разработки до добавления roundPart.

Вообще интересно, что всякие лодаши содержат только очень простые утилиты, а фабричные функции подробной сложности уже редкость. Реакт с хуками немного улучшил в этом плане ситуацию в экосистеме, но переиспользуемых решений (не привязанных к view либе) я все ещё не знаю.
👍5
Forwarded from kirjs_ru
Сегодня в 19:00 с @artalar (@artalog) и 🦊 посмотрим, что Angular хочет сделать с сигналами - новыми реактивными примитивами, и зачем это нужно.

https://twitter.com/angular/status/1625939902046117890

👀 Посмотреть: twitch.tv/kirjs | youtu.be/pUbTumpv-QE
👍6💩2🔥1
Live stream started
Ask me anything (AMA)
Live stream finished (50 minutes)
По моим ощущениям получилось хорошо все рассказать!
👍1
AMA
artalog
Истрия реатома и его будущее.
👍41