Skip to main content

05 — Тексти

Блог

Про веб-розробку, продуктивність, інструменти — і час від часу про щось більше.

06 жовт. 2026 р.Деплой на Vercel із git pre-push хука: репо в організації, план Hobby, без CI-секретівGit-інтеграція Vercel відмовляється підключати приватне репо GitHub-організації на плані Hobby, а CI-шлях вимагає секретів у репо, які тобі можуть не дозволити додати. Ось легший варіант: локальний pre-push хук, який деплоїть саме запушений коміт через Vercel CLI, а всі й далі пушать під власним іменем.Vercel · Git Hooks · CI/CD
7 хв читання
06 жовт. 2026 р.ОновленоДеплой на Vercel із CI, коли автор коміту не член командиПеренеси репо в GitHub-організацію — і Vercel тихо починає блокувати деплої: коміт «не вдалося зіставити з членом команди». Ось як я деплою через GitHub Actions і Vercel CLI: коміти все одно йдуть у мій GitHub-графік, дашборд показує, хто пушив, і я не купую seat на кожного контриб’ютора.Vercel · GitHub Actions · CI/CD
8 хв читання
05 вер. 2026 р.Чотири вади вбивали виділення тексту на iOS — і кожна ховала наступнуРедактор Lexical у дравері 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 MB, і його качали навіть на сторінці-списку, де потрібні лише заголовки. Ось як я виніс прозу кожного поста в лінивий чанк, що вантажиться на вимогу, зберігши повний серверний рендер кожної сторінки для 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. Він шукає 11 тем і пише дайджести прямо в Obsidian.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