Шын мәнінде A/B-тест болып шыққан статикалық бет
A/B-тестті әдетте бетті CDN-нен түсіріп, әр сұранысқа рендерге түсетіндей етіп жасайды. Бірақ бұлай болуы міндетті емес. Әр нұсқаны толық статикалық ұста, ал шешімді proxy (Next.js-те қайта аталған middleware) қабылдасын — эксперимент платформасы арқылы, тұрақты device id бойынша, әрі rewrite тек келуші control-да болмағанда ғана жасалады. URL ешқашан өзгермейді, CDN әлі де кэштейді, ал негізгі жол ештеңе төлемейді.
Коммит авторы команда мүшесі болмағанда, Vercel-ге CI-дан деплой жасау
Репозиторийді GitHub ұйымына көшірсең, Vercel деплойларыңды үнсіз бөгей бастайды: коммит «команда мүшесімен сәйкестендірілмеді». Міне, мен оның орнына GitHub Actions + Vercel CLI арқылы қалай деплой жасаймын — коммиттерім әлі де өз GitHub-графигіме есептеледі, дашбордта кім push жасағаны көрінеді, әрі әр контрибьюторға бөлек орын (seat) сатып алмаймын.
Next.js Memory Leak: Fetch + Standalone режимі — түзетусіз 2 жыл
Next.js глобалды fetch-ке патч салып, әр сұрауда жад ағызатын кэш қабатын қосады. Docker/K8s-те бұл бірнеше сағат сайын OOM құлауына әкеледі. Қате Next.js 14-тен бері бар және 16.2.x-те әлі шешілмеген.
Бір құрылғыда бірнеше Claude Code тіркелгісін іске қосу
Екі (немесе одан көп) Claude Code тіркелгісін қатар — жеке және корпоративтік — бір ғана орта айнымалысы арқылы толық оқшаулаумен қалай қолдануға болады.
SolidStart-та SSG-ды жоғалтпай блог мазмұнын сұраныс бойынша жүктеу
Блогың, сірә, әр посттың негізгі мәтінін бір ғана bundle ішінде жеткізеді — менікі 2,88 МБ-қа дейін өсіп, тек тақырыптар қажет тізім бетінде де жүктелетін. Міне, мен әр посттың мәтінін сұраныс бойынша жүктелетін бөлек chunk-қа қалай бөлдім, әрі әр бет SEO үшін серверде толық рендерленген күйінде қалды.
CRAFT: кәсіби шеберлігіңнен айырылмай AI пайдалану әдісі
Мәселені атап көрсетіп, шешімін бермеу — бар болғаны мазасыздық себу. AI салдарынан дағдыдан айырылу туралы жазбадан кейін, міне, рецепт: CRAFT — бір аксиома астындағы бес қағида (Challenge First, Review Adversarially, Ask Why Not What, Friction on Purpose, Test Your Understanding): AI сен меңгергенді істейді, сен әлі үйреніп жүргеніңді істейсің. AI-ды күнде пайдаланып, дағдыңнан байқаусызда айырылмаудың практикалық әрі есте жақсы сақталатын әдісі.
Әр батырма үшін клиенттік компонент емес, бір ғана тыңдаушы
Компонентке кликтерді бақылауды қосқан сәтте-ақ ол JavaScript жеткізетін клиенттік компонентке айналады. Мұны сайттың барлық жерінде жасасаңыз, тек бақылаудың өзі бандліңізді ісіндіреді. Мінеки, платформада ежелден бар балама: делегацияланған бір тыңдаушы, декларативті data-атрибуттар және таза серверде рендерленген HTML күйінде қалатын компоненттер.
JavaScript-сіз тегіс аккордеон
Аккордеон құру үшін бәрі React күйіне және биіктікті өлшейтін хукке жүгінеді. Ал браузерде мұндай нативтік элемент жылдар бойы бар — әрі 2024 жылдан бастап ол таза CSS арқылы ашылуы мен жабылуын анимациялайды. Мұнда толық техника: details[name], ::details-content, interpolate-size және жабылуды да анимациялайтын жалғыз қасиет.
Үшінші тарап скриптінің мәнін ол window-ға түскен сәтте-ақ ұстап алу
Сіз бақыламайтын скрипт өз нәтижесін window глобалына сіз болжай алмайтын сәтте жазады. Көп жағдайда код онымен timeout арқылы жарысады немесе main thread-ті полингке жұмсайды. Мұнда — жазуды оқиғаға айналдыратын accessor-property трюгі: ұмытуға болмайтын getter және мәнді толықтай ауыстыру тәсілі.
Мәтінді контейнерге таза CSS-пен сыйғызу — JavaScript-сіз
Мәтін контейнерге сыйғанша font-size-ды кішірейтетін JavaScript hook-ты бәрі жазады. Міне, толық жұмыс істейтін, JS-сіз балама: container query бірліктері, clamp() және тілге байланысты тасымал. Көпшілік бас тартатын каскад тұзағын қоса.
next/dynamic сізді құтқармайды: CMS-басқарылатын Next.js беттері неге әрбір чанкті жөнелтеді
Біздің CMS-басқарылатын Next.js беттеріміз әрбір роутта барлық ~100 секция компонентін жөнелтетін — next/dynamic оқулықтағыдай дұрыс қолданылғанына қарамастан. Біз нақты себепті тапқанша бандлер деңгейіндегі әрбір шешімді (тікелей import(), файлдарды бөлу, Turbopack конфигурациясы, webpack splitChunks) сарқа қолдандық: мәселе чанкылеуде емес, қолжетімділікте. Build-тайм кодген + rewrites first-load JS-ті 53%-ға қысқартты.
Тақталарымды Miro-дан Obsidian-ға шығарамын
Miro-дағы Export түймесі саған PNG не PDF береді — бұл деректің фотосуреті, деректің өзі емес. Егер тақталарың жылдар бойы жиналған load-bearing ойлау карталары болса, олардың орны Obsidian-да: editable, searchable, жергілікті vault ішінде. Тақталарды Miro-дан REST API арқылы қалай шығарып, Excalidraw / Obsidian Canvas-қа түрлендіргенім — позицияларды, түстерді, қаріптерді, curved connectors-ты, mindmap nodes-ты сақтай отырып — ал сабақ Miro-дан әлдеқайда кең: кез келген SaaS-ты алғаш ашпай тұрып exit plan-мен қарсы алу керек.
Claude Code Multi-Profile, v2: таза XDG-архитектура
Ескі alias негізіндегі тәсілде бір ай отырғаннан кейін, өзімнің Claude Code multi-profile баптауымды ~/.config/claude-profiles/ астындағы XDG-үйлесімді құрылымға қайта құрдым. Нағыз себебі — реттілік емес, ~/.claude.json-ның home-түбіріндегі бөлек файл екенін, онда --scope user арқылы қосылған MCP серверлері үнсіз тұрғанын ашу болды.
AI өшірген тыныштық
AI бар кезде бағдарламалауды үйренудің мәні бар ма? Даурыққан жауап екі жағынан да қате. 2025–2026 дәлелдер базасымен (Nature, Anthropic, AI & Society) сұрақ "AI ма, жоқ па" емес, қай дағдыларды AI-ға беріп, қайсысын өзіңде қалдыру керек — әрі бір нәрсе шынымен өзгерді: бұрын шындық сені үйкеліс арқылы үйренуге мәжбүрлейтін, AI бұл қысымды үнсіз өшірді.
Саған өтірік айтпайтын Claude Code агенттерін қалай жазу керек
Сенімді Claude Code агент пайплайндарын құрудың екі ережесі: бір агентке — бір мамандану, әрі жауап сандық болуы тиіс жердің бәрінде промпттың орнына shell командалары.
Claude Desktop-ты Obsidian-ға қалай жалғау керек — 4 MCP сервер арқылы саяхат
Claude арқылы Obsidian қоймасының рефакторингін автоматтандырудың тұрақты жолын іздеудің нақты тарихы. Не бұзылды, не жұмыс істеді және неге VaultForge жалғыз жұмыс істейтін нұсқа болып шықты.
Қара құрдымдар рекурсивті әлемдер ретінде: физикадан тіршілік мәніне дейін
Егер әрбір қара құрдым жаңа әлемнің Үлкен Жарылысы болса ше? Рекурсивті космология, Хокинг сәулеленуі және танымдық жабықтық туралы зерттеу.
AI CMS-ті өлтірді — кем дегенде қарапайым сайттар үшін
Дәстүрлі мазмұн басқару жүйелері портфолио, блог және лендингтер үшін неге қажетсіз болып барады — және AI құралдары бүкіл CMS қабатын табиғи тілмен қалай алмастырады.
Perplexity AI-ды Obsidian-ға MCP арқылы қалай қосу керек — жазбаларды тікелей чаттан
Perplexity Desktop-ты MCP filesystem сервері арқылы Obsidian vault-ыңызды оқу және жазу үшін баптаңыз. Интернеттен зерттеп, бір әңгімеде жазбаларыңызға сақтаңыз.
Claude Code CLI мен Obsidian арқылы күнделікті AI жаңалықтар дайджесті — нөл тәуелділік
6 жолдық bash-скрипт, Claude Code headless режимі және macOS launchd арқылы күнделікті жаңалық зерттеу агентін қалай құрастырғаным. Ол 11 тақырыпты іздеп, дайджесттерді Obsidian-ға тікелей жазады.
Next.js Dark Mode: жыпылықтаусыз және React 19 ескертулерінсіз
Next.js 15+ жүйесінде жыпылықтаусыз қараңғы режим үшін next-themes орнына Zustand + useServerInsertedHTML қалай қолдану керек, React 19 скрипт ескертулерінсіз.
Next.js 16-да рендерлеуді бөгейтін 94 CSS файлын нашар құжатталған Turbopack мүмкіндігімен қалай жойдым
experimental.inlineCss-тен MutationObserver хактарына дейін әрбір тәсілді сынап көрген бірнеше күннен кейін мен Next.js App Router-дегі рендерлеуді бөгейтін CSS мәселесін шешетін Turbopack Import Attributes мүмкіндігін таптым.