uk
Feedback
artalog

artalog

Відкрити в Telegram

Развернутые ответы на вопросы в чатах, мысли от рабочих процессов. Вопросы - @artalar.

Показати більше
4 273
Підписники
Немає даних24 години
-47 днів
+230 день
Архів дописів
artalog
4 273
И еще ключевые выводы: Code as a materialized view — мы часто считаем код источником истины, потому что раньше его было сложнее всего переделывать, но теперь это уже не так. Если есть spec, её можно реализовывать по-разному, с разными техническими характеристиками. Теперь маркетинг дороже реализации, и у команд не всегда есть на него достаточно сил. Как всё это будет работать дальше: как Linux, как музыка. Есть разные дистрибутивы, разные ремиксы; нет единственного «правильного» варианта — есть вкусы, идеи и communities, которые объединяются и делают / поддерживают лучшие версии.

artalog
4 273
В посте выше шла речь о том что в гугла есть своя реализация всего. А что если бы они оставили те же контракты и апи что у либ замену которым они написали? Вот вам еще одна история Реакт, как и любоя другая библиотека состоит из двух частей - это контракты, способ описания логики который он предлагает. Майндсет если хотите. А вторая часть это его реализация. Условно можно сказать что с точки зрения разработчика выбирающего стек - первое про то как удобно будет этим пользоваться, а второе как хорошо это будет работать. И так как отдельно это не предлогалось, а самостоятельная реализация очень дорогая мы всегда рассмотраливали эти две половинки как части целого. Была очень дорогой Tanner Linsley для сайта tanstack и своего блога отделил апи реакта и написал его реализацию с тем что нужно ему. Итог получился идентичен оргиниальному реакту (а не как преакт с компат слоем), хотя разница в реализации все же была
Часть этого навсегда вырезается. Конкурентный рендеринг, разделение времени, планировщик на основе lane’ов, React DevTools и клиентский десериализатор Flight вообще не реализованы. useTransition и useDeferredValue выполняются синхронно, startTransition — это просто fn(), а планировщик — обёртка над микротасками. Это продуктовые решения: TanStack Start либо в них не нуждается, либо за это отвечает другая часть стека.
При этом все 200 тестов реакта проходят, и перф бенчмарках его реализация показывает в двое большую производительность. Самое интересное то что итоговая релазция на 80% меньше Конкретные цифры в виде табличек вы можете увидеть в оригинальном посте Теперь я буду внимательней присматриваться к случаям когда я что-то беру только ради удобной апи. Если можно выкинуть 80% веса не жертвуя удобством то почему бы и нет.

artalog
4 273
И еще ключевые выводы: *Code as a materialized view* — мы часто считаем код источником истины, потому что раньше его было сложнее всего переделывать, но теперь это уже не так. Если есть spec, её можно реализовывать по-разному, с разными техническими характеристиками. Теперь маркетинг дороже реализации, и у команд не всегда есть на него достаточно сил. Как всё это будет работать дальше: как Linux, как музыка. Есть разные дистрибутивы, разные ремиксы; нет единственного «правильного» варианта — есть вкусы, идеи и communities, которые объединяются и делают / поддерживают лучшие версии.

artalog
4 273
LLM провайдеры отберут у нас работу, но не так как вы думали! ну да, байт заголовок, но реально так и есть, они просто закроют половину SaaS

artalog
4 273
Очередной мета уровень 🫩 https://x.com/rohanpaul_ai/status/2063289804708835412

artalog
4 273
Собрал менеджер паролей на Reatom v1000. Стек: - Tauri v2, Reatom v1000, Lit - Codex, Claude Code - кастомные skills под Reatom/Lit - самописный local RAG: Tree-sitter, Qdrant, BAAI/bge-m3, BAAI/bge-reranker-v2-m3 Попутно из проекта вынес два публичных пакета: - @chromvoid/headless-ui — headless-слой для UI-поведения на Reatom v1000: состояние, actions, keyboard/focus-логика и WAI-ARIA-контракты без привязки к визуальному слою - @chromvoid/uikit — тонкий Lit UI-kit поверх headless-ui: cv-* компоненты, theme-provider, токены темы и vendored Reatom/Lit runtime helpers Что уже есть: - local-first: данные остаются на устройстве - несколько контейнеров: разные мастер-пароли открывают разные наборы секретов, то есть plausible deniability - пароли, банковские карты, OTP - браузерное расширение, которое получает секреты по зашифрованному каналу - бэкапы и восстановление - монтирование тома через FUSE - встроенные аудио/видео-плееры, просмотр изображений, Markdown-заметки - системный Credential Provider: можно хранить passkey в одном месте и использовать на разных устройствах В работе: - генерация SSH-ключей и свой SSH-agent с fallback на системный - криптокошелек - Remote Mobile to PC: USB, WSS, WebRTC; можно соединять два приложения как клиент-сервер Пока есть только Android-версия. Позже планируются iOS, macOS, Linux и Windows. Буду благодарен за любые отзывы, вопросы и техническую критику :) https://github.com/chromvoid/

artalog
4 273
камунити <3

artalog
4 273
📸 Спустя 1/3 ультра подписки курсора невероятно рад представить вам https://reatom-jsx-gallery.vercel.app/ Исходники: https://github.com/reatom/reatom/tree/v1001/examples/reatom-jsx-gallery (кстати, у нас и релиз новый под это: https://github.com/reatom/reatom/releases/tag/1001.1.0) Фишки - А ИХ МНОГО: • кроссплатформа ☀️ • просмотр всех файлов по всему дереву папки (рекурсивно) • поддержка кучи форматов включая raw • просмотр всего EXIF (ну с нормальными лейблами) • разные, действительно полезные, режимы просмотра (с ресайзом на "+" "-") • нереально быстрый просмотр фоток (после загрузки превьюшек - это еще оптимизирую) • богатый и интересный выбор тем • ничего кроме Reatom в зависимостях! 10к строк в исходниках, 60кб на загрузку! Ну и конечно - 100500 багов 💔 (но часть я уже поправил)

