[{"data":1,"prerenderedAt":385},["ShallowReactive",2],{"\u002Fblog\u002Fcloudflare-broke-stack\u002F:vi":3,"\u002Fblog\u002Fcloudflare-broke-stack\u002F-surround:vi":283,"blog-all-posts:vi":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.vi.md","Thực hành tốt nhất 2026 cho indie developer: gói công nghệ Cloudflare all-in-one 'nghèo rớt mồng tơi'",{"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",{},"Bài ghim. Bài gốc đăng trên ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2066586160902881542",[25],"nofollow","X"," — 40k+ lượt xem.",[17,29,30,31,35],{},"Thực hành tốt nhất 2026 cho indie developer: ",[32,33,34],"strong",{},"gói công nghệ Cloudflare all-in-one \"nghèo rớt mồng tơi\"",".",[37,38,40],"h2",{"id":39},"tech-stack-trong-nháy-mắt","Tech stack trong nháy mắt",[42,43,44,60],"table",{},[45,46,47],"thead",{},[48,49,50,54,57],"tr",{},[51,52,53],"th",{},"Hạng mục",[51,55,56],{},"Lựa chọn",[51,58,59],{},"Chi phí",[61,62,63,75,86,97,107,118,128,138,148],"tbody",{},[48,64,65,69,72],{},[66,67,68],"td",{},"Viết code",[66,70,71],{},"Codex",[66,73,74],{},"Thuê bao",[48,76,77,80,83],{},[66,78,79],{},"Quản lý phiên bản",[66,81,82],{},"GitHub",[66,84,85],{},"Miễn phí",[48,87,88,91,94],{},[66,89,90],{},"Thanh toán",[66,92,93],{},"Stripe",[66,95,96],{},"Trích % theo giao dịch",[48,98,99,102,105],{},[66,100,101],{},"Frontend",[66,103,104],{},"TanStack Start",[66,106,85],{},[48,108,109,112,115],{},[66,110,111],{},"Backend",[66,113,114],{},"Hono + Cloudflare Workers",[66,116,117],{},"Hạn mức miễn phí",[48,119,120,123,126],{},[66,121,122],{},"Triển khai",[66,124,125],{},"Cloudflare Pages",[66,127,85],{},[48,129,130,133,136],{},[66,131,132],{},"Cơ sở dữ liệu",[66,134,135],{},"Cloudflare D1",[66,137,117],{},[48,139,140,143,146],{},[66,141,142],{},"Lưu trữ file",[66,144,145],{},"Cloudflare R2",[66,147,117],{},[48,149,150,153,156],{},[66,151,152],{},"Cache \u002F cấu hình",[66,154,155],{},"Cloudflare KV",[66,157,117],{},[37,159,161],{"id":160},"vì-sao-lại-là-tổ-hợp-này","Vì sao lại là tổ hợp này",[163,164,166],"h3",{"id":165},"codex-viết-code-lo-trọn-full-stack","Codex: viết code, lo trọn full-stack",[17,168,169],{},"Lập trình bằng AI đã là công cụ năng suất mặc định của indie developer. Chế độ Agent của Codex nén chuỗi \"yêu cầu → code → test → deploy\" xuống gần như bằng không — một người làm việc của cả một đội.",[163,171,173],{"id":172},"frontend-tanstack-start-backend-hono","Frontend TanStack Start + backend Hono",[17,175,176],{},"TanStack Start là framework React full-stack, tương thích tốt với hệ sinh thái Workers. Backend dùng Hono — framework nhỏ gọn sinh ra cho Workers, routing, middleware, gợi ý kiểu dữ liệu đều rất thoải mái. Gọn nhẹ, khởi động nhanh.",[163,178,180],{"id":179},"database-d1-lưu-trữ-r2-cache-kv","Database D1 + lưu trữ R2 + cache KV",[17,182,183],{},"Bộ ba này là trái tim của hạn mức miễn phí Cloudflare:",[185,186,187,194,200],"ul",{},[188,189,190,193],"li",{},[32,191,192],{},"D1",": cơ sở dữ liệu quan hệ tương thích SQLite, hạn mức miễn phí hoàn toàn đủ cho dự án cá nhân",[188,195,196,199],{},[32,197,198],{},"R2",": lưu trữ đối tượng tương thích S3, miễn phí 10 GB, phí băng thông ra bằng không — riêng điểm này đã đè bẹp AWS",[188,201,202,205],{},[32,203,204],{},"KV",": kho lưu trữ key-value phân bố toàn cầu, hợp cho cấu hình, cache và phiên làm việc",[163,207,209],{"id":208},"triển-khai-pages-hạ-tầng-toàn-miễn-phí","Triển khai Pages + hạ tầng toàn miễn phí",[17,211,212],{},"Pages nối thẳng với repo GitHub của bạn — push là deploy, kèm sẵn CDN và HTTPS. Tên miền, DNS, CDN — tất cả Cloudflare một cửa, hạn mức miễn phí chống lưng cho cả một dòng sản phẩm.",[37,214,216],{"id":215},"bản-chất-của-chiến-lược-nghèo-rớt","Bản chất của chiến lược nghèo rớt",[185,218,219,225,231],{},[188,220,221,224],{},[32,222,223],{},"Vắt kiệt hạn mức miễn phí",": DNS, CDN, Pages, Workers, KV, D1, R2, Tunnel, AI Gateway — cái gì miễn phí là đăng ký hết",[188,226,227,230],{},[32,228,229],{},"Ăn ké được là không trả",": tiền thuê bao chỉ chi vào chỗ xứng đáng (Codex); còn lại tất cả chạy trên hạ tầng miễn phí",[188,232,233,236],{},[32,234,235],{},"Một nền tảng làm hết",": không phải nhảy qua nhảy lại giữa các cloud, gánh nặng vận hành tối thiểu",[37,238,240],{"id":239},"hợp-với-ai","Hợp với ai",[17,242,243],{},"Indie developer ngân sách eo hẹp, muốn kiểm chứng sản phẩm thật nhanh; dân mê AI Coding không muốn tốn công vào hạ tầng; và mọi dự án kiểu \"chạy được đã rồi tính tiếp\".",[17,245,246,247,35],{},"Cloudflare chính là vị Bồ Tát số của indie developer. Không phải bỏ ra một xu, vẫn có thể khiến sản phẩm chạy đầy đủ. Chi tiết: ",[21,248,250],{"href":249},"\u002Fblog\u002Ffree-cloudflare","Người dùng miễn phí vắt kiệt Cloudflare như thế nào",{"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","Tech stack chi phí bằng không cho indie developer: Codex viết code, GitHub quản lý phiên bản, Stripe thu tiền, frontend TanStack Start, backend Hono + Workers, database D1, lưu trữ R2, cache KV — tất cả chạy trên Cloudflare.","md",null,"vi",{},6,true,false,"\u002Fblog\u002Fcloudflare-broke-stack",{"title":5,"description":266},"x","blog\u002Fcloudflare-broke-stack.vi",[279,280,281],"Cloudflare","Phát triển indie","Tech stack","Qoezj_Xnxz43ws2tO4WXW0HnGjqrGLirgIWsXEG9TjI",[268,268],[285,293,295,304,311,316,323,331,339,345,352,361,368,376],{"path":286,"title":287,"description":288,"date":289,"minRead":271,"tags":290},"\u002Fblog\u002Fagent-harness-selection","Sau khi nghịch Pi Agent, OMP, Codex và ZCode, vì sao cuối cùng tôi chọn OpenCode + OpenChamber","Bài tổng kết chọn lựa Agent Harness: ba tiêu chí — trải nghiệm GUI, khoá nhà cung cấp và quyền tự do phát triển thứ cấp — đã loại Pi Agent, OMP, Codex và ZCode, cuối cùng chốt lõi OpenCode + giao diện OpenChamber.","2026-08-06",[291,292],"AI Agent","Chọn công cụ",{"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 của DeepSeek có sẵn tìm kiếm web: xài chùa khả năng tìm kiếm chính thức qua Responses API","DeepSeek nhúng thẳng tìm kiếm web vào API: gọi deepseek-v4-flash qua giao diện Responses và khai báo tool web_search là xong. Không cần tích hợp công cụ tìm kiếm bên thứ ba, không cần xin key API tìm kiếm.","2026-08-05",[301,302,303],"DeepSeek","API","Công cụ AI",{"path":305,"title":306,"description":307,"date":299,"minRead":308,"tags":309},"\u002Fblog\u002Fdeepseek-v4-flash-review","Trải nghiệm sâu bản chính thức DeepSeek V4 Flash: rẻ, nhanh, context 1M, tìm kiếm tích hợp sẵn","Mấy ngày trải nghiệm sâu bản chính thức DeepSeek V4 Flash: rẻ cực độ, nhanh như chớp, context 1M, tìm kiếm web chính thức tích hợp sẵn, mã nguồn mở hoàn toàn. Điểm yếu duy nhất là đa phương thức — nhưng có thể vá bằng cách tổ hợp các model khác.",7,[301,310,303],"Đánh giá mô hình",{"path":249,"title":312,"description":313,"date":265,"minRead":314,"tags":315},"Người dùng miễn phí vắt kiệt Cloudflare như thế nào — bản miễn phí thật sự xài chùa được đến đâu?","Bản miễn phí của Cloudflare chống lưng được cả một hạ tầng internet cá nhân: DNS, CDN, Pages, Workers, KV, D1, R2, email, Tunnel, AI Gateway và hơn thế nữa.",8,[279,117,122],{"path":317,"title":318,"description":319,"date":320,"minRead":314,"tags":321},"\u002Fblog\u002Fmodel-harness-decoupling","Harness chính hãng chưa chắc là đáp án đương thời: thời đại mô hình mở, chọn model và Harness riêng biệt","Dùng Claude thì gắn Claude Code? Thời đại mô hình mở rồi, bản năng đó cần được nâng cấp. Lợi thế chính hãng là có thật, nhưng huấn luyện model tốt và làm Harness tốt là hai ngành kỹ thuật khác nhau — bài này nói rõ vì sao model và Harness giờ đã có thể chọn riêng, kèm bản đồ định vị 5 Harness.","2026-09-09",[291,322,292],"Harness",{"path":324,"title":325,"description":326,"date":320,"minRead":314,"tags":327},"\u002Fblog\u002Fopencode-productive-stack","Ổn định, nhanh, hiệu suất, rẻ: ghi chép trọn bộ AI Coding stack của tôi","OpenCode + OpenChamber + hai gói đăng ký DeepSeek V4 Flash: 15 dự án cùng lúc chạy code, hạn mức chỉ xụi chút xíu. Trải hết cấu hình ra: cắt tỉa context, bộ nhớ phân tầng, tự động hóa desktop, và bài học “giữ nguyên cặp gốc”.",[328,329,330],"OpenCode","Lập trình AI","Cấu hình",{"path":332,"title":333,"description":334,"date":335,"minRead":336,"tags":337},"\u002Fblog\u002Fproduct-faxin-principle","Nguyên lý phát tâm: vì sao indie developer phải học cách buông bỏ","Vì sao bạn lên đường? Bạn lên đường vì ai? Bạn thật sự muốn giải quyết vấn đề nào? Sự sắc bén của sản phẩm đến từ chỗ bạn dám cắt bỏ điều gì.","2026-06-20",10,[338,280],"Tư duy sản phẩm",{"path":340,"title":341,"description":342,"date":335,"minRead":314,"tags":343},"\u002Fblog\u002Fproduct-pain-vs-itch","Đừng bay bổng khi người dùng khen 'xịn': nỗi đau và cơn ngứa","Lời khen ngoài miệng chẳng đáng một xu. Phán đoán nhu cầu chỉ có một tiêu chuẩn cứng: xem người dùng sẵn sàng trả cái gì.",[338,344],"Đánh giá nhu cầu",{"path":346,"title":347,"description":348,"date":289,"minRead":349,"tags":350},"\u002Fblog\u002Fqwen-vision-for-deepseek","Bổ sung đa phương thức cho DeepSeek: giải pháp nhận diện ảnh Qwen-3.7-Flash","DeepSeek V4 Flash không có đa phương thức — cần hiểu ảnh thì phải làm sao? Khảo sát một vòng, giải pháp có hiệu quả chi phí cao nhất hiện nay là Qwen-3.7-Flash: chi phí nhận diện một bức ảnh gần như bằng không, tổ hợp với V4 Flash là vá được điểm yếu.",5,[301,351,310],"Đa phương thức",{"path":353,"title":354,"description":355,"date":356,"minRead":357,"tags":358},"\u002Fblog\u002Fsub-store-cloudflare","Tôi đã chuyển công cụ gộp subscription proxy lên Cloudflare","Gộp nhiều dịch vụ proxy cộng với node tự dựng thành một subscription duy nhất, quy tắc định tuyến cấu hình ở phía server — client chỉ việc subscribe.","2026-06-28",4,[279,359,360],"Vượt tường lửa","Dự án mã nguồn mở",{"path":362,"title":363,"description":364,"date":320,"minRead":308,"tags":365},"\u002Fblog\u002Ftui-cognitive-bandwidth","TUI đang giết băng thông nhận thức của bạn: đến lúc đập vỡ “bộ lọc geek” trong AI Coding","Hàng loạt AI Coding Agent đang đua nhau thả TUI, nhồi tương tác trở lại mô hình terminal thập niên 1980 rồi gọi đó là “đắm chìm”, “tôn trọng lập trình viên”. Bài này mổ xẻ ba cơ chế khiến TUI làm giảm băng thông nhận thức một cách hệ thống, và vì sao Web UI mới là lời giải đúng.",[329,366,367],"Thiết kế tương tác","Tản văn",{"path":369,"title":370,"description":371,"date":372,"minRead":271,"tags":373},"\u002Fblog\u002Fvalue-not-external","Bàn chuyện có giá trị hay không, bản thân chuyện đó đã chẳng có giá trị","Giá trị của chúng ta không do ai định nghĩa. Trong thời đại AI, con người nên hiểu mình như thế nào?","2026-06-18",[374,375],"Suy ngẫm về AI","Tản văn nhân văn",{"path":377,"title":378,"description":379,"date":380,"minRead":381,"tags":382},"\u002Fblog\u002Fx-growth-1000-followers","Tăng hơn 1000 followers chỉ trong hơn một ngày — đây là những gì tôi đã làm","Tháng 6 tôi nghiêm túc vận hành tài khoản X, chỉ trong hơn một ngày đã tăng 1000+ followers. Bài này ghi lại những gì tôi đã làm và phản hồi nhận được.","2026-06-16",12,[383,384],"Vận hành X","Tăng trưởng nội dung",1789752318190]