<?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>Cai-dat-laravel 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/cai-dat-laravel.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>Cai-dat-laravel Tag - Viblo</title>
            <link>https://viblo.asia/rss</link>
        </image>
                                <language>vi-vn</language>
        <lastBuildDate>2026-05-18T01:06:03+07:00</lastBuildDate>
                <item>
            <title><![CDATA[Đừng để Worker &quot;đốt&quot; CPU: Giải phẫu cơ chế Dequeue và ma thuật BRPOP/BLPOP trong Redis]]></title>
                        <link>https://viblo.asia/p/dung-de-worker-dot-cpu-giai-phau-co-che-dequeue-va-ma-thuat-brpopblpop-trong-redis-oW4oeDbxLml</link>
            <guid isPermaLink="true">https://viblo.asia/p/dung-de-worker-dot-cpu-giai-phau-co-che-dequeue-va-ma-thuat-brpopblpop-trong-redis-oW4oeDbxLml</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo

Chúng ta thường tung hô Message Queue (như Redis, RabbitMQ) là thần dược cứu rỗi mọi hệ thống cao. Ai cũng biết cách đẩy ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-16 18:22:06</pubDate>
                                                                                                        </item>
                <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[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[Đừng bao giờ Hard Delete: Làm chủ Trait SoftDeletes trong Laravel và những &quot;bãi mìn&quot; thực chiến]]></title>
                        <link>https://viblo.asia/p/dung-bao-gio-hard-delete-lam-chu-trait-softdeletes-trong-laravel-va-nhung-bai-min-thuc-chien-K9Vy890bLQR</link>
            <guid isPermaLink="true">https://viblo.asia/p/dung-bao-gio-hard-delete-lam-chu-trait-softdeletes-trong-laravel-va-nhung-bai-min-thuc-chien-K9Vy890bLQR</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Là một Backend Developer làm việc với các hệ thống dữ liệu lớn, chắc hẳn anh em đã từng nghe câu "thần chú" kinh điển củ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-16 09:17:53</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Đừng bao giờ Hardcode tên Kafka Topic: Bí mật &quot;sống còn&quot; đằng sau file .env.example]]></title>
                        <link>https://viblo.asia/p/dung-bao-gio-hardcode-ten-kafka-topic-bi-mat-song-con-dang-sau-file-envexample-wd43EZorLX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/dung-bao-gio-hardcode-ten-kafka-topic-bi-mat-song-con-dang-sau-file-envexample-wd43EZorLX9</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Trong các bài viết trước về Kafka, để code ngắn gọn và dễ hiểu, mình thường viết thẳng tên Topic vào hàm như thế này: Ka...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-15 07:19:54</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Đừng để Redis &quot;bốc khói&quot;: Tuyệt chiêu chống Spike Enqueue với Bulk Dispatch và Master-Worker Pattern]]></title>
                        <link>https://viblo.asia/p/dung-de-redis-boc-khoi-tuyet-chieu-chong-spike-enqueue-voi-bulk-dispatch-va-master-worker-pattern-gjLN0MOd432</link>
            <guid isPermaLink="true">https://viblo.asia/p/dung-de-redis-boc-khoi-tuyet-chieu-chong-spike-enqueue-voi-bulk-dispatch-va-master-worker-pattern-gjLN0MOd432</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Hãy tưởng tượng một kịch bản thế này: Hệ thống của bạn chuẩn bị chạy chương trình Sale lúc 00:00 đêm. Sếp yêu cầu đúng 0...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-14 17:34:19</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[Ám ảnh &quot;502 Bad Gateway&quot;: Giải phẫu PHP-FPM và nghệ thuật tối ưu Server chịu tải cao]]></title>
                        <link>https://viblo.asia/p/am-anh-502-bad-gateway-giai-phau-php-fpm-va-nghe-thuat-toi-uu-server-chiu-tai-cao-wlVmRwNE45Z</link>
            <guid isPermaLink="true">https://viblo.asia/p/am-anh-502-bad-gateway-giai-phau-php-fpm-va-nghe-thuat-toi-uu-server-chiu-tai-cao-wlVmRwNE45Z</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Khi mới học code Laravel, chúng ta thường gõ php artisan serve, thấy web chạy ầm ầm và tự nhủ: "Dễ ợt!".

