artalog
Архитектура веба В комментариях к этому посту Никиты Прокопова опять начался дискурс об ошибочном применении веба (точнее браузерных технологий) для написания приложений. Мол, только нативные технологии, только хардкор, только так можно контролировать перф…
Только что @Akiyamka мне напомнил об еще одной важной архитектурной составляющей веба, добавил в пост (прочитайте целиком, если еще не видели):
8. The last, but not least. Исходники веб страницы открыты и кто угодно может их инспектировать и модифицировать. Редкая фича в нативке. Профит для пользователя в этом огромный: режим для чтения, контрастная тема, блокировщик рекламы, да просто свои стили или скрипты. Конечно, с этим есть сложности, особенно в плане безопасности. Но в конечном итоге, открытые платформы более надежны: они открыты для непредвзятого аудита и хотфиксы к ним делать проще.
8. The last, but not least. Исходники веб страницы открыты и кто угодно может их инспектировать и модифицировать. Редкая фича в нативке. Профит для пользователя в этом огромный: режим для чтения, контрастная тема, блокировщик рекламы, да просто свои стили или скрипты. Конечно, с этим есть сложности, особенно в плане безопасности. Но в конечном итоге, открытые платформы более надежны: они открыты для непредвзятого аудита и хотфиксы к ним делать проще.
👍14
Не знаю каким видео сегодня с вами поделиться, поэтому давайте сделаем AMA в 18-00 (GMT+3). Полайвкодю разнообразную работу на реатомом и поотвечаю на любые вопросы.
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Явное лучше не явного.
Частенько наталкиваюсь на такие проблемы перевода валют - запятая разделяет тысячи или десятичную дробь?
Если интерфейс мультиязычный и в каком-то его поведении может быть не прямой выбор - принимать решение за пользователя плохая идея, обязательно будут те кому попало не то.
Как можно исправить пример из видео? Ну помимо того что инпут валюты должен учитывать принятый в стране валюты разделитель (для us запятая разделяет тысячи), можно сделать ввод дробей валюты более явным отдельным инпутом центов / копеек.
Но я UX репорты не делаю, высказываю свои мысли по своему опыту.
Частенько наталкиваюсь на такие проблемы перевода валют - запятая разделяет тысячи или десятичную дробь?
Если интерфейс мультиязычный и в каком-то его поведении может быть не прямой выбор - принимать решение за пользователя плохая идея, обязательно будут те кому попало не то.
Как можно исправить пример из видео? Ну помимо того что инпут валюты должен учитывать принятый в стране валюты разделитель (для us запятая разделяет тысячи), можно сделать ввод дробей валюты более явным отдельным инпутом центов / копеек.
Но я UX репорты не делаю, высказываю свои мысли по своему опыту.
👍6👎1
artalog
reactive-computed-bench После ананоса сигналов преакта многие ринулись писать свои аналоги. А потом начали их бенчмаркать 🌚 Но что мерить и как? Нашли тест о Cellx, который проверяет возможности строить глубоковложенные связи(!) и немного его поменяв начали…
Говорят что реактивность это огромный оверхед по перфу. И я с этим полностью согласен. В простых случаях.
Но чем код сложнее, тем больше реактивность (не только она, любой тулинг) помогает автоматически его оптимизировать, в этом и заключается ключевая ценность.
Решил сделать наглядный пример того как инструменты помогают оптимизировать производительность даже простейшего кода. И логика тут железобетонная - O(n) быстрее O(n!), как только сложность кода и алгоритма становится больше линейной - лучше полагаться на автоматический тулинг (если есть подходящий).
P.S. добавил ночью в доку реатома описание основных паттернов оптимизации производительности: atomization и ref pattern.
Но чем код сложнее, тем больше реактивность (не только она, любой тулинг) помогает автоматически его оптимизировать, в этом и заключается ключевая ценность.
Решил сделать наглядный пример того как инструменты помогают оптимизировать производительность даже простейшего кода. И логика тут железобетонная - O(n) быстрее O(n!), как только сложность кода и алгоритма становится больше линейной - лучше полагаться на автоматический тулинг (если есть подходящий).
P.S. добавил ночью в доку реатома описание основных паттернов оптимизации производительности: atomization и ref pattern.
👍6🤮1
Последнее время я ничего не смотрю, хотя в заметках что-то оседает, вот что за неделю набралось:
Qwik Core Developers Training (погружение в кишочки Qwik)
"Programmable Ink" by Szymon Kaliski (Strange Loop 2022) (иследование: что если программировать на планшете со стилусом?)
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
https://t.me/pauline_dev/64
В универе нам рассказывали что есть сейсмические и акустические системы перехвата информации, которые по шуму и / или вибрации серверной стойки могут что-то там понять и даже перехватить. 10-30 лет назад такие системы, конечно, были более актуальны, нежели сейчас с виртуализациями, шифрованиями, низковольтными герцами и твердотельными накопителями. Но осадочек остался, я получил полное безразличие к ИБ, от безысходности.
Года три назад хотел возобновить интерес к этой теме (ИБ), почитал пару недель securitylab.ru, нервно посмеялся над тем что стабильно каждую неделю - месяц выходит новый zero-day и опять забил…
В универе нам рассказывали что есть сейсмические и акустические системы перехвата информации, которые по шуму и / или вибрации серверной стойки могут что-то там понять и даже перехватить. 10-30 лет назад такие системы, конечно, были более актуальны, нежели сейчас с виртуализациями, шифрованиями, низковольтными герцами и твердотельными накопителями. Но осадочек остался, я получил полное безразличие к ИБ, от безысходности.
Года три назад хотел возобновить интерес к этой теме (ИБ), почитал пару недель securitylab.ru, нервно посмеялся над тем что стабильно каждую неделю - месяц выходит новый zero-day и опять забил…
Telegram
я_бантик.jpg
фингерпринтинг при помощи аудио апи
я когда-то упоминала, что напишу про фингерпринтинг при помощи аудио апи. подробнее в статье по ссылке, а в файле ниже будет небольшое исследование про фингерпринтинг в браузере в целом.
звук — это волна, передаваемая…
я когда-то упоминала, что напишу про фингерпринтинг при помощи аудио апи. подробнее в статье по ссылке, а в файле ниже будет небольшое исследование про фингерпринтинг в браузере в целом.
звук — это волна, передаваемая…
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
Я пробовал засетапить удаленную машину в 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
Telegram
artalog
Gitpod
Я уже два года пользуюсь этим крутым сервисом для OSS, а осенью затащил селфхост на работу для нашего гитлаба. Вот список основных фич и особенностей, которые я тогда презентовал команде:
- Запуск ВМ (виртуальной машины) в облаке с vscode сервером…
Я уже два года пользуюсь этим крутым сервисом для OSS, а осенью затащил селфхост на работу для нашего гитлаба. Вот список основных фич и особенностей, которые я тогда презентовал команде:
- Запуск ВМ (виртуальной машины) в облаке с vscode сервером…
❤2
artalog
Зачем? Связанный список позволяет сохранить порядок элементов соответствующий их вставки и и берет за это константную сложность. Раньше Set использовал, но он в 3+ больше памяти ест, вот сейчас пробую на LL перейти.
Тред получился большой, спасибо @rdvornov за ценные комментарии.
Итого: кортежи весят больше хиден классов.
Итого: кортежи весят больше хиден классов.
Telegram
Roman Dvornov in JentlemanS
Потому что вы считаете размер по формуле
(X * COUNT + size(RO) + size(IS)) / COUNT
где RO - related objects (сопутствующие объекты), garbage - internal objects (внутрение объекты, которые создает v8)
Так вот, для одного и того же COUNT результат примерно…
(X * COUNT + size(RO) + size(IS)) / COUNT
где RO - related objects (сопутствующие объекты), garbage - internal objects (внутрение объекты, которые создает v8)
Так вот, для одного и того же COUNT результат примерно…
lit
Первый lit был очень крутым - минимальный, но функциональный рантайм движек для html темплейтов. Он был почти идеальный и я даже как-то хотел начать использовать его как основной тул для построения интерфейсов, но не хватило поддержки TypeScript (плагин в IDE тогда работал так себе).
А потом вышла вторая версия и я немного подрастроился: апи стало сложнее - лит стал больше походить на фреймворк. Еще из минусов - SSR упирается в Declarative Shadow DOM support.
Но вот в твиттере расказывают что он очень даже популярный. Из преимуществ над реактом: ближе к нативке, легче, быстрее (между солидом и свелтом).
Ознакомиться, определенно, рекомендую, что бы понять как еще бывает: lit.dev
А если хочется что-то подобное первому литу: github.com/WebReflection/uhtml (2.8 kB)
Первый lit был очень крутым - минимальный, но функциональный рантайм движек для html темплейтов. Он был почти идеальный и я даже как-то хотел начать использовать его как основной тул для построения интерфейсов, но не хватило поддержки TypeScript (плагин в IDE тогда работал так себе).
А потом вышла вторая версия и я немного подрастроился: апи стало сложнее - лит стал больше походить на фреймворк. Еще из минусов - SSR упирается в Declarative Shadow DOM support.
Но вот в твиттере расказывают что он очень даже популярный. Из преимуществ над реактом: ближе к нативке, легче, быстрее (между солидом и свелтом).
Ознакомиться, определенно, рекомендую, что бы понять как еще бывает: lit.dev
А если хочется что-то подобное первому литу: github.com/WebReflection/uhtml (2.8 kB)
👍6🥰1
Putout
Кодмоды очень упрощают миграцию с одной апишки / либы на другую и наоборот, без них миграция может сильно затянуться или придется вовсе от нее отказаться. В JS экосистеме стандартом, пожалуй, является JSCodeshift, но его апишка достаточно вербозная, приближенная к AST.
Лично мне для таких задач хотелось бы иметь какой-то простой язык шаблонов, который бы позволял описывать паттерны кода с нужными фрагментами и иметь возможность их трансформировать. Как @babel/template.
Но недавно я наткнулся (на автора в твиттере) на совсем мощный (с виду, еще не пробовал) инструмент: Putout.
В этой статье приведено несколько хороших примеров использования, например как просто трансформировать аргументы функции в именованные свойства объекта:
(на скринах код “было” и “стало”, код трансформации на jscodeshift, код трансформации на putout)
Кодмоды очень упрощают миграцию с одной апишки / либы на другую и наоборот, без них миграция может сильно затянуться или придется вовсе от нее отказаться. В JS экосистеме стандартом, пожалуй, является JSCodeshift, но его апишка достаточно вербозная, приближенная к AST.
Лично мне для таких задач хотелось бы иметь какой-то простой язык шаблонов, который бы позволял описывать паттерны кода с нужными фрагментами и иметь возможность их трансформировать. Как @babel/template.
Но недавно я наткнулся (на автора в твиттере) на совсем мощный (с виду, еще не пробовал) инструмент: Putout.
В этой статье приведено несколько хороших примеров использования, например как просто трансформировать аргументы функции в именованные свойства объекта:
(на скринах код “было” и “стало”, код трансформации на jscodeshift, код трансформации на putout)
🔥10👍4🤯3🤡1