<?xml version="1.0" encoding="UTF-8" ?>
<rss
    version="2.0"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:webfeeds="http://webfeeds.org/rss/1.0"
    xmlns:media="http://search.yahoo.com/mrss/"
    >
    <channel>
        <title>Backend Tag - Viblo</title>
        <link>https://viblo.asia/rss</link>
        <description><![CDATA[Free service for technical knowledge sharing]]></description>
        <atom:link href="https://viblo.asia/rss/tags/backend.rss" rel="self"></atom:link>
                <copyright>Sun* Inc.</copyright>
                                                <webfeeds:logo>https://viblo.asia/logo_full.svg</webfeeds:logo>
        <image>
            <url>https://viblo.asia/logo_full.svg</url>
            <title>Backend Tag - Viblo</title>
            <link>https://viblo.asia/rss</link>
        </image>
                                <language>vi-vn</language>
        <lastBuildDate>2026-05-16T11:53:36+07:00</lastBuildDate>
                <item>
            <title><![CDATA[Sếp yêu cầu Export 1 triệu dòng Excel: Cẩm nang sinh tồn từ Backend đến Frontend để Server không &quot;đột tử&quot;]]></title>
                        <link>https://viblo.asia/p/sep-yeu-cau-export-1-trieu-dong-excel-cam-nang-sinh-ton-tu-backend-den-frontend-de-server-khong-dot-tu-2vJPdWyqJeK</link>
            <guid isPermaLink="true">https://viblo.asia/p/sep-yeu-cau-export-1-trieu-dong-excel-cam-nang-sinh-ton-tu-backend-den-frontend-de-server-khong-dot-tu-2vJPdWyqJeK</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Chắc hẳn anh em làm web ai cũng từng nhận một task thế này: "Em làm cho anh cái nút Xuất Excel danh sách đơn hàng tháng ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-15 17:42:44</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Giải mã RdKafka: &quot;Trùm cuối&quot; ẩn mình giúp PHP giao tiếp với Kafka siêu tốc]]></title>
                        <link>https://viblo.asia/p/giai-ma-rdkafka-trum-cuoi-an-minh-giup-php-giao-tiep-voi-kafka-sieu-toc-ZjJYWZEXVOE</link>
            <guid isPermaLink="true">https://viblo.asia/p/giai-ma-rdkafka-trum-cuoi-an-minh-giup-php-giao-tiep-voi-kafka-sieu-toc-ZjJYWZEXVOE</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Nếu anh em làm Kafka với PHP hoặc Laravel, chắc chắn anh em đã từng phải chạy cái lệnh này trên server hoặc trong Docker...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-15 12:01:10</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bơm &quot;Doping&quot; cho hệ thống với ini_set() trong Laravel và những ảo tưởng sức mạnh cần tránh]]></title>
                        <link>https://viblo.asia/p/bom-doping-cho-he-thong-voi-ini-set-trong-laravel-va-nhung-ao-tuong-suc-manh-can-tranh-vbLbjXOvLnk</link>
            <guid isPermaLink="true">https://viblo.asia/p/bom-doping-cho-he-thong-voi-ini-set-trong-laravel-va-nhung-ao-tuong-suc-manh-can-tranh-vbLbjXOvLnk</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Là một Backend Developer, chắc hẳn anh em đã từng toát mồ hôi hột khi phải viết chức năng Export/Import một file Excel c...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-14 23:16:03</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Giải phẫu Kafka Producer: Nghệ thuật Đóng gói và Phân luồng hàng triệu Message mỗi giây]]></title>
                        <link>https://viblo.asia/p/giai-phau-kafka-producer-nghe-thuat-dong-goi-va-phan-luong-hang-trieu-message-moi-giay-pPLkN3q6JRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/giai-phau-kafka-producer-nghe-thuat-dong-goi-va-phan-luong-hang-trieu-message-moi-giay-pPLkN3q6JRZ</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Trong các dự án Microservices, chúng ta thường hay nói với nhau: "Cứ ném data vào Kafka đi, bên kia sẽ có consumer lo". ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-14 07:41:37</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Dọn rác file Routes: Chuẩn hóa RESTful API với Resource Controller trong Laravel và những &quot;Tuyệt kỹ&quot; ẩn giấu]]></title>
                        <link>https://viblo.asia/p/don-rac-file-routes-chuan-hoa-restful-api-voi-resource-controller-trong-laravel-va-nhung-tuyet-ky-an-giau-kNLr3DqWVgA</link>
            <guid isPermaLink="true">https://viblo.asia/p/don-rac-file-routes-chuan-hoa-restful-api-voi-resource-controller-trong-laravel-va-nhung-tuyet-ky-an-giau-kNLr3DqWVgA</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Lại là câu chuyện muôn thuở về Clean Code. Đã bao giờ anh em mở file routes/api.php hoặc routes/web.php của một dự án cũ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-13 19:35:28</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[&quot;Trái tim&quot; của mọi hệ thống Backend: Giải phẫu Nginx, Reverse Proxy và nguyên lý Event-Driven]]></title>
                        <link>https://viblo.asia/p/trai-tim-cua-moi-he-thong-backend-giai-phau-nginx-reverse-proxy-va-nguyen-ly-event-driven-AY4qQdxw4Pw</link>
            <guid isPermaLink="true">https://viblo.asia/p/trai-tim-cua-moi-he-thong-backend-giai-phau-nginx-reverse-proxy-va-nguyen-ly-event-driven-AY4qQdxw4Pw</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Ở bài viết trước về PHP-FPM, mình có ví von Nginx giống như một "Anh lễ tân" đứng đón khách, còn PHP-FPM là "Nhà bếp". L...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-13 11:59:56</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Đừng để Server sập vì &quot;Spam Click&quot;: Làm chủ Rate Limiter trong Laravel từ cơ bản đến thực chiến]]></title>
                        <link>https://viblo.asia/p/dung-de-server-sap-vi-spam-click-lam-chu-rate-limiter-trong-laravel-tu-co-ban-den-thuc-chien-bA468BkxLKv</link>
            <guid isPermaLink="true">https://viblo.asia/p/dung-de-server-sap-vi-spam-click-lam-chu-rate-limiter-trong-laravel-tu-co-ban-den-thuc-chien-bA468BkxLKv</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Làm Backend, chắc hẳn anh em đã từng gặp cảnh: Đêm hôm khuya khoắt hệ thống bắn cảnh báo CPU 100%, RAM cạn kiệt. Lò dò l...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-12 23:04:55</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Đừng để Database &quot;toang&quot; vì Kafka: Giải quyết bài toán Out-of-order Messages từ gốc đến ngọn]]></title>
                        <link>https://viblo.asia/p/dung-de-database-toang-vi-kafka-giai-quyet-bai-toan-out-of-order-messages-tu-goc-den-ngon-Nj4vg8qqJ6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/dung-de-database-toang-vi-kafka-giai-quyet-bai-toan-out-of-order-messages-tu-goc-den-ngon-Nj4vg8qqJ6r</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Nếu anh em làm Microservices, chắc chắn đã từng hoặc sẽ dùng đến Message Queue (như Kafka, RabbitMQ). Đưa MQ vào kiến tr...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-11 12:42:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Xây dựng Web App tích hợp Chatbot AI: Lộ trình từ Zero đến Backend Pro (2026)]]></title>
                        <link>https://viblo.asia/p/xay-dung-web-app-tich-hop-chatbot-ai-lo-trinh-tu-zero-den-backend-pro-2026-13VM9Da8VY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/xay-dung-web-app-tich-hop-chatbot-ai-lo-trinh-tu-zero-den-backend-pro-2026-13VM9Da8VY7</guid>
            <description><![CDATA[Trong kỷ nguyên Vibe Coding, việc lập trình viên Backend phải ngồi gõ từng dòng code xử lý hội thoại đã dần trở nên lạc hậu. Thay vào đó, chúng ta cần...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Noi Noi</dc:creator>
            <pubDate>2026-05-09 18:35:40</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Vibe Coding với Laravel: Đã đến lúc Backend Developer chuyển mình cùng AI?]]></title>
                        <link>https://viblo.asia/p/vibe-coding-voi-laravel-da-den-luc-backend-developer-chuyen-minh-cung-ai-lZL9XqBbJQK</link>
            <guid isPermaLink="true">https://viblo.asia/p/vibe-coding-voi-laravel-da-den-luc-backend-developer-chuyen-minh-cung-ai-lZL9XqBbJQK</guid>
            <description><![CDATA[Trong vài tháng trở lại đây, cộng đồng công nghệ đang xôn xao về thuật ngữ "Vibe Coding".
Không còn là việc ngồi gõ từng dòng cú pháp public function ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Noi Noi</dc:creator>
            <pubDate>2026-05-09 18:03:53</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Đừng để Queue Worker &quot;đột tử&quot;: Giải phẫu DB::disableQueryLog() chống Memory Leak trong Laravel]]></title>
                        <link>https://viblo.asia/p/dung-de-queue-worker-dot-tu-giai-phau-dbdisablequerylog-chong-memory-leak-trong-laravel-QyJKz7xb4Me</link>
            <guid isPermaLink="true">https://viblo.asia/p/dung-de-queue-worker-dot-tu-giai-phau-dbdisablequerylog-chong-memory-leak-trong-laravel-QyJKz7xb4Me</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Hôm nay chúng ta sẽ cùng mổ xẻ một vấn đề mà tôi cá là 90% anh em làm backend Laravel sớm muộn gì cũng sẽ gặp phải khi h...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-09 10:31:31</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tư duy Logging trong hệ thống Laravel &quot;hạng nặng&quot;: Đừng để hệ thống của bạn là một &quot;Hộp đen&quot; bí ẩn]]></title>
                        <link>https://viblo.asia/p/tu-duy-logging-trong-he-thong-laravel-hang-nang-dung-de-he-thong-cua-ban-la-mot-hop-den-bi-an-PoL7e0A64vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/tu-duy-logging-trong-he-thong-laravel-hang-nang-dung-de-he-thong-cua-ban-la-mot-hop-den-bi-an-PoL7e0A64vk</guid>
            <description><![CDATA[1. Mở đầu: Khi Log là "Hộp đen" của máy bay

Trong những dự án nhỏ, log thường chỉ là công cụ để chúng ta tìm vài lỗi cú pháp cơ bản. Nhưng khi bước c...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-08 13:04:27</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Build hệ thống Helpdesk &amp; Feedback: Quản lý &quot;tiếng nói&quot; khách hàng chuẩn Enterprise]]></title>
                        <link>https://viblo.asia/p/build-he-thong-helpdesk-feedback-quan-ly-tieng-noi-khach-hang-chuan-enterprise-bA468BA9LKv</link>
            <guid isPermaLink="true">https://viblo.asia/p/build-he-thong-helpdesk-feedback-quan-ly-tieng-noi-khach-hang-chuan-enterprise-bA468BA9LKv</guid>
            <description><![CDATA[để hệ thống Proptech (Bất động sản) hay bất kỳ dự án SaaS nào trở nên chuyên nghiệp, module Quản lý Phản hồi & Hỗ trợ (Feedback & Ticket System) chính...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-12 07:35:16</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Media Manager: Xây dựng &quot;Google Drive&quot; nội bộ với tính năng Nén ảnh và Watermark]]></title>
                        <link>https://viblo.asia/p/media-manager-xay-dung-google-drive-noi-bo-voi-tinh-nang-nen-anh-va-watermark-OXLA0jbwJGr</link>
            <guid isPermaLink="true">https://viblo.asia/p/media-manager-xay-dung-google-drive-noi-bo-voi-tinh-nang-nen-anh-va-watermark-OXLA0jbwJGr</guid>
            <description><![CDATA[Trong các dự án nhỏ, dev thường chỉ upload ảnh rồi lưu link vào bảng bài viết. Nhưng ở các hệ thống chuyên nghiệp, bạn cần một Media Manager độc lập. ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-07 16:44:16</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tự động hóa Activity Logs &amp; Notifications không làm rác Controller]]></title>
                        <link>https://viblo.asia/p/tu-dong-hoa-activity-logs-notifications-khong-lam-rac-controller-pPLkN3neJRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/tu-dong-hoa-activity-logs-notifications-khong-lam-rac-controller-pPLkN3neJRZ</guid>
            <description><![CDATA[Trong các hệ thống lớn, khi một sản phẩm đột nhiên biến mất hoặc một giao dịch bị thay đổi số tiền, nếu bạn không có Activity Logs (Nhật ký hoạt động)...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-07 19:50:03</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Maintenance Mode cho API: Đừng để Mobile App bị Crash vì trang HTML 503!]]></title>
                        <link>https://viblo.asia/p/maintenance-mode-cho-api-dung-de-mobile-app-bi-crash-vi-trang-html-503-Nj4vg8ZKJ6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/maintenance-mode-cho-api-dung-de-mobile-app-bi-crash-vi-trang-html-503-Nj4vg8ZKJ6r</guid>
            <description><![CDATA[Khi cần bảo trì server, phản xạ của 99% anh em dev là SSH vào server và gõ lệnh php artisan down. Xong đi ngủ!

Hậu quả là gì? Lệnh này mặc định sẽ tr...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-08 11:06:29</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Task &amp; Calendar: Xây dựng trợ lý ảo cho Môi giới Bất động sản]]></title>
                        <link>https://viblo.asia/p/task-calendar-xay-dung-tro-ly-ao-cho-moi-gioi-bat-dong-san-1QLxnp5O4Aw</link>
            <guid isPermaLink="true">https://viblo.asia/p/task-calendar-xay-dung-tro-ly-ao-cho-moi-gioi-bat-dong-san-1QLxnp5O4Aw</guid>
            <description><![CDATA[để hệ thống Proptech (Bất động sản) thực sự hỗ trợ được môi giới, chức năng Lịch làm việc & Nhắc lịch (Task & Calendar) chính là "trợ lý ảo" không thể...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-07 14:50:03</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Xây dựng Quản lý kho hàng (Listing Management) trong hệ thống Bất Động Sản]]></title>
                        <link>https://viblo.asia/p/xay-dung-quan-ly-kho-hang-listing-management-trong-he-thong-bat-dong-san-k74a9gEk4eO</link>
            <guid isPermaLink="true">https://viblo.asia/p/xay-dung-quan-ly-kho-hang-listing-management-trong-he-thong-bat-dong-san-k74a9gEk4eO</guid>
            <description><![CDATA[Trong ngành Bất động sản (Proptech), việc quản lý kho hàng (Listing Management) không đơn giản là CRUD mà là bài toán về Tính nhất quán dữ liệu và Quả...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-07 12:22:07</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[PHP Class Type Hinting: Đừng để Code của bạn chạy bằng &quot;Hệ tâm linh&quot;]]></title>
                        <link>https://viblo.asia/p/php-class-type-hinting-dung-de-code-cua-ban-chay-bang-he-tam-linh-kY4gDY3eJAe</link>
            <guid isPermaLink="true">https://viblo.asia/p/php-class-type-hinting-dung-de-code-cua-ban-chay-bang-he-tam-linh-kY4gDY3eJAe</guid>
            <description><![CDATA[1. Mở đầu: Câu chuyện về những bug "trên trời rơi xuống"

Hẳn là ai trong chúng ta cũng từng trải qua cảm giác này: Nhận một dự án cũ (legacy code), m...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-07 10:46:20</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Campaign Management: Làm chủ vòng đời chiến dịch với Task Scheduling và State Validation]]></title>
                        <link>https://viblo.asia/p/campaign-management-lam-chu-vong-doi-chien-dich-voi-task-scheduling-va-state-validation-PoL7e0364vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/campaign-management-lam-chu-vong-doi-chien-dich-voi-task-scheduling-va-state-validation-PoL7e0364vk</guid>
            <description><![CDATA[để làm một chức năng Campaign Management (Quản lý chiến dịch), nếu chỉ làm CRUD (Thêm/Sửa/Xóa) cơ bản thì quá nhàm chán và giống hệt quản lý Sản phẩm ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-06 17:40:30</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Phân quyền User/Admin chuẩn Enterprise: Từ bỏ if/else, làm chủ Spatie và PHP Enums]]></title>
                        <link>https://viblo.asia/p/phan-quyen-useradmin-chuan-enterprise-tu-bo-ifelse-lam-chu-spatie-va-php-enums-AY4qQd6D4Pw</link>
            <guid isPermaLink="true">https://viblo.asia/p/phan-quyen-useradmin-chuan-enterprise-tu-bo-ifelse-lam-chu-spatie-va-php-enums-AY4qQd6D4Pw</guid>
            <description><![CDATA[Nhiều anh em Junior thường giải quyết bài toán phân quyền bằng cách thêm một cột is_admin (boolean) hoặc role (string 'admin', 'user') vào bảng users....]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-06 07:31:56</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Thiết kế hệ thống Giỏ hàng (Cart) chuẩn E-commerce: Bài toán Tồn kho và Tính toán động]]></title>
                        <link>https://viblo.asia/p/thiet-ke-he-thong-gio-hang-cart-chuan-e-commerce-bai-toan-ton-kho-va-tinh-toan-dong-K9Vy89yaLQR</link>
            <guid isPermaLink="true">https://viblo.asia/p/thiet-ke-he-thong-gio-hang-cart-chuan-e-commerce-bai-toan-ton-kho-va-tinh-toan-dong-K9Vy89yaLQR</guid>
            <description><![CDATA[để thiết kế một chức năng Giỏ hàng (Shopping Cart) chuẩn mực cho hệ thống E-commerce, chúng ta không thể làm theo kiểu "mì ăn liền" (lưu vào Session h...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-05 19:21:33</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bài 4 — Redis trong production: Những điều nên và không nên]]></title>
                        <link>https://viblo.asia/p/bai-4-redis-trong-production-nhung-dieu-nen-va-khong-nen-bA468BbgLKv</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-4-redis-trong-production-nhung-dieu-nen-va-khong-nen-bA468BbgLKv</guid>
            <description><![CDATA[![](https://images.viblo.asia/36a263c2-3504-40d4-9e18-a4c3028ae0df.jpg)


Sau khi tớ dùng Redis một thời gian, có vài điều rất đáng rút kinh nghiệm. R...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Quốc Việt Phạm</dc:creator>
            <pubDate>2026-05-05 15:00:55</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bài 3 — Distributed Lock: Khi backend chạy nhiều instance]]></title>
                        <link>https://viblo.asia/p/bai-3-distributed-lock-khi-backend-chay-nhieu-instance-ymJXDQrEJkq</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-3-distributed-lock-khi-backend-chay-nhieu-instance-ymJXDQrEJkq</guid>
            <description><![CDATA[Khi hệ thống có nhiều instance:

- Cron job (schedule job) có thể chạy trùng
- Đơn hàng có thể bị xử lý hai lần
- Race condition xuất hiện
<br><br>

<...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Quốc Việt Phạm</dc:creator>
            <pubDate>2026-05-05 14:03:08</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Thiết kế tính năng Wishlist chuẩn Enterprise]]></title>
                        <link>https://viblo.asia/p/thiet-ke-tinh-nang-wishlist-chuan-enterprise-1j4lQPYdJwl</link>
            <guid isPermaLink="true">https://viblo.asia/p/thiet-ke-tinh-nang-wishlist-chuan-enterprise-1j4lQPYdJwl</guid>
            <description><![CDATA[Thông thường, mọi người sẽ tạo một bảng wishlists gồm 2 cột: userid và productid. Xong!
Nhưng chuyện gì xảy ra nếu 6 tháng sau, dự án mở rộng, sếp yêu...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-05 13:24:35</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bài 2 — Cache Layer: Quan trọng không phải dùng, mà là dùng đúng]]></title>
                        <link>https://viblo.asia/p/bai-2-cache-layer-quan-trong-khong-phai-dung-ma-la-dung-dung-1QLxnp3g4Aw</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-2-cache-layer-quan-trong-khong-phai-dung-ma-la-dung-dung-1QLxnp3g4Aw</guid>
            <description><![CDATA[Các chiến lược cache phổ biến

Thực ra có rất nhiều chiến lược cache. Quan trọng không phải là biết hết, mà là chọn được cách phù hợp với bài toán của...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Quốc Việt Phạm</dc:creator>
            <pubDate>2026-05-05 13:26:11</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bài 1 — Redis là gì và vì sao Backend Developer nên quan tâm?]]></title>
                        <link>https://viblo.asia/p/bai-1-redis-la-gi-va-vi-sao-backend-developer-nen-quan-tam-ym4007do491</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-1-redis-la-gi-va-vi-sao-backend-developer-nen-quan-tam-ym4007do491</guid>
            <description><![CDATA[Redis giải quyết bài toán gì?

<br>Khi làm backend một "thời gian" (thực ra là mới 2 năm kinh nghiệm=))), bạn sẽ nhận ra: vấn đề lớn nhất không phải l...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Quốc Việt Phạm</dc:creator>
            <pubDate>2026-05-05 12:03:39</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cập nhật Avatar chuẩn Enterprise: Nghệ thuật quản lý file và dọn &quot;rác&quot; ổ cứng]]></title>
                        <link>https://viblo.asia/p/cap-nhat-avatar-chuan-enterprise-nghe-thuat-quan-ly-file-va-don-rac-o-cung-bNVQGojAJvR</link>
            <guid isPermaLink="true">https://viblo.asia/p/cap-nhat-avatar-chuan-enterprise-nghe-thuat-quan-ly-file-va-don-rac-o-cung-bNVQGojAJvR</guid>
            <description><![CDATA[Khi làm tính năng Cập nhật Avatar (Tải ảnh lên server), các bạn Junior thường làm theo bản năng: Nhận file -> quăng thẳng vào thư mục public/uploads -...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-05 11:28:43</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tạo QR Code API chuẩn Enterprise: Đừng bắt Server &quot;vẽ&quot; lại QR mỗi lần user F5!]]></title>
                        <link>https://viblo.asia/p/tao-qr-code-api-chuan-enterprise-dung-bat-server-ve-lai-qr-moi-lan-user-f5-ymJXDQoxJkq</link>
            <guid isPermaLink="true">https://viblo.asia/p/tao-qr-code-api-chuan-enterprise-dung-bat-server-ve-lai-qr-moi-lan-user-f5-ymJXDQoxJkq</guid>
            <description><![CDATA[Trong môi trường Enterprise (nhất là khi code API cho Mobile App hoặc SPA React/Vue), chúng ta phải đối mặt với 3 bài toán:

1.  Format: API không thể...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-04 11:18:18</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Xác thực SĐT (OTP): Đừng để Hacker &quot;đốt&quot; sạch tiền SMS của công ty bạn!]]></title>
                        <link>https://viblo.asia/p/xac-thuc-sdt-otp-dung-de-hacker-dot-sach-tien-sms-cua-cong-ty-ban-wlVmRwoZ45Z</link>
            <guid isPermaLink="true">https://viblo.asia/p/xac-thuc-sdt-otp-dung-de-hacker-dot-sach-tien-sms-cua-cong-ty-ban-wlVmRwoZ45Z</guid>
            <description><![CDATA[Nếu như Xác thực Email bằng Signed URL là bài toán về sự thanh lịch và tối ưu Database, thì Xác thực Số điện thoại (OTP qua SMS) lại là bài toán của T...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-04 10:24:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[API Đăng nhập không chỉ là check Password: Chống Brute-force và quản lý Token chuẩn Enterprise]]></title>
                        <link>https://viblo.asia/p/api-dang-nhap-khong-chi-la-check-password-chong-brute-force-va-quan-ly-token-chuan-enterprise-ZoJjeGyE4Y7</link>
            <guid isPermaLink="true">https://viblo.asia/p/api-dang-nhap-khong-chi-la-check-password-chong-brute-force-va-quan-ly-token-chuan-enterprise-ZoJjeGyE4Y7</guid>
            <description><![CDATA[Lời mở đầu: Cánh cửa mong manh của hệ thống

Đăng nhập là cánh cửa chính (Front door) bảo vệ toàn bộ dữ liệu hệ thống của bạn.
Nếu bạn chỉ viết logic ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-04 06:43:35</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Đăng ký tài khoản: Đừng để cái Email Welcome đánh sập Server của bạn!]]></title>
                        <link>https://viblo.asia/p/dang-ky-tai-khoan-dung-de-cai-email-welcome-danh-sap-server-cua-ban-2vJPdW9MJeK</link>
            <guid isPermaLink="true">https://viblo.asia/p/dang-ky-tai-khoan-dung-de-cai-email-welcome-danh-sap-server-cua-ban-2vJPdW9MJeK</guid>
            <description><![CDATA[Lời mở đầu: Tội ác của hàm Mail::send()

Hãy nhìn vào một đoạn code Đăng ký kinh điển mà 90% anh em mới làm quen Laravel thường viết:

Nhìn thì rất gọ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-05 09:16:07</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Java Virtual Threads: Khi Concurrency trở nên dễ thở hơn]]></title>
                        <link>https://viblo.asia/p/java-virtual-threads-khi-concurrency-tro-nen-de-tho-hon-OXLA0jwvJGr</link>
            <guid isPermaLink="true">https://viblo.asia/p/java-virtual-threads-khi-concurrency-tro-nen-de-tho-hon-OXLA0jwvJGr</guid>
            <description><![CDATA[Concurrency trong Java từ lâu đã là một sự đánh đổi khá “đau đớn”: hoặc bạn chọn Platform Threads — dễ viết nhưng tốn nhiều RAM và khó scale, hoặc chọ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Quang Chiến Trần</dc:creator>
            <pubDate>2026-05-01 22:54:28</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[System Design Version 1 - Bài 10] Message Brokers (RabbitMQ, Kafka): Tại sao các hệ thống lớn không thể sống thiếu hàng đợi?]]></title>
                        <link>https://viblo.asia/p/system-design-version-1-bai-10-message-brokers-rabbitmq-kafka-tai-sao-cac-he-thong-lon-khong-the-song-thieu-hang-doi-wd43EZnMLX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/system-design-version-1-bai-10-message-brokers-rabbitmq-kafka-tai-sao-cac-he-thong-lon-khong-the-song-thieu-hang-doi-wd43EZnMLX9</guid>
            <description><![CDATA[Chào anh em. Khi mới bắt đầu chuyển từ nguyên khối (Monolith) sang Vi dịch vụ (Microservices), tôi đã từng phạm phải một sai lầm chết người: Thiết kế ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-02 07:04:14</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[System Design Version 1 - Bài 9] Scale Database: Replication (Master-Slave), Sharding (Phân mảnh) và những cạm bẫy khi chia nhỏ dữ liệu]]></title>
                        <link>https://viblo.asia/p/system-design-version-1-bai-9-scale-database-replication-master-slave-sharding-phan-manh-va-nhung-cam-bay-khi-chia-nho-du-lieu-QyJKz7N74Me</link>
            <guid isPermaLink="true">https://viblo.asia/p/system-design-version-1-bai-9-scale-database-replication-master-slave-sharding-phan-manh-va-nhung-cam-bay-khi-chia-nho-du-lieu-QyJKz7N74Me</guid>
            <description><![CDATA[Chào anh em. Trong vòng đời phát triển của một hệ thống, có một sự thật đau lòng mà mọi kỹ sư backend đều phải đối mặt: Database luôn là nút thắt cổ c...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-01 20:13:03</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Architecture] API Gateway &amp; TLS: Đừng rớt đài vì bảo mật &quot;nửa mùa&quot; trong mạng nội bộ]]></title>
                        <link>https://viblo.asia/p/architecture-api-gateway-tls-dung-rot-dai-vi-bao-mat-nua-mua-trong-mang-noi-bo-7Z4DEGd1JnX</link>
            <guid isPermaLink="true">https://viblo.asia/p/architecture-api-gateway-tls-dung-rot-dai-vi-bao-mat-nua-mua-trong-mang-noi-bo-7Z4DEGd1JnX</guid>
            <description><![CDATA[Lời mở đầu: Ảo tưởng về chiếc "Ổ khóa xanh"
Anh em làm Backend chắc không lạ gì quy trình chuẩn: Mua domain, cài chứng chỉ SSL/TLS (Let's Encrypt cho ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-29 19:02:51</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[720 tests: tôi đã tối ưu hoá từ 9 giờ xuống còn 1 giờ]]></title>
                        <link>https://viblo.asia/p/720-tests-toi-da-toi-uu-hoa-tu-9-gio-xuong-con-1-gio-lZL9Xq17JQK</link>
            <guid isPermaLink="true">https://viblo.asia/p/720-tests-toi-da-toi-uu-hoa-tu-9-gio-xuong-con-1-gio-lZL9Xq17JQK</guid>
            <description><![CDATA[Chào anh em! Có bao giờ anh em rơi vào cảnh: Viết xong bộ Automation "xịn xò", hí hửng bấm Run rồi... đi ngủ một giấc, sáng dậy nó vẫn chưa chạy xong ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">paudang</dc:creator>
            <pubDate>2026-04-30 08:00:00</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[System Design Version 1 - Bài 5] Hexagonal Architecture &amp; Domain-Driven Design (DDD): Cách bảo vệ &quot;core logic&quot; khỏi sự thay đổi của Framework và Database]]></title>
                        <link>https://viblo.asia/p/system-design-version-1-bai-5-hexagonal-architecture-domain-driven-design-ddd-cach-bao-ve-core-logic-khoi-su-thay-doi-cua-framework-va-database-pPLkN3enJRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/system-design-version-1-bai-5-hexagonal-architecture-domain-driven-design-ddd-cach-bao-ve-core-logic-khoi-su-thay-doi-cua-framework-va-database-pPLkN3enJRZ</guid>
            <description><![CDATA[Chào anh em, hãy thành thật với nhau nhé. Anh em đang code theo mô hình MVC đúng không?

Một ngày đẹp trời, anh em nhận một task: "Viết API kiểm tra x...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-30 01:34:56</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[System Design Version 1 - Bài 4] Monolith vs. Microservices: Cuộc chiến không hồi kết. Khi nào thì nên chia nhỏ, khi nào thì nên giữ nguyên?]]></title>
                        <link>https://viblo.asia/p/system-design-version-1-bai-4-monolith-vs-microservices-cuoc-chien-khong-hoi-ket-khi-nao-thi-nen-chia-nho-khi-nao-thi-nen-giu-nguyen-wd43EZ13LX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/system-design-version-1-bai-4-monolith-vs-microservices-cuoc-chien-khong-hoi-ket-khi-nao-thi-nen-chia-nho-khi-nao-thi-nen-giu-nguyen-wd43EZ13LX9</guid>
            <description><![CDATA[Chào anh em, nếu dạo quanh các diễn đàn công nghệ hay các nhóm chat của developer, anh em sẽ rất dễ bắt gặp một hội chứng tạm gọi là "Cuồng Microservi...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-29 21:21:53</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[System Design Version 1 - Bài 3] Trade-off (Sự đánh đổi): Nghệ thuật tối thượng trong System Design. Không có kiến trúc hoàn hảo, chỉ có kiến trúc phù hợp với bối cảnh]]></title>
                        <link>https://viblo.asia/p/system-design-version-1-bai-3-trade-off-su-danh-doi-nghe-thuat-toi-thuong-trong-system-design-khong-co-kien-truc-hoan-hao-chi-co-kien-truc-phu-hop-voi-boi-canh-y0VGwO1pVPA</link>
            <guid isPermaLink="true">https://viblo.asia/p/system-design-version-1-bai-3-trade-off-su-danh-doi-nghe-thuat-toi-thuong-trong-system-design-khong-co-kien-truc-hoan-hao-chi-co-kien-truc-phu-hop-voi-boi-canh-y0VGwO1pVPA</guid>
            <description><![CDATA[Chào anh em, nếu anh em có thói quen đọc các bài viết về kiến trúc phần mềm, chắc hẳn đã từng thấy những câu hỏi kiểu như: "Nên dùng MySQL hay MongoDB...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-29 19:31:55</pubDate>
                                                                                                        </item>
            </channel>
</rss>
