<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>DanhThanh.dev Blog</title><description>Thoughts, tutorials, and guides on web development, TypeScript, and modern tooling.</description><link>https://blog.danhthanh.dev/</link><language>vi</language><item><title>Cài đặt 9router API Proxy trên VPS với PM2 và Cloudflared</title><link>https://blog.danhthanh.dev/vi/blog/cai-dat-9router-api-proxy-tren-vps/</link><guid isPermaLink="true">https://blog.danhthanh.dev/vi/blog/cai-dat-9router-api-proxy-tren-vps/</guid><description>Hướng dẫn chi tiết cách cài đặt 9router API proxy trên VPS dùng PM2 và Cloudflared Tunnel. Quản lý nhiều API key AI (OpenAI, Anthropic, Google), xoay vòng provider, ẩn credentials và kiểm soát chi phí.</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;img src=&quot;/og/setup-9router-api-proxy-on-vps.webp&quot; alt=&quot;Cài đặt 9router API Proxy trên VPS với PM2 và Cloudflared&quot; /&gt;&lt;p&gt;Hướng dẫn chi tiết cách cài đặt 9router API proxy trên VPS dùng PM2 và Cloudflared Tunnel. Quản lý nhiều API key AI (OpenAI, Anthropic, Google), xoay vòng provider, ẩn credentials và kiểm soát chi phí.&lt;/p&gt;</content:encoded><category>9router</category><category>vps</category><category>ai</category><category>proxy</category><category>cloudflare-tunnel</category><category>pm2</category><category>api-gateway</category><author>info@danhthanh.dev (Danh Thanh)</author></item><item><title>Set Up 9router API Proxy on VPS with PM2 and Cloudflared</title><link>https://blog.danhthanh.dev/en/blog/cai-dat-9router-api-proxy-tren-vps/</link><guid isPermaLink="true">https://blog.danhthanh.dev/en/blog/cai-dat-9router-api-proxy-tren-vps/</guid><description>Detailed guide to setting up a 9router API proxy on a VPS using PM2 and Cloudflared Tunnel. Manage multiple AI API keys (OpenAI, Anthropic, Google), rotate providers, hide credentials, and control costs.</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;img src=&quot;/og/setup-9router-api-proxy-on-vps.webp&quot; alt=&quot;Set Up 9router API Proxy on VPS with PM2 and Cloudflared&quot; /&gt;&lt;p&gt;Detailed guide to setting up a 9router API proxy on a VPS using PM2 and Cloudflared Tunnel. Manage multiple AI API keys (OpenAI, Anthropic, Google), rotate providers, hide credentials, and control costs.&lt;/p&gt;</content:encoded><category>9router</category><category>vps</category><category>ai</category><category>proxy</category><category>cloudflare-tunnel</category><category>pm2</category><category>api-gateway</category><author>info@danhthanh.dev (Danh Thanh)</author></item><item><title>Bắt đầu với Astro 5</title><link>https://blog.danhthanh.dev/vi/blog/getting-started-with-astro-5/</link><guid isPermaLink="true">https://blog.danhthanh.dev/vi/blog/getting-started-with-astro-5/</guid><description>Học cách xây dựng website nhanh, tập trung vào nội dung với Astro 5 và kiến trúc islands.</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;img src=&quot;/og/getting-started-with-astro-5.webp&quot; alt=&quot;Bắt đầu với Astro 5&quot; /&gt;&lt;p&gt;Học cách xây dựng website nhanh, tập trung vào nội dung với Astro 5 và kiến trúc islands.&lt;/p&gt;</content:encoded><category>astro</category><category>web-development</category><category>performance</category><author>info@danhthanh.dev (Danh Thanh)</author></item><item><title>Getting Started with Astro 5</title><link>https://blog.danhthanh.dev/en/blog/getting-started-with-astro-5/</link><guid isPermaLink="true">https://blog.danhthanh.dev/en/blog/getting-started-with-astro-5/</guid><description>Learn how to build fast, content-focused websites with Astro 5 and its islands architecture.</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;img src=&quot;/og/getting-started-with-astro-5.webp&quot; alt=&quot;Getting Started with Astro 5&quot; /&gt;&lt;p&gt;Learn how to build fast, content-focused websites with Astro 5 and its islands architecture.&lt;/p&gt;</content:encoded><category>astro</category><category>web-development</category><category>performance</category><author>info@danhthanh.dev (Danh Thanh)</author></item><item><title>Hướng dẫn migrate lên TailwindCSS 4</title><link>https://blog.danhthanh.dev/vi/blog/tailwindcss-4-migration-guide/</link><guid isPermaLink="true">https://blog.danhthanh.dev/vi/blog/tailwindcss-4-migration-guide/</guid><description>Tất cả những gì bạn cần biết về việc migrate lên TailwindCSS 4, bao gồm breaking changes và tính năng mới.</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;img src=&quot;/og/tailwindcss-4-migration-guide.webp&quot; alt=&quot;Hướng dẫn migrate lên TailwindCSS 4&quot; /&gt;&lt;p&gt;Tất cả những gì bạn cần biết về việc migrate lên TailwindCSS 4, bao gồm breaking changes và tính năng mới.&lt;/p&gt;</content:encoded><category>tailwindcss</category><category>css</category><category>frontend</category><author>info@danhthanh.dev (Danh Thanh)</author></item><item><title>TailwindCSS 4 Migration Guide</title><link>https://blog.danhthanh.dev/en/blog/tailwindcss-4-migration-guide/</link><guid isPermaLink="true">https://blog.danhthanh.dev/en/blog/tailwindcss-4-migration-guide/</guid><description>Everything you need to know about migrating to TailwindCSS 4, including breaking changes and new features.</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;img src=&quot;/og/tailwindcss-4-migration-guide.webp&quot; alt=&quot;TailwindCSS 4 Migration Guide&quot; /&gt;&lt;p&gt;Everything you need to know about migrating to TailwindCSS 4, including breaking changes and new features.&lt;/p&gt;</content:encoded><category>tailwindcss</category><category>css</category><category>frontend</category><author>info@danhthanh.dev (Danh Thanh)</author></item><item><title>Xây dựng SaaS với Astro và StudioCMS</title><link>https://blog.danhthanh.dev/vi/blog/building-saas-astro-studiocms/</link><guid isPermaLink="true">https://blog.danhthanh.dev/vi/blog/building-saas-astro-studiocms/</guid><description>Hướng dẫn toàn diện về việc xây dựng ứng dụng SaaS sử dụng Astro cho frontend và StudioCMS để quản lý nội dung.</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;img src=&quot;/og/building-saas-astro-studiocms.webp&quot; alt=&quot;Xây dựng SaaS với Astro và StudioCMS&quot; /&gt;&lt;p&gt;Hướng dẫn toàn diện về việc xây dựng ứng dụng SaaS sử dụng Astro cho frontend và StudioCMS để quản lý nội dung.&lt;/p&gt;</content:encoded><category>astro</category><category>saas</category><category>studiocms</category><category>web-development</category><author>info@danhthanh.dev (Danh Thanh)</author></item><item><title>Building a SaaS with Astro and StudioCMS</title><link>https://blog.danhthanh.dev/en/blog/building-saas-astro-studiocms/</link><guid isPermaLink="true">https://blog.danhthanh.dev/en/blog/building-saas-astro-studiocms/</guid><description>A comprehensive guide to building a SaaS application using Astro and StudioCMS for content management.</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;img src=&quot;/og/building-saas-astro-studiocms.webp&quot; alt=&quot;Building a SaaS with Astro and StudioCMS&quot; /&gt;&lt;p&gt;A comprehensive guide to building a SaaS application using Astro and StudioCMS for content management.&lt;/p&gt;</content:encoded><category>astro</category><category>saas</category><category>studiocms</category><category>web-development</category><author>info@danhthanh.dev (Danh Thanh)</author></item><item><title>Làm chủ TypeScript Generics</title><link>https://blog.danhthanh.dev/vi/blog/mastering-typescript-generics/</link><guid isPermaLink="true">https://blog.danhthanh.dev/vi/blog/mastering-typescript-generics/</guid><description>Deep dive vào TypeScript generics và học cách viết code reusable, type-safe.</description><pubDate>Mon, 10 Feb 2025 00:00:00 GMT</pubDate><content:encoded>&lt;img src=&quot;/og/mastering-typescript-generics.webp&quot; alt=&quot;Làm chủ TypeScript Generics&quot; /&gt;&lt;p&gt;Deep dive vào TypeScript generics và học cách viết code reusable, type-safe.&lt;/p&gt;</content:encoded><category>typescript</category><category>programming</category><category>generics</category><author>info@danhthanh.dev (Danh Thanh)</author></item><item><title>Mastering TypeScript Generics</title><link>https://blog.danhthanh.dev/en/blog/mastering-typescript-generics/</link><guid isPermaLink="true">https://blog.danhthanh.dev/en/blog/mastering-typescript-generics/</guid><description>Deep dive into TypeScript generics and learn how to write reusable, type-safe code.</description><pubDate>Mon, 10 Feb 2025 00:00:00 GMT</pubDate><content:encoded>&lt;img src=&quot;/og/mastering-typescript-generics.webp&quot; alt=&quot;Mastering TypeScript Generics&quot; /&gt;&lt;p&gt;Deep dive into TypeScript generics and learn how to write reusable, type-safe code.&lt;/p&gt;</content:encoded><category>typescript</category><category>programming</category><category>generics</category><author>info@danhthanh.dev (Danh Thanh)</author></item></channel></rss>