<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>hoatq.dev</title><description>Blog cá nhân của Trần Quang Hòa — Software Engineer tại Hà Nội. Viết về backend, DevOps, AI agents, Laravel, Nuxt.js.</description><link>https://hoatq.dev/</link><language>vi-VN</language><item><title>Outbox Pattern: đảm bảo consistency giữa database và message broker</title><link>https://hoatq.dev/blog/outbox-pattern-dam-bao-consistency-giua-database-va-message-broker/</link><guid isPermaLink="true">https://hoatq.dev/blog/outbox-pattern-dam-bao-consistency-giua-database-va-message-broker/</guid><description>Tại sao publish event sau khi commit DB lại gây mất event, và Outbox Pattern giải quyết vấn đề này như thế nào — kèm triển khai thực tế với PostgreSQL, FastAPI và một worker đơn giản.</description><pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate><category>backend</category><category>microservices</category><category>postgresql</category><category>design-pattern</category><category>event-driven</category></item><item><title>Retry và Circuit Breaker: xử lý lỗi tạm thời trong hệ thống phân tán</title><link>https://hoatq.dev/blog/retry-va-circuit-breaker-xu-ly-loi-trong-he-thong-phan-tan/</link><guid isPermaLink="true">https://hoatq.dev/blog/retry-va-circuit-breaker-xu-ly-loi-trong-he-thong-phan-tan/</guid><description>Chia sẻ cách triển khai retry pattern và circuit breaker để hệ thống phân tán chịu lỗi tốt hơn — từ exponential backoff, jitter đến state machine, kèm code thực tế với Python và TypeScript.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate><category>backend</category><category>microservices</category><category>resilience</category><category>design-pattern</category></item><item><title>Craft Agents: giao diện agent mã nguồn mở mà developer nên thử</title><link>https://hoatq.dev/blog/craft-agents-giao-dien-agent-ma-nguon-mo-cho-developer/</link><guid isPermaLink="true">https://hoatq.dev/blog/craft-agents-giao-dien-agent-ma-nguon-mo-cho-developer/</guid><description>Giới thiệu Craft Agents — ứng dụng desktop mã nguồn mở biến AI agent thành đồng đội thực sự với session như document, kết nối mọi API, và workflow linh hoạt cho developer.</description><pubDate>Wed, 15 Apr 2026 02:00:00 GMT</pubDate><category>ai</category><category>developer-tools</category><category>open-source</category><category>productivity</category></item><item><title>CMAS: quản lý nhiều tài khoản Claude Code trên một máy — không cần login lại</title><link>https://hoatq.dev/blog/cmas-quan-ly-nhieu-tai-khoan-claude-code-tren-mot-may/</link><guid isPermaLink="true">https://hoatq.dev/blog/cmas-quan-ly-nhieu-tai-khoan-claude-code-tren-mot-may/</guid><description>Giới thiệu CMAS (Claude Multi Account Switcher) — ứng dụng desktop giúp chuyển đổi nhanh giữa nhiều tài khoản Claude Code, mở VSCode isolated sessions, và theo dõi usage real-time.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate><category>ai</category><category>developer-tools</category><category>open-source</category><category>productivity</category></item><item><title>Database migration không downtime: expand-contract pattern và bài học từ production</title><link>https://hoatq.dev/blog/database-migration-khong-downtime-expand-contract-pattern/</link><guid isPermaLink="true">https://hoatq.dev/blog/database-migration-khong-downtime-expand-contract-pattern/</guid><description>Chia sẻ cách chạy database migration an toàn trên production mà không cần maintenance window — từ expand-contract pattern, backward-compatible changes đến rollback strategy với Alembic và PostgreSQL.</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate><category>database</category><category>postgresql</category><category>devops</category><category>backend</category><category>best-practices</category></item><item><title>Laravel 13: AI SDK, PHP Attributes và những thay đổi đáng chú ý</title><link>https://hoatq.dev/blog/laravel-13-tinh-nang-moi-ai-sdk-php-attributes/</link><guid isPermaLink="true">https://hoatq.dev/blog/laravel-13-tinh-nang-moi-ai-sdk-php-attributes/</guid><description>Tổng hợp những tính năng mới trong Laravel 13 — từ AI SDK first-party, PHP attributes cho Eloquent, vector search với pgvector, đến queue routing và upgrade guide thực tế.</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate><category>laravel</category><category>php</category><category>ai</category><category>backend</category></item><item><title>Structured logging: debug production hiệu quả mà không cần SSH</title><link>https://hoatq.dev/blog/structured-logging-debug-production-hieu-qua/</link><guid isPermaLink="true">https://hoatq.dev/blog/structured-logging-debug-production-hieu-qua/</guid><description>Chia sẻ cách chuyển từ console.log/print sang structured logging — JSON logs, correlation ID, log levels, và cách tận dụng chúng để debug production nhanh hơn 10x mà không cần SSH vào server.</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate><category>backend</category><category>devops</category><category>observability</category><category>best-practices</category></item><item><title>Rate Limiting API: bảo vệ backend khỏi bị quá tải với Redis</title><link>https://hoatq.dev/blog/rate-limiting-api-bao-ve-backend-voi-redis/</link><guid isPermaLink="true">https://hoatq.dev/blog/rate-limiting-api-bao-ve-backend-voi-redis/</guid><description>Chia sẻ cách triển khai rate limiting thực tế cho API — từ thuật toán sliding window, token bucket đến implementation với Redis và FastAPI, kèm những bài học từ production.</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><category>backend</category><category>redis</category><category>security</category><category>api</category><category>performance</category></item><item><title>Deploy Nuxt.js + FastAPI lên AWS ECS (Phần 2) — Route 53, CloudFront, SSL và WAF</title><link>https://hoatq.dev/blog/deploy-nuxtjs-fastapi-len-aws-ecs-phan-2-route53-cloudfront-waf/</link><guid isPermaLink="true">https://hoatq.dev/blog/deploy-nuxtjs-fastapi-len-aws-ecs-phan-2-route53-cloudfront-waf/</guid><description>Phần 2: Hoàn thiện hệ thống production-ready với Route 53 (DNS), ACM (SSL miễn phí), CloudFront (CDN), WAF (tường lửa), auto-scaling và monitoring. Từ ALB domain xấu xí đến website chạy HTTPS với domain riêng.</description><pubDate>Tue, 07 Apr 2026 15:30:00 GMT</pubDate><category>aws</category><category>route53</category><category>cloudfront</category><category>waf</category><category>ssl</category><category>devops</category><category>ecs</category></item><item><title>Deploy Nuxt.js + FastAPI lên AWS ECS (Phần 1) — Dockerize, ECR, ECS Fargate và CI/CD</title><link>https://hoatq.dev/blog/deploy-nuxtjs-fastapi-len-aws-ecs-voi-github-actions/</link><guid isPermaLink="true">https://hoatq.dev/blog/deploy-nuxtjs-fastapi-len-aws-ecs-voi-github-actions/</guid><description>Hướng dẫn thực tế triển khai hệ thống full-stack Nuxt.js + FastAPI lên AWS ECS Fargate. Phần 1: Dockerize services, push image lên ECR, setup ECS cluster, và CI/CD tự động bằng GitHub Actions.</description><pubDate>Tue, 07 Apr 2026 15:00:00 GMT</pubDate><category>aws</category><category>ecs</category><category>nuxtjs</category><category>fastapi</category><category>github-actions</category><category>devops</category><category>docker</category></item><item><title>Git Worktree: Làm việc nhiều branch cùng lúc mà không cần stash</title><link>https://hoatq.dev/blog/git-worktree-lam-viec-nhieu-branch-cung-luc/</link><guid isPermaLink="true">https://hoatq.dev/blog/git-worktree-lam-viec-nhieu-branch-cung-luc/</guid><description>Hướng dẫn thực tế sử dụng git worktree để checkout nhiều branch đồng thời, review PR nhanh hơn, và xử lý hotfix mà không mất context đang làm dở.</description><pubDate>Sun, 05 Apr 2026 09:00:00 GMT</pubDate><category>git</category><category>productivity</category><category>developer-tools</category></item><item><title>Bảo mật AI coding agent: tránh prompt injection, lộ secrets và cấp quyền quá tay</title><link>https://hoatq.dev/blog/bao-mat-ai-coding-agent-tranh-prompt-injection-va-lo-secrets/</link><guid isPermaLink="true">https://hoatq.dev/blog/bao-mat-ai-coding-agent-tranh-prompt-injection-va-lo-secrets/</guid><description>Chia sẻ 6 nguyên tắc thực tế để dùng AI coding agent an toàn hơn trong team dev — từ giới hạn quyền, bảo vệ secrets, đến cách giảm rủi ro prompt injection và supply-chain.</description><pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate><category>ai</category><category>security</category><category>developer-tools</category><category>best-practices</category></item><item><title>GitHub Actions CI/CD: Tự động hóa từ test đến deploy</title><link>https://hoatq.dev/blog/github-actions-ci-cd-tu-dong-hoa-tu-test-den-deploy/</link><guid isPermaLink="true">https://hoatq.dev/blog/github-actions-ci-cd-tu-dong-hoa-tu-test-den-deploy/</guid><description>Hướng dẫn thiết lập pipeline CI/CD hoàn chỉnh với GitHub Actions — từ chạy test, build Docker image, đến deploy tự động lên VPS. Kèm tips tối ưu thời gian build và bảo mật secrets.</description><pubDate>Wed, 01 Apr 2026 13:00:00 GMT</pubDate><category>github-actions</category><category>ci-cd</category><category>devops</category><category>automation</category></item><item><title>Tối ưu PostgreSQL: Index, Query Plan và những bài học từ production</title><link>https://hoatq.dev/blog/toi-uu-postgresql-index-va-query-plan/</link><guid isPermaLink="true">https://hoatq.dev/blog/toi-uu-postgresql-index-va-query-plan/</guid><description>Chia sẻ kinh nghiệm thực tế tối ưu PostgreSQL — từ cách đọc EXPLAIN ANALYZE, chọn đúng loại index, đến những sai lầm phổ biến mà developer hay mắc phải.</description><pubDate>Wed, 01 Apr 2026 02:00:00 GMT</pubDate><category>postgresql</category><category>database</category><category>performance</category><category>backend</category></item><item><title>AI Agent cho Developer: Từ assistant đến đồng đội thực sự</title><link>https://hoatq.dev/blog/ai-agent-cho-developer-huong-dan-thuc-te/</link><guid isPermaLink="true">https://hoatq.dev/blog/ai-agent-cho-developer-huong-dan-thuc-te/</guid><description>Hướng dẫn thực tế cách tận dụng AI agent, sub-agent, skills, hooks và MCP để xây dựng workflow tự động hóa cho developer — không phải lý thuyết suông.</description><pubDate>Tue, 31 Mar 2026 10:30:00 GMT</pubDate><category>ai</category><category>automation</category><category>developer-tools</category><category>productivity</category></item><item><title>Tối ưu Docker image: Từ 1.2GB xuống 80MB với multi-stage builds</title><link>https://hoatq.dev/blog/toi-uu-docker-image-voi-multi-stage-builds/</link><guid isPermaLink="true">https://hoatq.dev/blog/toi-uu-docker-image-voi-multi-stage-builds/</guid><description>Hướng dẫn thực tế giảm kích thước Docker image bằng multi-stage builds, kèm tips bảo mật container và tối ưu build time cho production.</description><pubDate>Tue, 31 Mar 2026 10:00:00 GMT</pubDate><category>docker</category><category>devops</category><category>performance</category></item><item><title>Axios bị tấn công supply chain: tài khoản maintainer bị chiếm, RAT được cài vào máy dev</title><link>https://hoatq.dev/blog/axios-npm-bi-tan-cong-supply-chain/</link><guid isPermaLink="true">https://hoatq.dev/blog/axios-npm-bi-tan-cong-supply-chain/</guid><description>Phân tích chi tiết vụ tấn công supply chain vào Axios — package npm 100 triệu lượt tải/tuần. Điều gì đã xảy ra, cách phát hiện và bài học rút ra.</description><pubDate>Tue, 31 Mar 2026 07:00:00 GMT</pubDate><category>security</category><category>npm</category><category>supply-chain</category></item><item><title>Tại sao tôi chọn Vue.js/Nuxt.js thay vì React hay Angular</title><link>https://hoatq.dev/blog/tai-sao-chon-vuejs-nuxtjs/</link><guid isPermaLink="true">https://hoatq.dev/blog/tai-sao-chon-vuejs-nuxtjs/</guid><description>Sau 8 năm làm việc, tôi đã thử cả 3 framework phổ biến nhất. Đây là lý do tôi gắn bó với Vue.js và Nuxt.js cho các dự án của mình.</description><pubDate>Tue, 31 Mar 2026 06:00:00 GMT</pubDate><category>vue.js</category><category>nuxt.js</category><category>frontend</category></item><item><title>Xin chào thế giới!</title><link>https://hoatq.dev/blog/xin-chao-the-gioi/</link><guid isPermaLink="true">https://hoatq.dev/blog/xin-chao-the-gioi/</guid><description>Bài viết đầu tiên trên blog cá nhân hoatq.dev — nơi mình chia sẻ về lập trình, công nghệ và cuộc sống.</description><pubDate>Tue, 31 Mar 2026 03:00:00 GMT</pubDate><category>tản mạn</category></item><item><title>Tại sao mình chọn Astro cho blog cá nhân</title><link>https://hoatq.dev/blog/tai-sao-chon-astro/</link><guid isPermaLink="true">https://hoatq.dev/blog/tai-sao-chon-astro/</guid><description>So sánh các framework phổ biến và lý do mình chọn Astro để xây dựng blog cá nhân — từ hiệu năng, DX đến hệ sinh thái.</description><pubDate>Mon, 30 Mar 2026 04:00:00 GMT</pubDate><category>astro</category><category>web development</category></item><item><title>5 thói quen giúp developer làm việc hiệu quả hơn</title><link>https://hoatq.dev/blog/5-thoi-quen-developer-hieu-qua/</link><guid isPermaLink="true">https://hoatq.dev/blog/5-thoi-quen-developer-hieu-qua/</guid><description>Những thói quen đơn giản nhưng hiệu quả mà mình đã áp dụng để cải thiện năng suất và chất lượng công việc.</description><pubDate>Sat, 28 Mar 2026 05:00:00 GMT</pubDate><category>productivity</category><category>career</category></item></channel></rss>