Предупреждение сразу: я не программист. Код мог быть красивее, архитектура — стройнее. Но моя задача была другой — сделать удобный инструмент для себя как для системного администратора. Получилось то, что получилось. Не судите строго, это бета.С чего всё началосьПоявилось у меня свободное время. Лежал у меня старенький 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 (почтовый сервис Майкрософта, испол…
Разбираю неожиданные проблемы cross-platform onboarding между Telegram Mini Apps и native apps.Недавно я столкнулся с неожиданной проблемой при разработке Telegram Mini App onboarding flow для native networking клиента.На старте мне казалось, что весь onboarding займет буквально пару часов:открыть deeplink → импортировать подписку → подключиться.Но на практике именно эта часть оказалась самой нестабильной во всем проекте.На первый взгляд задача выглядела довольно простой:Telegram Mini App ↓ hap…
Архитектурная доктрина для NestJS-проектов: разбор типовых сценариев деградации кодовой базы и структурные ограничения, обеспечивающие её отсутствие при росте функционала. Навигация по серии:Часть 1. Эволюция NestJS-приложения в неподдерживаемое состояниеЧасть 2. Декомпозиция на сервисы: анализ ограниченности подходаЧасть 3. Архитектурный риск циклов в NestJS: ROI решений на горизонте пяти летЧасть 4. FBCA: формализация границ ответственности в NestJS-модулеЧасть 5. Масштабирование FBCA и теоре…
Архитектурная доктрина для NestJS-проектов: разбор типовых сценариев деградации кодовой базы и структурные ограничения, обеспечивающие её отсутствие при росте функционала. Навигация по серии:Часть 1. Эволюция NestJS-приложения в неподдерживаемое состояниеЧасть 2. Декомпозиция на сервисы: анализ ограниченности подходаЧасть 3. Архитектурный риск циклов в NestJS: ROI решений на горизонте пяти летЧасть 4. FBCA: формализация границ ответственности в NestJS-модулеЧасть 5. Масштабирование FBCA и теоре…
Архитектурная доктрина для NestJS-проектов: разбор типовых сценариев деградации кодовой базы и структурные ограничения, обеспечивающие её отсутствие при росте функционала. Навигация по серии:Часть 1. Эволюция NestJS-приложения в неподдерживаемое состояниеЧасть 2. Декомпозиция на сервисы: анализ ограниченности подходаЧасть 3. Архитектурный риск циклов в NestJS: ROI решений на горизонте пяти летЧасть 4. FBCA: формализация границ ответственности в NestJS-модулеЧасть 5. Масштабирование FBCA и теоре…