artalog – Telegram
artalog
4.2K subscribers
531 photos
40 videos
39 files
896 links
Развернутые ответы на вопросы в чатах, мысли от рабочих процессов.
Вопросы - @artalar.
Download Telegram
Я вот правильно понял, что 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
Давайте пжлст договоримся.

EcmaScript (ES) - это спека, в ней нет ничего про таймеры и остальное IO.

Но смысла в ней в отдельности от рантайма практически нет.

JavaScript (JS) - это ES + IO апишки, типа таймеров, фетча, бродкаст чанклов и т.п. Это то с чем большинство разработчиков работает и о чем постоянно приходится заботится: асинхронные гонки состояний.

В чате с утра баталии идут, а асинхронный ли ЖС... Ну в моей работе точно да.
👍18🔥4🕊31
CleanShot 2023-02-20 at 08.49.34@2x.png
580.5 KB
Несколько дней на новой теме, на столько нравится, что даже в светлое время суток не переключаюсь.


"workbench.colorTheme": "Vesper",
"editor.fontFamily": "Iosevka Term",
"editor.fontWeight": "600",
"editor.fontLigatures": true,
"editor.fontSize": 18,
👍11👎2😱2🫡1
Завел багу https://github.com/oven-sh/bun/issues/2121

По спеке должен быть ~следующий тик, но не микротаск.
🔥11👍2😁2
artalog
Завел багу https://github.com/oven-sh/bun/issues/2121 По спеке должен быть ~следующий тик, но не микротаск.
Так, человеки, я этот баг получил из реального кода - тестов реатома.
artalog
А я говорил что так и будет :)
Про TanStack Start - фреймворк от тенстак.

https://twitter.com/JLarky/status/1627855828530393088
❤‍🔥2🤮2