artalog
4.24K subscribers
542 photos
40 videos
40 files
911 links
Развернутые ответы на вопросы в чатах, мысли от рабочих процессов.
Вопросы - @artalar.
Download Telegram
Не знаю каким видео сегодня с вами поделиться, поэтому давайте сделаем AMA в 18-00 (GMT+3). Полайвкодю разнообразную работу на реатомом и поотвечаю на любые вопросы.
👍4
Live stream started
Live stream finished (52 minutes)
Why I don't use Prettier by Anthony Fu

Но альтернативы я все равно не вижу.
👍13
This media is not supported in your browser
VIEW IN TELEGRAM
Явное лучше не явного.

Частенько наталкиваюсь на такие проблемы перевода валют - запятая разделяет тысячи или десятичную дробь?

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

Как можно исправить пример из видео? Ну помимо того что инпут валюты должен учитывать принятый в стране валюты разделитель (для us запятая разделяет тысячи), можно сделать ввод дробей валюты более явным отдельным инпутом центов / копеек.

Но я UX репорты не делаю, высказываю свои мысли по своему опыту.
👍6👎1
artalog
reactive-computed-bench После ананоса сигналов преакта многие ринулись писать свои аналоги. А потом начали их бенчмаркать 🌚 Но что мерить и как? Нашли тест о Cellx, который проверяет возможности строить глубоковложенные связи(!) и немного его поменяв начали…
Говорят что реактивность это огромный оверхед по перфу. И я с этим полностью согласен. В простых случаях.

Но чем код сложнее, тем больше реактивность (не только она, любой тулинг) помогает автоматически его оптимизировать, в этом и заключается ключевая ценность.

Решил сделать наглядный пример того как инструменты помогают оптимизировать производительность даже простейшего кода. И логика тут железобетонная - O(n) быстрее O(n!), как только сложность кода и алгоритма становится больше линейной - лучше полагаться на автоматический тулинг (если есть подходящий).

P.S. добавил ночью в доку реатома описание основных паттернов оптимизации производительности: atomization и ref pattern.
👍6🤮1
Последнее время я ничего не смотрю, хотя в заметках что-то оседает, вот что за неделю набралось:

Qwik Core Developers Training (погружение в кишочки Qwik)

"Programmable Ink" by Szymon Kaliski (Strange Loop 2022) (иследование: что если программировать на планшете со стилусом?)
👍4
Как что-то объяснять фронтендеру:
Forwarded from Hey 👋, i'm 𝖙𝖍𝖊𝖐𝖎𝖇𝖆! キバ
Блокчейн со смарт контрактами — это как большой redux store с редьюсерами и селектами.

Смарт контракт — это подобие сгруппированных редьюсеров и селекторов в одном файле.

За работу с редьюсерами взымается плата, так как они апдейтят состояние.

За работу с селекторами плата не взымается.
🔥24🤔9👎1👏1💩1
Зачем? Связанный список позволяет сохранить порядок элементов соответствующий их вставки и и берет за это константную сложность. Раньше Set использовал, но он в 3+ больше памяти ест, вот сейчас пробую на LL перейти.
👍7🤔4
https://t.me/pauline_dev/64

В универе нам рассказывали что есть сейсмические и акустические системы перехвата информации, которые по шуму и / или вибрации серверной стойки могут что-то там понять и даже перехватить. 10-30 лет назад такие системы, конечно, были более актуальны, нежели сейчас с виртуализациями, шифрованиями, низковольтными герцами и твердотельными накопителями. Но осадочек остался, я получил полное безразличие к ИБ, от безысходности.

Года три назад хотел возобновить интерес к этой теме (ИБ), почитал пару недель securitylab.ru, нервно посмеялся над тем что стабильно каждую неделю - месяц выходит новый zero-day и опять забил…
artalog
Gitpod Я уже два года пользуюсь этим крутым сервисом для OSS, а осенью затащил селфхост на работу для нашего гитлаба. Вот список основных фич и особенностей, которые я тогда презентовал команде: - Запуск ВМ (виртуальной машины) в облаке с vscode сервером…
Если вы собираетесь переехать, переезжаете или переехали и думаете а что же делать со старым системным блоком или у вас просто не достаточно мощный ноутбук, то напоминаю что в 2022 уже достаточно спокойно можно переехать в облака.

Я пробовал засетапить удаленную машину в 2019 и это было реально больно. Обычные виртуалки не подходили из-за огромной цены на RAM, да и интеграция IDE - ssh работала так себе.

К счастью, скоро c9.io переродился в gitpod.io и подарил нам простую и удобную среду разработки. Это не реклама, я правда очень доволен этим сервисом и был с ними практически с самого начала, два года разрабатывая Reatom только там. Сейчас это мой сервис по умолчанию для работы с любым OSS, но и в работе я его иногда применяю.

Подробно о gitpod рассказывал тут.

Конечно, есть еще и codespaces.
Недавно codesandbox перезапустился на эту же тему.
Есть еще replit.com и glitch.com, из тех что умеют к IDE поднимать отдельный бекенд. Но все они в чем-то ограничены и никто, кроме гитпода, не дает возможность настраивать базовый docker конфиг (поправьте, если ошибаюсь), что бывает важно в промышленной разработке.

P.S. есть еще https://www.jetbrains.com/remote-development, но я не пробовал.

P.P.S. coder.com
2
lit

Первый lit был очень крутым - минимальный, но функциональный рантайм движек для html темплейтов. Он был почти идеальный и я даже как-то хотел начать использовать его как основной тул для построения интерфейсов, но не хватило поддержки TypeScript (плагин в IDE тогда работал так себе).

А потом вышла вторая версия и я немного подрастроился: апи стало сложнее - лит стал больше походить на фреймворк. Еще из минусов - SSR упирается в Declarative Shadow DOM support.

Но вот в твиттере расказывают что он очень даже популярный. Из преимуществ над реактом: ближе к нативке, легче, быстрее (между солидом и свелтом).
Ознакомиться, определенно, рекомендую, что бы понять как еще бывает: lit.dev

А если хочется что-то подобное первому литу: github.com/WebReflection/uhtml (2.8 kB)
👍6🥰1
Перевел на английский, в основном копипастой из deepl, часть своей старой статьи про архитектуру стейт менеджера. Был бы очень благодарен за вычитку и фиксы переводчика, ПРы с фиксами можно в хактоберфест зачесть.
👍6
Putout

Кодмоды очень упрощают миграцию с одной апишки / либы на другую и наоборот, без них миграция может сильно затянуться или придется вовсе от нее отказаться. В JS экосистеме стандартом, пожалуй, является JSCodeshift, но его апишка достаточно вербозная, приближенная к AST.
Лично мне для таких задач хотелось бы иметь какой-то простой язык шаблонов, который бы позволял описывать паттерны кода с нужными фрагментами и иметь возможность их трансформировать. Как @babel/template.

Но недавно я наткнулся (на автора в твиттере) на совсем мощный (с виду, еще не пробовал) инструмент: Putout.

В этой статье приведено несколько хороших примеров использования, например как просто трансформировать аргументы функции в именованные свойства объекта:
(на скринах код “было” и “стало”, код трансформации на jscodeshift, код трансформации на putout)
🔥10👍4🤯3🤡1