[{"data":1,"prerenderedAt":386},["ShallowReactive",2],{"\u002Fblog\u002Fcloudflare-broke-stack\u002F:ru":3,"\u002Fblog\u002Fcloudflare-broke-stack\u002F-surround:ru":283,"blog-all-posts:ru":284},{"id":4,"title":5,"author":6,"body":10,"date":265,"description":266,"extension":267,"image":268,"locale":269,"meta":270,"minRead":271,"navigation":272,"original":273,"path":274,"pinned":273,"seo":275,"source":276,"sourceUrl":23,"stem":277,"tags":278,"updated":268,"__hash__":282},"blog\u002Fblog\u002Fcloudflare-broke-stack.ru.md","Лучшие практики инди-разработки 2026: „нищебродский“ стек Cloudflare „всё в одном“",{"name":7,"avatar":8},"Chen Dahuang",{"src":9,"alt":7},"\u002Favatar.jpg",{"type":11,"value":12,"toc":251},"minimark",[13,28,36,41,158,162,167,170,174,177,181,184,206,210,213,217,237,241,244],[14,15,16],"blockquote",{},[17,18,19,20,27],"p",{},"Закреплённый пост. Оригинал опубликован в ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2066586160902881542",[25],"nofollow","X"," — 40 000+ просмотров.",[17,29,30,31,35],{},"Лучшие практики инди-разработки 2026: ",[32,33,34],"strong",{},"„нищебродский“ стек Cloudflare „всё в одном“",".",[37,38,40],"h2",{"id":39},"стек-одним-взглядом","Стек одним взглядом",[42,43,44,60],"table",{},[45,46,47],"thead",{},[48,49,50,54,57],"tr",{},[51,52,53],"th",{},"Этап",[51,55,56],{},"Выбор",[51,58,59],{},"Стоимость",[61,62,63,75,86,97,107,118,128,138,148],"tbody",{},[48,64,65,69,72],{},[66,67,68],"td",{},"Написание кода",[66,70,71],{},"Codex",[66,73,74],{},"Подписка",[48,76,77,80,83],{},[66,78,79],{},"Контроль версий",[66,81,82],{},"GitHub",[66,84,85],{},"Бесплатно",[48,87,88,91,94],{},[66,89,90],{},"Платежи",[66,92,93],{},"Stripe",[66,95,96],{},"Комиссия с транзакции",[48,98,99,102,105],{},[66,100,101],{},"Фронтенд",[66,103,104],{},"TanStack Start",[66,106,85],{},[48,108,109,112,115],{},[66,110,111],{},"Бэкенд",[66,113,114],{},"Hono + Cloudflare Workers",[66,116,117],{},"Бесплатная квота",[48,119,120,123,126],{},[66,121,122],{},"Деплой",[66,124,125],{},"Cloudflare Pages",[66,127,85],{},[48,129,130,133,136],{},[66,131,132],{},"База данных",[66,134,135],{},"Cloudflare D1",[66,137,117],{},[48,139,140,143,146],{},[66,141,142],{},"Файловое хранилище",[66,144,145],{},"Cloudflare R2",[66,147,117],{},[48,149,150,153,156],{},[66,151,152],{},"Кэш \u002F конфиг",[66,154,155],{},"Cloudflare KV",[66,157,117],{},[37,159,161],{"id":160},"почему-именно-такая-связка","Почему именно такая связка",[163,164,166],"h3",{"id":165},"codex-пишет-код-закрывает-всю-full-stack-разработку","Codex: пишет код, закрывает всю full-stack разработку",[17,168,169],{},"ИИ-программирование уже стало инструментом производительности по умолчанию для инди-разработчиков. Агентный режим Codex сжимает цепочку «требование → код → тест → деплой» почти в ничто — один человек работает за целую команду.",[163,171,173],{"id":172},"фронтенд-tanstack-start-бэкенд-hono","Фронтенд TanStack Start + бэкенд Hono",[17,175,176],{},"TanStack Start — это full-stack React-фреймворк, отлично подходящий к экосистеме Workers. А на бэкенде Hono — маленький фреймворк, созданный специально под Workers: удобные роутинг, мидлвары и подсказки типов. Малая занимаемая площадь, быстрый старт.",[163,178,180],{"id":179},"база-данных-d1-хранилище-r2-кэш-kv","База данных D1 + хранилище R2 + кэш KV",[17,182,183],{},"Эта тройка — ядро бесплатных квот Cloudflare:",[185,186,187,194,200],"ul",{},[188,189,190,193],"li",{},[32,191,192],{},"D1",": реляционная база данных, совместимая с SQLite. Бесплатной квоты с запасом хватает на личные проекты.",[188,195,196,199],{},[32,197,198],{},"R2",": объектное хранилище, совместимое с S3. 10 ГБ бесплатно, нулевая плата за исходящий трафик — уже одно это кладёт AWS на лопатки.",[188,201,202,205],{},[32,203,204],{},"KV",": глобально распределённое key-value хранилище, отлично подходит под конфиги, кэш и сессии.",[163,207,209],{"id":208},"деплой-на-pages-полностью-бесплатная-инфраструктура","Деплой на Pages + полностью бесплатная инфраструктура",[17,211,212],{},"Pages напрямую подключается к GitHub-репозиторию — запушил, и он задеплоился, с CDN и HTTPS в комплекте. Домен, DNS, CDN — всё one-stop на Cloudflare. Бесплатной квоты хватает на целую линейку продуктов.",[37,214,216],{"id":215},"суть-нищебродской-стратегии","Суть „нищебродской“ стратегии",[185,218,219,225,231],{},[188,220,221,224],{},[32,222,223],{},"Выжать бесплатную квоту до предела",": DNS, CDN, Pages, Workers, KV, D1, R2, Tunnel, AI Gateway — регистрируйся на всё бесплатное.",[188,226,227,230],{},[32,228,229],{},"Не плати там, где можно халявить",": деньги за подписку — только туда, где это решает (Codex); всё остальное работает на бесплатной инфраструктуре.",[188,232,233,236],{},[32,234,235],{},"Одна платформа на всё",": никаких прыжков между облаками, минимум операционной головной боли.",[37,238,240],{"id":239},"кому-это-подходит","Кому это подходит",[17,242,243],{},"Инди-разработчики с ограниченным бюджетом, которые хотят быстро проверить продукт; энтузиасты ИИ-кодинга, не желающие тратить силы на инфраструктуру; и любые проекты по принципу «сначала запустим, потом разберёмся».",[17,245,246,247,35],{},"Cloudflare — это кибер-бодхисатва инди-разработчиков. Не потратив ни копейки, можно получить полностью работающий продукт. Подробности: ",[21,248,250],{"href":249},"\u002Fblog\u002Ffree-cloudflare","Как бесплатным пользователям выжать Cloudflare досуха",{"title":252,"searchDepth":253,"depth":253,"links":254},"",2,[255,256,263,264],{"id":39,"depth":253,"text":40},{"id":160,"depth":253,"text":161,"children":257},[258,260,261,262],{"id":165,"depth":259,"text":166},3,{"id":172,"depth":259,"text":173},{"id":179,"depth":259,"text":180},{"id":208,"depth":259,"text":209},{"id":215,"depth":253,"text":216},{"id":239,"depth":253,"text":240},"2026-06-15","Технологический стек инди-разработчика с нулевой стоимостью: код пишет Codex, версиями управляет GitHub, платежи принимает Stripe, фронтенд на TanStack Start, бэкенд на Hono + Workers, база данных D1, хранилище R2, кэш KV — и всё это крутится на Cloudflare.","md",null,"ru",{},6,true,false,"\u002Fblog\u002Fcloudflare-broke-stack",{"title":5,"description":266},"x","blog\u002Fcloudflare-broke-stack.ru",[279,280,281],"Cloudflare","Инди-разработка","Технологический стек","qszmBneonLE6af3vvgNlD35xt_c6mU8NOQjUG4CLp3Q",[268,268],[285,293,295,304,311,317,324,332,340,346,353,362,369,377],{"path":286,"title":287,"description":288,"date":289,"minRead":271,"tags":290},"\u002Fblog\u002Fagent-harness-selection","Помучившись с Pi Agent, OMP, Codex и ZCode: почему я в итоге выбрал OpenCode + OpenChamber","Ретроспектива выбора Agent Harness: три критерия — GUI-опыт, привязка к вендору и свобода доработки — отсеяли Pi Agent, OMP, Codex и ZCode, и в итоге я остановился на ядре OpenCode + интерфейсе OpenChamber.","2026-08-06",[291,292],"AI Agent","Выбор инструментов",{"path":274,"title":5,"description":266,"date":265,"minRead":271,"tags":294},[279,280,281],{"path":296,"title":297,"description":298,"date":299,"minRead":271,"tags":300},"\u002Fblog\u002Fdeepseek-api-web-search","В API DeepSeek встроен веб-поиск — официальный поиск на халяву через Responses API","DeepSeek встроил веб-поиск прямо в API: вызываешь deepseek-v4-flash через интерфейс Responses и объявляешь инструмент web_search. Никакой интеграции со сторонним поисковиком, никакого ключа поискового API не нужно.","2026-08-05",[301,302,303],"DeepSeek","API","AI-инструменты",{"path":305,"title":306,"description":307,"date":299,"minRead":308,"tags":309},"\u002Fblog\u002Fdeepseek-v4-flash-review","DeepSeek V4 Flash — стабильный релиз, проверка на практике: дёшево, быстро, контекст 1M, встроенный поиск","Несколько дней погружался в стабильный релиз DeepSeek V4 Flash: невероятно дёшево, молниеносно быстро, контекст 1M, официальный встроенный веб-поиск, полностью открытый код. Единственная слабость — мультимодальность, но её можно закрыть связкой с другими моделями.",7,[301,310,303],"Обзор модели",{"path":249,"title":312,"description":313,"date":265,"minRead":314,"tags":315},"Как бесплатным пользователям выжать Cloudflare досуха — на что реально хватает бесплатного тарифа?","Бесплатного тарифа Cloudflare хватает почти на всю личную интернет-инфраструктуру: DNS, CDN, Pages, Workers, KV, D1, R2, почта, Tunnel, AI Gateway и не только.",8,[279,316,122],"Бесплатный тариф",{"path":318,"title":319,"description":320,"date":321,"minRead":314,"tags":322},"\u002Fblog\u002Fmodel-harness-decoupling","Собственный Harness производителя — не всегда лучший выбор: в эпоху открытых моделей модель и Harness выбирают раздельно","Пишешь на Claude — берёшь Claude Code? В эпоху открытых моделей этот инстинкт пора обновить. Преимущество первого производителя реально, но обучить хорошую модель и построить хороший Harness — две разные инженерные задачи. Эта статья объясняет, почему модель и Harness теперь можно выбирать по отдельности, и даёт карту позиционирования пяти Harness.","2026-09-09",[291,323,292],"Harness",{"path":325,"title":326,"description":327,"date":321,"minRead":314,"tags":328},"\u002Fblog\u002Fopencode-productive-stack","Стабильно, быстро, продуктивно, дёшево: полный отчёт по моему AI Coding-стеку","OpenCode + OpenChamber + две подписки DeepSeek V4 Flash: 15 проектов одновременно пишут код, а квота почти не двигается. Полная выкладка конфигурации — обрезка Context, многоуровневая память, автоматизация рабочего стола и урок «держись родной связки».",[329,330,331],"OpenCode","ИИ-программирование","Настройка",{"path":333,"title":334,"description":335,"date":336,"minRead":337,"tags":338},"\u002Fblog\u002Fproduct-faxin-principle","Принцип изначального намерения: почему инди-разработчику нужно учиться отпускать","Зачем ты начинаешь? Для кого ты начинаешь? Какую проблему на самом деле хочешь решить? Острота продукта — в том, что ты осмеливаешься отрезать.","2026-06-20",10,[339,280],"Продуктовое мышление",{"path":341,"title":342,"description":343,"date":336,"minRead":314,"tags":344},"\u002Fblog\u002Fproduct-pain-vs-itch","Не обольщайся, когда пользователи говорят «круто»: болевые точки против зуда","Словесное одобрение ничего не стоит. Единственный жёсткий критерий спроса — за что пользователь готов платить.",[339,345],"Оценка спроса",{"path":347,"title":348,"description":349,"date":289,"minRead":350,"tags":351},"\u002Fblog\u002Fqwen-vision-for-deepseek","Даём DeepSeek мультимодальность: подход Qwen-3.7-Flash vision","У DeepSeek V4 Flash нет мультимодальности — что делать с пониманием изображений? После обзора рынка самый выгодный по цене вариант сейчас — Qwen-3.7-Flash: распознавание одной картинки стоит почти ничего, и в паре с V4 Flash дыра закрывается.",5,[301,352,310],"Мультимодальность",{"path":354,"title":355,"description":356,"date":357,"minRead":358,"tags":359},"\u002Fblog\u002Fsub-store-cloudflare","Я перенёс агрегацию прокси-подписок на Cloudflare","Объединяет несколько прокси-сервисов и собственные ноды в одну подписку, а правила маршрутизации настраиваются на стороне сервера — клиенту остаётся только подписаться.","2026-06-28",4,[279,360,361],"Обход блокировок","Open-source проект",{"path":363,"title":364,"description":365,"date":321,"minRead":308,"tags":366},"\u002Fblog\u002Ftui-cognitive-bandwidth","TUI убивает вашу когнитивную пропускную способность: «гик-фильтру» в AI Coding пора разбиться","Куча AI Coding Agent наперебой выпускают TUI, заталкивают взаимодействие обратно в терминальную парадигму 80-х и называют это «иммерсивностью» и «уважением к программистам». Эта статья разбирает три механизма, которыми TUI системно снижает когнитивную пропускную способность, — и объясняет, почему Web UI — правильный ответ.",[330,367,368],"Дизайн взаимодействия","Эссе",{"path":370,"title":371,"description":372,"date":373,"minRead":271,"tags":374},"\u002Fblog\u002Fvalue-not-external","Спорить о том, есть ли у чего-то ценность, — само по себе бесполезно","Нашу ценность не определяет никто. В эпоху ИИ как человеку понимать себя?","2026-06-18",[375,376],"Размышления об ИИ","Гуманистическое эссе",{"path":378,"title":379,"description":380,"date":381,"minRead":382,"tags":383},"\u002Fblog\u002Fx-growth-1000-followers","Набрал 1000+ подписчиков чуть больше чем за день — вот что я делал","В июне я всерьёз занялся своим аккаунтом в X и за чуть более чем день набрал 1000+ подписчиков. Этот пост фиксирует, что я делал и какие получал отклики.","2026-06-16",12,[384,385],"Ведение X","Рост контента",1789752316443]