Web TerminalПолностью браузерный терминал для работы с последовательными портами (COM-портами). Не требует установки, работает прямо в Chrome или Edge. Весь код одним файлом. Не требует компиляции и сборки, легко править обычным блокнотом — открыл и работаешь. Работает на JavaScript и Web Serial API.Быстро подключается к портуНе нужно узнавать номер COM-порта в диспетчере устройств и вводить его вручную. Просто нажмите «Подключить» — браузер сам покажет список всех доступных последовательных по…
Привет. Недавно пришлось повозиться с @tanstack/vue-table. Задача была стандартная: нужна таблица с сортировкой, фильтрами и редактированием ячеек. Казалось бы - идеальное время подключить готовое решение. Но не всё так гладко. Делюсь мыслями, граблями и тем, как я в итоге выкрутился. Что это вообще такоеЕсли коротко: это headless-библиотека. То есть она даёт логику, а как это будет выглядеть - решаешь ты сам. Никаких готовых тем, никаких дефолтных стилей. Полный контроль, но и вся ответственн…
Привет, Хабр! Продолжаем серию статей о разработке мобильных приложений с помощью Capacitor. Если вы не читали предыдущие части, лучше начать с них:Часть 0. Зачем нужен CapacitorЧасть 1. Миграция проекта на CapacitorЧасть 2: Как написать свой плагинЧасть 3: OTA-обновленияВ этой части разберём, как запустить языковую модель прямо на телефоне — без сервера, без API-ключей и без постоянного интернета.Зачем локальный AIНа первый взгляд может показаться, что локальная модель на телефоне — это лишняя…
DOOM известен тем, что запускается где угодно – различные порты игры появляются с 1993 года. Мем «It Runs Doom» живёт в интернете уже больше десяти лет. Люди запускали DOOM на тостерах, на тачбарах макбуков, на умных холодильниках.И, кажется, я – первый человек, который засунул DOOM в QR-код.Абсурдная постановка задачиQR-код может хранить до ~3 КБ текстовых и бинарных данных. Для сравнения:Этот абзац до текущего момента весит около 0,4 КБ.Спрайт «chaingun» из оригинального DOOM – 1,2 КБ.Моя цел…
Предупреждение сразу: я не программист. Код мог быть красивее, архитектура — стройнее. Но моя задача была другой — сделать удобный инструмент для себя как для системного администратора. Получилось то, что получилось. Не судите строго, это бета.С чего всё началосьПоявилось у меня свободное время. Лежал у меня старенький Netgear Stora MS2000 — когда-то ставил на него Debian 7 и OpenMediaVault. Потом рухнул диск, переставил я Debian 9, а вот OMV для этого железа уже оказался слишком тяжёлым.Конфиг…
Началось всё банально. Зашёл коллега, говорит: «Где у нас хлебные крошки в шапке лежат?». Проект — около 150 компонентов, всё именуется по-своему, структура папок местами загадочная. Я начал тыкать в React DevTools, искать по тексту «Breadcrumb» в файлах… В общем, минут через пять нашёл. Это в очередной раз раздражало.Так появился vite-plugin-debug-meta — плагин, который позволяет зажать Ctrl + Shift, навести на любой элемент в браузере, кликнуть — и нужный файл откроется в редакторе на нужной …
Как перестать копировать формы и построить масштабируемую архитектуру create/edit/create-from-sourceТермин “Context-driven Reusable Form Pattern” был придуман для названия статьи, у него нет официального происхождения, это скорее инженерный descriptive term, а не канонический паттерн. Можно сказать, что технически название сформировалось эволюционно из нескольких идей, пришедших в frontend из enterprise UI и backend architecture.Reusable Form - это самая старая часть термина, в CRUD-heavy enter…
Frontend Status: Привет! Свежий дайджест фронтенда и AIПривет!Это 16 выпуск Frontend Status — дайджеста по фронтенд-разработке.В этом выпуске:📺 Если Next.js кажется слишком «магическим»: интервью с создателем TanStack — про client-first, type inference и честный выбор стека без маркетингового тумана.🤖 Когда ИИ уже в проде, а контроля нет: от джунов без Copilot до паттерна «архитектор + разработчик», ревью агентских PR, «В поисках Мемо» (одна таблица в ClickHouse вместо Qdrant и Chroma) и on-pre…
Да, я победил спам! Не "в основном", а "полностью и окончательно". Без всяких "почти". По крайней мере, на 99.9% победил. Причем этот 0.1% - не спам, прорвавшийся через фильтры, а false positives, которые не "вытащил" обратно в Inbox.Eсли интересно - читайте под катом.Программы и методы этой статьи могут быть адаптированны к любому из трех типов почтовых сервисов:Gmail (используется Google Script)Hotmail, Outlook.com, Live.com (почтовый сервис Майкрософта, испол…