Nhưng khi đưa ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-13 11:41:37</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Giải mã Core Laravel: Tại sao lại tồn tại hàm instance() chỉ để... return chính nó?]]></title>
                        <link>https://viblo.asia/p/giai-ma-core-laravel-tai-sao-lai-ton-tai-ham-instance-chi-de-return-chinh-no-oKLnqegZJQO</link>
            <guid isPermaLink="true">https://viblo.asia/p/giai-ma-core-laravel-tai-sao-lai-ton-tai-ham-instance-chi-de-return-chinh-no-oKLnqegZJQO</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Nếu anh em có thói quen rảnh rỗi sinh nông nổi, hay Ctrl + Click (hoặc Cmd + Click) vào các class của Laravel để đọc sou...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-14 10:41:42</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Giải mã &quot;Vụ nổ Big Bang&quot; của Laravel: Mổ xẻ hàm Request::capture()]]></title>
                        <link>https://viblo.asia/p/giai-ma-vu-no-big-bang-cua-laravel-mo-xe-ham-requestcapture-gdJzvM1vJz5</link>
            <guid isPermaLink="true">https://viblo.asia/p/giai-ma-vu-no-big-bang-cua-laravel-mo-xe-ham-requestcapture-gdJzvM1vJz5</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Đa số anh em làm Laravel hàng ngày đều rất quen thuộc với việc tiêm (inject) class Request vào Controller để lấy dữ liệu...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-13 07:40:16</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[Bỏ ngay thói quen &quot;If-Else&quot; lồng nhau: Tuyệt chiêu Guard Clause cứu rỗi những dòng code &quot;mì tôm&quot;]]></title>
                        <link>https://viblo.asia/p/bo-ngay-thoi-quen-if-else-long-nhau-tuyet-chieu-guard-clause-cuu-roi-nhung-dong-code-mi-tom-AWVpXgPaV05</link>
            <guid isPermaLink="true">https://viblo.asia/p/bo-ngay-thoi-quen-if-else-long-nhau-tuyet-chieu-guard-clause-cuu-roi-nhung-dong-code-mi-tom-AWVpXgPaV05</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Nhớ lại thời chúng ta còn mài đũng quần trên ghế nhà trường, môn Lập trình hướng đối tượng (OOP) với C++ hay Java luôn l...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-12 21:25:28</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Thực chiến Kafka trong Laravel: Viết Artisan Command làm Producer &quot;bắn&quot; Message siêu tốc]]></title>
                        <link>https://viblo.asia/p/thuc-chien-kafka-trong-laravel-viet-artisan-command-lam-producer-ban-message-sieu-toc-1QLxnpex4Aw</link>
            <guid isPermaLink="true">https://viblo.asia/p/thuc-chien-kafka-trong-laravel-viet-artisan-command-lam-producer-ban-message-sieu-toc-1QLxnpex4Aw</guid>
            <description><![CDATA[Chào anh em!

Tiếp nối bài viết giải quyết vấn đề "Out-of-order" trên Kafka, hôm nay chúng ta sẽ bắt tay vào code thực tế. Để test luồng Kafka, cách n...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-12 17:49:55</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Abstract Class là gì? Đừng nhầm lẫn nó với Interface nữa!]]></title>
                        <link>https://viblo.asia/p/abstract-class-la-gi-dung-nham-lan-no-voi-interface-nua-AoJe8zyD41j</link>
            <guid isPermaLink="true">https://viblo.asia/p/abstract-class-la-gi-dung-nham-lan-no-voi-interface-nua-AoJe8zyD41j</guid>
            <description><![CDATA[Chào anh em cộng đồng Viblo!

Nhớ lại thời chúng ta còn mài đũng quần trên ghế nhà trường, môn Lập trình hướng đối tượng (OOP) với C++ hay Java luôn l...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-12 15:47:32</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Đừng để code ngập ngụa trong IF-ELSE: Giải cứu Backend với Strategy Pattern]]></title>
                        <link>https://viblo.asia/p/dung-de-code-ngap-ngua-trong-if-else-giai-cuu-backend-voi-strategy-pattern-18J2ej2q4YK</link>
            <guid isPermaLink="true">https://viblo.asia/p/dung-de-code-ngap-ngua-trong-if-else-giai-cuu-backend-voi-strategy-pattern-18J2ej2q4YK</guid>
            <description><![CDATA[Chào anh em đồng âm Viblo!

Hôm nay chúng ta sẽ bàn về một chủ đề muôn thuở trong thiết kế phần mềm. Bạn đã bao giờ nhìn vào một function dài 500 dòng...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-10 08:50:52</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[Nghiệp vụ Checkout COD: Không chỉ là một nút bấm - Tư duy xử lý &quot;vạn đơn&quot; cho Backend]]></title>
                        <link>https://viblo.asia/p/nghiep-vu-checkout-cod-khong-chi-la-mot-nut-bam-tu-duy-xu-ly-van-don-cho-backend-pPLkN3WDJRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/nghiep-vu-checkout-cod-khong-chi-la-mot-nut-bam-tu-duy-xu-ly-van-don-cho-backend-pPLkN3WDJRZ</guid>
            <description><![CDATA[1. Mở đầu: "Cạm bẫy" của sự đơn giản

Trong thanh toán online, chúng ta dựa vào kết quả trả về từ Gateway (Paypal, VNPay...). Với COD, "hợp đồng" than...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-09 09:34:54</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[Tự xây hệ thống RBAC siêu nhẹ bằng JSON Permission và Laravel Gates (Không dùng Package)]]></title>
                        <link>https://viblo.asia/p/tu-xay-he-thong-rbac-sieu-nhe-bang-json-permission-va-laravel-gates-khong-dung-package-AWVpXg35V05</link>
            <guid isPermaLink="true">https://viblo.asia/p/tu-xay-he-thong-rbac-sieu-nhe-bang-json-permission-va-laravel-gates-khong-dung-package-AWVpXg35V05</guid>
            <description><![CDATA[hôm nay, để đáp ứng yêu cầu "hoàn toàn mới", mình sẽ hướng dẫn bạn một trường phái thiết kế RBAC (Role-Based Access Control) khác biệt hoàn toàn: Nati...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-08 07:02:54</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[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[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[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[Xác thực Email: Đừng lưu Token vào Database nữa, hãy dùng Signed URL!]]></title>
                        <link>https://viblo.asia/p/xac-thuc-email-dung-luu-token-vao-database-nua-hay-dung-signed-url-kY4gDY7OJAe</link>
            <guid isPermaLink="true">https://viblo.asia/p/xac-thuc-email-dung-luu-token-vao-database-nua-hay-dung-signed-url-kY4gDY7OJAe</guid>
            <description><![CDATA[Nhiều anh em code xong luồng Register (Đăng ký) rồi thì làm phần Xác thực Email (Verify Email) một cách rất ngây ngô: Sinh ra một chuỗi random token -...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-05 13:04:51</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[Đừng để chức năng &quot;Đa ngôn ngữ&quot; bóp nghẹt Database của bạn!]]></title>
                        <link>https://viblo.asia/p/dung-de-chuc-nang-da-ngon-ngu-bop-nghet-database-cua-ban-ZjJYWZwOVOE</link>
            <guid isPermaLink="true">https://viblo.asia/p/dung-de-chuc-nang-da-ngon-ngu-bop-nghet-database-cua-ban-ZjJYWZwOVOE</guid>
            <description><![CDATA[Lời mở đầu: Bẫy hiệu năng (Performance Trap)

Khi làm hệ thống Multi-language (Đa ngôn ngữ), chúng ta thường truyền một header X-Language: vi hoặc Acc...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-04 00:48:18</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Xây dựng module thanh toán COD chuẩn Enterprise: Từ Init Project đến test Postman]]></title>
                        <link>https://viblo.asia/p/xay-dung-module-thanh-toan-cod-chuan-enterprise-tu-init-project-den-test-postman-G24B8GNWLz3</link>
            <guid isPermaLink="true">https://viblo.asia/p/xay-dung-module-thanh-toan-cod-chuan-enterprise-tu-init-project-den-test-postman-G24B8GNWLz3</guid>
            <description><![CDATA[Lời mở đầu

Nhiều anh em khi nhận task làm tính năng thanh toán COD thường viết tuột mọi thứ vào Controller: Nhận request -> Lưu DB -> Trả response. N...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-03 21:58:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Namespace là gì? Đừng code như một cái máy nếu chưa hiểu rõ bản chất!]]></title>
                        <link>https://viblo.asia/p/namespace-la-gi-dung-code-nhu-mot-cai-may-neu-chua-hieu-ro-ban-chat-3RL1BYMnVao</link>
            <guid isPermaLink="true">https://viblo.asia/p/namespace-la-gi-dung-code-nhu-mot-cai-may-neu-chua-hieu-ro-ban-chat-3RL1BYMnVao</guid>
            <description><![CDATA[Lời mở đầu: Nỗi đau mang tên "Cannot redeclare class"

Nếu bạn đã từng cày cuốc với những dự án PHP thuần (Legacy) từ cái thời sơ khai, chắc hẳn bạn k...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-26 14:08:01</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Deep Dive] Chọn Laravel Starter Kit nào? Đừng để sự &quot;tiện tay&quot; bóp chết hệ thống của bạn]]></title>
                        <link>https://viblo.asia/p/deep-dive-chon-laravel-starter-kit-nao-dung-de-su-tien-tay-bop-chet-he-thong-cua-ban-XRJ8R0kMVGq</link>
            <guid isPermaLink="true">https://viblo.asia/p/deep-dive-chon-laravel-starter-kit-nao-dung-de-su-tien-tay-bop-chet-he-thong-cua-ban-XRJ8R0kMVGq</guid>
            <description><![CDATA[1. Lời mở đầu: Đừng chọn đại!

Anh em làm Laravel lâu năm chắc không lạ gì cảnh: Sếp bảo "Lên demo gấp cho anh cái dashboard trong 2 ngày". Tiện tay, ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-26 07:08:00</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Nhìn lại cách cài đặt Laravel từ 4.2 đến 13.x: Từ thời &quot;đồ đá&quot; đến kỷ nguyên &quot;bấm là chạy&quot;]]></title>
                        <link>https://viblo.asia/p/nhin-lai-cach-cai-dat-laravel-tu-42-den-13x-tu-thoi-do-da-den-ky-nguyen-bam-la-chay-G24B8G35Lz3</link>
            <guid isPermaLink="true">https://viblo.asia/p/nhin-lai-cach-cai-dat-laravel-tu-42-den-13x-tu-thoi-do-da-den-ky-nguyen-bam-la-chay-G24B8G35Lz3</guid>
            <description><![CDATA[Lời mở đầu: Bức ảnh chứa đầy "thanh xuân"
Hôm nay dọn dẹp lại đống project cũ, mở cái dropdown chọn version lên mà giật mình: Từ 4.2 đến 13.x. Cả một ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-25 22:49:56</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Laravel] Đừng lạm dụng load() nữa nếu bạn chưa hiểu loadMissing - Cứu cánh cho những hệ thống lớn]]></title>
                        <link>https://viblo.asia/p/laravel-dung-lam-dung-load-nua-neu-ban-chua-hieu-loadmissing-cuu-canh-cho-nhung-he-thong-lon-OXLA0jGBJGr</link>
            <guid isPermaLink="true">https://viblo.asia/p/laravel-dung-lam-dung-load-nua-neu-ban-chua-hieu-loadmissing-cuu-canh-cho-nhung-he-thong-lon-OXLA0jGBJGr</guid>
            <description><![CDATA[Lời mở đầu: Câu chuyện "Tối Ưu Hóa" đi vào ngõ cụt

Nhớ lại cái thời mới chập chững viết API bằng Laravel, lỗi ám ảnh lớn nhất của anh em mình chắc ch...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-25 18:29:53</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Laravel Masterclass] Làm chủ QR Code: Nghệ thuật &quot;Đúc&quot; mã vạch và Thảm họa I/O ổ cứng]]></title>
                        <link>https://viblo.asia/p/laravel-masterclass-lam-chu-qr-code-nghe-thuat-duc-ma-vach-va-tham-hoa-io-o-cung-oKLnqeOQJQO</link>
            <guid isPermaLink="true">https://viblo.asia/p/laravel-masterclass-lam-chu-qr-code-nghe-thuat-duc-ma-vach-va-tham-hoa-io-o-cung-oKLnqeOQJQO</guid>
            <description><![CDATA[Chào anh em! Sau chuỗi bài băm nát hệ thống từ Database, RAM cho đến Mật mã học, hôm nay chúng ta sẽ ngoi lên tầng Application một chút để giải quyết ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-24 17:37:30</pubDate>
                                                                                                        </item>
            </channel>
</rss>
