05 — Тексты
Блог
О веб-разработке, производительности, инструментах — и время от времени о чём-то большем.
7 мин чтения06 окт. 2026 г.ОбновленоДеплой на Vercel из CI, когда автор коммита не член командыПеренеси репозиторий в GitHub-организацию — и Vercel тихо начинает блокировать деплои: коммит «не удалось сопоставить с членом команды». Вот как я деплою через GitHub Actions и Vercel CLI: коммиты по-прежнему идут в мой GitHub-граф, дашборд показывает, кто запушил, и я не покупаю seat на каждого контрибьютора.Vercel · GitHub Actions · CI/CD
8 мин чтения05 сент. 2026 г.Четыре бага убивали выделение текста на iOS — и каждый прятал следующийРедактор Lexical в drawer-е vaul работал везде, кроме живого айфона: ползунки выделения не тянулись, прокрутка запиралась на краях, панель инструментов ныряла под клавиатуру. Догадки не лечили ничего, потому что единственного виновника не существовало — их было четверо, независимых, и каждый маскировал следующего. Сработал стенд бисекции: тот же каркас с переключателем на каждого подозреваемого, проверенный на физическом устройстве. Это полная охота — href, отравляющий выделение, обработчики перетаскивания vaul, наш собственный tap-focus, контейнер, едущий под пальцем, — плюс вскрытие замка прокрутки и три одноразовые записи scrollTop, сделавшие rubber-band родным, включая перехват свайпа посреди пружины.iOS · Safari · WebKit
15 мин чтения29 авг. 2026 г.Каскад агентов: терминал сам выбирает того, кто сейчас работаетКогда Claude частично отказал и часть моделей перестала работать, я попробовал перейти на Gemini — и обнаружил, что мой фоллбэк давно сломан. Вот как сделать тот, который действительно выдержит.Claude Code · AI · CLI
9 мин чтения17 авг. 2026 г.system-droid: сторож, который сам проверяет и сам чинит мои системыМои локальные сервисы ломались тихо: бриф не приходил, токены протухали, бэкап замирал — а я узнавал последним. Поэтому я собрал дроида на launchd, который каждые два часа всё проверяет, чинит через агента Claude то, что безопасно, и пишет мне лишь тогда, когда действительно нужен человек.Claude Code · AI · Automation
10 мин чтения14 авг. 2026 г.Статичная страница, которая на самом деле A/B-тестA/B-тест страницы обычно реализуют так, что она слетает с CDN на рендер-на-каждый-запрос. Но так быть не должно. Держи все варианты полностью статичными, а решение пусть принимает proxy (переименованный middleware в Next.js) — через платформу для A/B-экспериментов, по стабильному device id, и делает rewrite только когда посетитель не в control. URL не меняется, CDN по-прежнему кеширует, а горячий путь не платит ничего.Next.js · A/B Testing · Proxy
8 мин чтения10 авг. 2026 г.ОбновленоNext.js Memory Leak: Fetch + Standalone Mode — 2 года без фиксаNext.js патчит глобальный fetch и добавляет кеш-слой, который течёт на каждом запросе. В Docker/K8s это приводит к OOM crash каждые несколько часов. Баг существует с Next.js 14 и до сих пор не решён в 16.2.x.Next.js · Memory Leak · Docker
10 мин чтения09 авг. 2026 г.ОбновленоНесколько аккаунтов Claude Code на одном устройствеКак использовать два (или больше) аккаунта Claude Code параллельно — личный и корпоративный — с полной изоляцией через одну переменную окружения.claude-code · productivity · cli
4 мин чтения05 авг. 2026 г.Ленивая загрузка контента блога в SolidStart без потери SSGТвой блог, скорее всего, отдаёт тело каждого поста в одном бандле — мой разросся до 2,88 МБ и качался даже на странице-списке, где нужны только заголовки. Вот как я вынес прозу каждого поста в ленивый чанк, который грузится по требованию, сохранив полный серверный рендер каждой страницы для SEO.SolidJS · SolidStart · Performance
8 мин чтения05 авг. 2026 г.ОбновленоCRAFT: метод использования AI без потери профессионального мастерстваНазвать проблему и не дать решения — значит лишь сеять тревогу. После поста о деквалификации через AI — вот рецепт: CRAFT — пять принципов (Challenge First, Review Adversarially, Ask Why Not What, Friction on Purpose, Test Your Understanding) под одной аксиомой: AI делает то, что ты уже освоил, ты делаешь то, чему ещё учишься. Практический, легко запоминающийся метод для ежедневной работы с AI без незаметной утраты навыков.ai · learning · career
6 мин чтения28 июл. 2026 г.Один слушатель вместо клиентского компонента на каждую кнопкуКак только вы добавляете аналитику кликов в компонент, он превращается в клиентский компонент, который тянет за собой JavaScript. Сделайте так по всему сайту — и один только трекинг раздувает ваш бандл. Вот альтернатива, которая есть в платформе изначально: один делегированный слушатель, декларативные data-атрибуты и компоненты, остающиеся чистым серверным HTML.JavaScript · Analytics · Event Delegation
10 мин чтения28 июл. 2026 г.Плавный аккордеон без единой строчки JavaScriptВсе хватаются за состояние React и хук для измерения высоты, чтобы собрать аккордеон. А браузер уже годами имеет нативный — и начиная с 2024 года он анимирует открытие и закрытие чистым CSS. Вот полная техника: details[name], ::details-content, interpolate-size и то единственное свойство, которое анимирует и закрытие тоже.CSS · HTML · Accordion
9 мин чтения27 июл. 2026 г.Ловите значение стороннего скрипта в тот самый момент, когда оно попадает в windowСкрипт, который вы не контролируете, записывает свой результат в глобал на window в момент, который невозможно предсказать. Большая часть кода либо проигрывает ему гонку с помощью timeout, либо впустую нагружает main thread полингом. Вот трюк с accessor property, который превращает запись в событие — плюс геттер, о котором нельзя забывать, и как полностью подменить значение.JavaScript · Web · Third-Party Scripts
9 мин чтения24 июл. 2026 г.Вписываем текст в контейнер на чистом CSS — без JavaScriptВсе пишут JavaScript-хук, который уменьшает font-size, пока текст не влезет в контейнер. Вот полностью рабочая альтернатива без единой строчки JS — на единицах container query, clamp() и переносе с дефисом по языку, включая ловушку каскада, из-за которой многие сдаются.CSS · Container Queries · Typography
11 мин чтения18 июл. 2026 г.next/dynamic вас не спасёт: почему CMS-страницы на Next.js отгружают каждый чанкНаши CMS-управляемые страницы на Next.js отгружали все ~100 компонентов секций на каждом роуте — несмотря на хрестоматийное использование next/dynamic. Мы перепробовали все фиксы на уровне бандлера (прямой import(), разбиение файлов, конфигурацию Turbopack, webpack splitChunks), прежде чем нашли настоящую причину: достижимость, а не чанкование. Кодген на этапе билда + rewrites срезали first-load JS на 53%.Next.js · Performance · Code Splitting
14 мин чтения30 июн. 2026 г.Выношу доски из Miro в ObsidianКнопка Export в Miro даёт тебе PNG или PDF — это фотография данных, а не сами данные. А если твои доски — это load-bearing карты мышления за годы, им место в Obsidian: editable, searchable, в локальном vault'е. Как я вытащил boards из Miro через REST API и сконвертировал в Excalidraw / Obsidian Canvas — с позициями, цветами, шрифтами, curved connectors, mindmap nodes — и урок шире, чем Miro: к любому SaaS нужно подходить с exit plan'ом ещё ДО первого использования.obsidian · miro · automation
6 мин чтения23 июн. 2026 г.ОбновленоClaude Code Multi-Profile, v2: чистая XDG-архитектураПосле месяца на старом алиас-подходе я переделал свой multi-profile сетап Claude Code на XDG-совместимую структуру ~/.config/claude-profiles/. Настоящая причина — не аккуратность, а обнаружение ~/.claude.json как отдельного файла в home root, в котором тихо жили MCP-серверы, добавленные через --scope user.claude-code · productivity · cli
9 мин чтения22 июн. 2026 г.Тишина, которую выключил AIСтоит ли ещё учить программирование, если есть AI? Громкий ответ ошибочен с обеих сторон. С доказательной базой 2025–2026 (Nature, Anthropic, AI & Society) вопрос не "AI или нет", а какие навыки отдавать AI, а какие держать при себе — и одна вещь, которая действительно изменилась: раньше реальность заставляла учиться через трение, AI тихо выключил это давление.ai · learning · career
8 мин чтения29 мая 2026 г.Как писать агентов Claude Code, которые тебе не врутДва правила для надёжных пайплайнов с агентами Claude Code: один агент — одна специализация, и shell-команды вместо промптов везде, где ответ должен быть количественным.claude-code · agents · ai
6 мин чтения03 мая 2026 г.Как подключить Claude Desktop к Obsidian — путь через 4 MCP-сервераРеальная история поиска стабильного способа автоматизировать работу с Obsidian-хранилищем через Claude. Что сломалось, что сработало, и почему VaultForge оказался единственным рабочим вариантом.Obsidian · Claude · MCP
9 мин чтения17 апр. 2026 г.Чёрные дыры как рекурсивные вселенные: от физики к смыслу существованияЧто если каждая чёрная дыра — это Большой Взрыв новой вселенной? Исследование рекурсивной космологии, излучения Хокинга и когнитивного закрытия.physics · philosophy · consciousness
10 мин чтения17 апр. 2026 г.AI убил CMS — по крайней мере для простых сайтовПочему традиционные системы управления контентом становятся ненужными для портфолио, блогов и лендингов — и как AI-инструменты заменяют весь слой CMS.ai · cms · web-development
8 мин чтения12 апр. 2026 г.Как подключить Perplexity AI к Obsidian через MCP — заметки прямо из чатаНастройте Perplexity Desktop для чтения и записи вашего Obsidian vault с помощью MCP filesystem сервера. Ищите в интернете и сохраняйте в заметки в одном разговоре.Obsidian · Perplexity · MCP
5 мин чтения12 апр. 2026 г.Ежедневный AI News Digest через Claude Code CLI и Obsidian — ноль зависимостейКак я построил ежедневного агента исследования новостей с 6-строчным bash-скриптом, headless-режимом Claude Code и macOS launchd.Claude Code · AI · Obsidian
7 мин чтения11 апр. 2026 г.Dark Mode в Next.js без мигания и предупреждений React 19Как заменить next-themes на Zustand + useServerInsertedHTML для тёмной темы без мигания в Next.js 15+ без предупреждений React 19.next.js · react-19 · dark-mode
8 мин чтения08 апр. 2026 г.Как я устранил 94 render-blocking CSS файла в Next.js 16 с помощью плохо документированной фичи TurbopackПосле дней перебора каждого подхода — от experimental.inlineCss до хаков с MutationObserver — я обнаружил Turbopack Import Attributes, которые решают проблему render-blocking CSS в Next.js App Router.Next.js · CSS · Performance
12 мин чтения
Записей: 27