artalog
4.24K subscribers
542 photos
40 videos
40 files
911 links
Развернутые ответы на вопросы в чатах, мысли от рабочих процессов.
Вопросы - @artalar.
Download Telegram
Как что-то объяснять фронтендеру:
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
cookie VS localStorage.

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

Несколько уточнений.
XSS для кук не актуален при HttpOnly.
“загрузка больших файлов” через Content-Disposition по прямой ссылке при ограниченном к ним доступе работает прозрачно с куками, иначе нужно плодить отдельный сервис генерации временных ссылок.
Ну и обратите внимание на последний пункт, об этом редко говорят, для каких-то систем это может быть критически важно.
👍19😁1🤡1
Forwarded from { между скобок } анонсы 📣 (Grisha Skobelev)
CHAPTER 9: Design a web crawler

В публичный доступ вышло интересное и полезное обсуждение про web crawler. Советую вам заценить - Сергея UfoCoder сделал классную презентацию, где разобрал в деталях как работает поисковый робот. Так же обсудили на что стоит обратить внимание и какие возможные проблемы могут быть. Еще в самом начале Андрей показал нам артефакты из прошлого ❤️ Получилось очень лампово.

Видео уже на YouTube

PS поддержите пожалуйста нас лайком и хорошим комментарием на YouTube 🙏 Ваша поддержка помогает нам дальше заниматься этим
4🤡1
Forwarded from artalar
Я обновил bun (0.2.0) и это просто безумие, каждый бенч в несколько раз быстрее!!

(на скрине сравнение ноды и бан)
🔥17🤡2🤔1
Рисование в excalidraw.com меня прям расслабляет.
👍16🤡1
Начал переезд на браузер vivaldi 🙂

Ну это из плохого. А вообще, пока что, нравится. Потом подробнее опишу.
👍3🤡2
#why_ff_is_bad
Как же у меня горит 🙃

Вот самый первый пример из экзамплов react-final-form, включите “Highlight updates” в реактовских девтулзах - мигает все при любом инпуте.

Сам useField / Field создается чудовищно долго, вот мои наблюдения.

Я уже писал о разных багах и недочетах.

Сейчас пытаюсь сделать адаптер для переезда с ff и столкнулся с целой кучкой проблем final-form-arrays, просто поразительно как все плохо может быть, если не думать наперед.

Какая альтернатива? Говорят react-hook-form.com самый нормальный (не без проблем). А я пока пилю пакет для реатома, никаких революций, просто пытаюсь сделать нормально и что бы скейлилось.

P.S. если у вас не форм билдер и нет зависимых полей - отдельная либа и не нужна, у нативки достаточно фишек.
🙏5👎1🤡1
artalog
Рисование в excalidraw.com меня прям расслабляет.
Не всем нравятся такие простые сервисы как excalidraw, но если вас зацепило - вот еще tldraw.com

Там рисование от руки хорошо сделано, об этом много в тви писал автор. Судя по его постам, сделать линию похожую на такую же из физического мира ооочень сложно. Как минимум, отклик сенсора не мгновенный и сложно понять на сколько крутой поворот и как рисовать при быстром движении руки. Из таких мелочей качество и формируется.
👍7
Forwarded from Reatom новости
В ctx.schedule можно передать второй аргумент - место в очереди. “-1“ - это очередь роллбеков, которые будут вызваны в случае появления ошибки в транзакции.

Ну те да, можно безопасно делать сайд эффекты в чистых функциях.
🤡4