artalog
4 273
Будем делать галерею фотографий на веб технология производительнее нативной в MacOS через пол часа (стрим).

artalog
4 273
Опять говорим про аи...

artalog
4 273
(я к вам из 2023) ЖС, как обычно, неюзабелен...
(я к вам из 2023) ЖС, как обычно, неюзабелен...

artalog
4 273
astro

artalog
4 273
Ближайшие две недели я открыт для консалтинга, ибо отпуск. Могу отревьюить / отрефакторить / сделать целиком какой-то сложный модуль. Могу помочь улучшить перф вашего SPA. Разработать / отревьюить архитектуру. Помочь настроить пайплайн работы с агентом. А еще зацените какое резюме навайбкодил: https://artalar.github.io/artalar

artalog
4 273
Raycast перехал от Swift на React Я рассказывал про Raycast раньше, если он у вас еще не стоит - вы много теряете. Тут важно заметить, что рейкаст для многих славился не столько своими наикрутейшими вылизанными фичами, сколько эталонным перфом без каких-либо нареканий. Поэтому особенно интересно почему и как они переехали на веб технологии в новой мажорной версии. Хайлайты с их технического поста про переезд: TLDR: очень удобно, кросплатформенно, перф отличный с прямыми руками. • Первая версия была на Swift, но толку от этого было не много, потому что конкретно их интерфейс был очень не стандартным и много приходилось переизобретать. • Первая фича на веб технологиях была Notes и она показала себя очень хорошо, "ощущение нативности" не пропало (прим. меня - видать у них просто руки прямые) • Когда они захотели сделать порт на Windows, их первоначальный стек показал себя особенно не хорошо. А пилить и поддерживать две версии на полностью разных нативных технологиях для разных ОС показалось очень дорогим и не надежным удовольствием. • Т.к. основная функциональность приложения клиентская и ее просто не рационально выносить (для унификации) на сервер, стало очевидно что нужен универсальный фреймворк, работающих одинаково на всех ОС. • Electron и Tauri они не выбрали, из-за ряда причин, основная из которых - недостаток гибкости, им проще было поддерживать свой собственный шел на каждой платформе. Это было тяжело, но того стоило. • В статье упоминается пачка технических деталей реализации и схемы архитектуры. Короткий ответ на очевидный вопрос - они взяли React. • Что бы интерфейс ощущался более нативным, пришлось подтюнить некоторые веб дефолты: отключить cursor: pointer, убрать часть ховеров, подтюнить визуализацию переходов между урлами и еще пачка всего. • Описан ряд хаков конкретно для WebKit, что бы сделать его более app (not reader) fiendly. • Под виндой вебвью ("WebView2") - это хромиум, с ним тоже пришлось немного поплясать. • Большая глава про память рассказывает что на активном экране получился регресс в полтора раза, но есть много оправданий почему так и что можно улучшить. • Но что-то на веб технологиях получилось значительно быстрее - кастомные компоненты в чате с AI теперь реализовать проще и работают они лучше. • В конце хороший итог pros and cons четко и по пунктам, советую глянуть.

artalog
4 273
Это было легендарно 😊🤩😀 Спасибо большое @holyjs_channel, вышла очень уютная конференция: полный спектр докладов, интересны
Это было легендарно 😊🤩😀 Спасибо большое @holyjs_channel, вышла очень уютная конференция: полный спектр докладов, интересные стенды - особенно игры на них. Супер нетворк - все участники очень заряженные, много общения, споров, инсайдов - то что нужно 🤗

artalog
4 273
Прямо сейчас идёт доклад про webMCP - не протолкнуться! Тема очень интересная, а вы можете попробовать ее уже сейчас, ну конечно, с реатомом: https://reatom.github.io/reusables/withMCP/

artalog
4 273
Відеоповідомлення00:27

artalog
4 273
Дайте фотопленку, пожалуйста, чб 135 любую! (сегодня и завтра будет много постов по теме и не очень о holy js) Взял ME'шку, вроде помнил что там пустая катушка, а она уже на 36 кадре 😩 Если кто-то может на холи и может захватить и перепродать мне любую 135 чб - буду очень благодарен!

artalog
4 273
На днях вышел новый набор тестов реактивных библиотек от ментейнера реактивности vue. Это НЕ бенчмарки, это проверка корректн
На днях вышел новый набор тестов реактивных библиотек от ментейнера реактивности vue. Это НЕ бенчмарки, это проверка корректности работы библиотек в разных краевых случаях. Тестов, как видите, много, и почти все библиотеки недопроходят десятки из них. Я, конечно, сразу накидал ПР на реатом и сам удивился от результата. Семь лет въедлевой разработки показали плоды 😍 Интересно так же разобрать и что за тест реатом не проходит - это оченьспорная тема! Автор говорит, что если вы в компьютеде обновляете свою же зависимость без какой-либо проверки, что ведет к перевызову этого же компьютеда и опять обновлению и вот вы в бесконечной рекурсии - библиотека сама должна просто остановить выполнение на каком-то этапе. Я с этим не согласен, потому что библиотека не знает а на каком именно этапе нужно остановиться и не зависнуть в ошибочном значение. Если пользователь не указал условие сам - мы не можем брать на себя такую ответственность. Reatom на десятое вложение рекурсивного апдейта выпадет с ошибкой Stuck in recursion. И я даже не буду спрашивать, "а вы как думаете, оставьте комментарий", тут вам не ютуб, я просто прав 😎