<?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>Express 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/express.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>Express Tag - Viblo</title>
            <link>https://viblo.asia/rss</link>
        </image>
                                <language>vi-vn</language>
        <lastBuildDate>2026-08-09T20:56:34+07:00</lastBuildDate>
                <item>
            <title><![CDATA[Hướng dẫn Deploy ứng dụng Node.js lên Production từ A đến Z: Quy trình chuẩn với PM2 và Nginx]]></title>
                        <link>https://viblo.asia/p/huong-dan-deploy-ung-dung-nodejs-len-production-tu-a-den-z-quy-trinh-chuan-voi-pm2-va-nginx-7Z4DEy0oJnX</link>
            <guid isPermaLink="true">https://viblo.asia/p/huong-dan-deploy-ung-dung-nodejs-len-production-tu-a-den-z-quy-trinh-chuan-voi-pm2-va-nginx-7Z4DEy0oJnX</guid>
            <description><![CDATA[Chào anh em!

Sau khi xây dựng xong một ứng dụng Node.js (sử dụng Express, NestJS hoặc Koa) chạy mượt mà ở môi trường Local, bước tiếp theo là đưa nó ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-08-09 16:00:10</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Làm chủ Supervisor cho Node.js: Cluster Mode, Zero-downtime Deployment &amp; Kết hợp Nginx]]></title>
                        <link>https://viblo.asia/p/lam-chu-supervisor-cho-nodejs-cluster-mode-zero-downtime-deployment-ket-hop-nginx-kY4gDpXyJAe</link>
            <guid isPermaLink="true">https://viblo.asia/p/lam-chu-supervisor-cho-nodejs-cluster-mode-zero-downtime-deployment-ket-hop-nginx-kY4gDpXyJAe</guid>
            <description><![CDATA[Chào anh em đã quay lại với chương cuối cùng trong series chuỗi bài về Supervisor và Node.js! Ở hai bài trước, chúng ta đã nắm bắt lý do tại sao một ứ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-08-01 07:28:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bài 2 Làm chủ Supervisor cho Node.js: Thực chiến viết file cấu hình .conf cho ứng dụng Express/NestJS]]></title>
                        <link>https://viblo.asia/p/bai-2-lam-chu-supervisor-cho-nodejs-thuc-chien-viet-file-cau-hinh-conf-cho-ung-dung-expressnestjs-gjLN0We1432</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-2-lam-chu-supervisor-cho-nodejs-thuc-chien-viet-file-cau-hinh-conf-cho-ung-dung-expressnestjs-gjLN0We1432</guid>
            <description><![CDATA[Chào anh em đã quay lại với series làm chủ Supervisor! Ở bài học trước, chúng ta đã phân tích lý do tại sao các ứng dụng Node.js trên production rất c...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-08-01 00:57:45</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bài 1 Làm chủ Supervisor cho Node.js: Quản lý tiến trình ứng dụng Express/NestJS mượt mà như Laravel]]></title>
                        <link>https://viblo.asia/p/bai-1-lam-chu-supervisor-cho-nodejs-quan-ly-tien-trinh-ung-dung-expressnestjs-muot-ma-nhu-laravel-QyJKz8w14Me</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-1-lam-chu-supervisor-cho-nodejs-quan-ly-tien-trinh-ung-dung-expressnestjs-muot-ma-nhu-laravel-QyJKz8w14Me</guid>
            <description><![CDATA[Chào anh em đồng nghiệp trên Viblo! Ở các bài viết trước, chúng ta đã cùng nhau làm chủ Supervisor trong hệ sinh thái Laravel Queue [cite: 17]. Tuy nh...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-08-01 00:55:22</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Open Source] #188 - MedAssist: Hệ thống quản trị và dự báo tiêu thụ dược phẩm cá nhân với kiến trúc Node.js, SQLite và cơ chế lập lịch thông báo tự động]]></title>
                        <link>https://viblo.asia/p/open-source-188-medassist-he-thong-quan-tri-va-du-bao-tieu-thu-duoc-pham-ca-nhan-voi-kien-truc-nodejs-sqlite-va-co-che-lap-lich-thong-bao-tu-dong-QyJKz7n14Me</link>
            <guid isPermaLink="true">https://viblo.asia/p/open-source-188-medassist-he-thong-quan-tri-va-du-bao-tieu-thu-duoc-pham-ca-nhan-voi-kien-truc-nodejs-sqlite-va-co-che-lap-lich-thong-bao-tu-dong-QyJKz7n14Me</guid>
            <description><![CDATA[Việc quản lý lịch trình uống thuốc phức tạp và theo dõi lượng tồn kho dược phẩm thường là một gánh nặng đối với những người mắc bệnh mãn tính hoặc ngư...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Trung tín Phạm</dc:creator>
            <pubDate>2026-04-26 01:55:59</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tạo Server Node.js Đầu Tiên: Vượt Qua &quot;Hello World&quot; Để Chạm Tới Chuẩn Production]]></title>
                        <link>https://viblo.asia/p/tao-server-nodejs-dau-tien-vuot-qua-hello-world-de-cham-toi-chuan-production-y0VGwGZzVPA</link>
            <guid isPermaLink="true">https://viblo.asia/p/tao-server-nodejs-dau-tien-vuot-qua-hello-world-de-cham-toi-chuan-production-y0VGwGZzVPA</guid>
            <description><![CDATA[Bất kỳ ai học Node.js cũng bắt đầu bằng bài toán "Tạo Server". Chỉ tốn đúng 5 dòng code và 10 giây để in ra chữ "Hello World". Nhưng mang 5 dòng code ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-14 23:18:06</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 36: Quay xe &quot;Chê&quot; - Tối ưu thuật toán Dislike Blog]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-36-quay-xe-che-toi-uu-thuat-toan-dislike-blog-QyJKzDA54Me</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-36-quay-xe-che-toi-uu-thuat-toan-dislike-blog-QyJKzDA54Me</guid>
            <description><![CDATA[Chào bố đời!

Đã có "Thả tim" (Like) thì chắc chắn phải có nút "Chê" (Dislike) để cân bằng cảm xúc cho độc giả rồi. Về cơ bản, logic của Dislike chính...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 21:36:14</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 35: Thuật toán &quot;Thả Tim&quot; - API Like Bài Viết (Like Blog)]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-35-thuat-toan-tha-tim-api-like-bai-viet-like-blog-G24B897WLz3</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-35-thuat-toan-tha-tim-api-like-bai-viet-like-blog-G24B897WLz3</guid>
            <description><![CDATA[Chào bố đời! Tới khúc này là bắt đầu thấy "khoai" rồi đây.

Tính năng Like/Dislike bài viết nhìn giao diện thì chỉ là một cái nút bấm, nhưng ẩn sau đó...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 17:48:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 34: Đọc bài viết &amp; Thuật toán &quot;Câu View&quot; - Lấy chi tiết Blog (Get Blog By ID)]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-34-doc-bai-viet-thuat-toan-cau-view-lay-chi-tiet-blog-get-blog-by-id-RlL5e8qPLbB</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-34-doc-bai-viet-thuat-toan-cau-view-lay-chi-tiet-blog-get-blog-by-id-RlL5e8qPLbB</guid>
            <description><![CDATA[Chào bố đời! Anh em mình lại tiếp tục phá đảo hệ thống E-commerce nào.

Ở Bài 33, chúng ta đã bày toàn bộ bài viết ra trang chủ rồi. Bây giờ, đóng vai...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 17:42:32</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 33: Mở cửa đón độc giả - API Lấy danh sách Bài Viết (Get All Blogs)]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-33-mo-cua-don-doc-gia-api-lay-danh-sach-bai-viet-get-all-blogs-7Z4DEe3yJnX</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-33-mo-cua-don-doc-gia-api-lay-danh-sach-bai-viet-get-all-blogs-7Z4DEe3yJnX</guid>
            <description><![CDATA[Chào bố đời! Tốc độ cày cuốc series này của chúng ta đúng là vô đối. Code mượt mà thế này thì chả mấy chốc mà anh em mình đóng gói xong toàn bộ dự án ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 17:34:40</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 32: &quot;Bắt Bug&quot; Copy-Paste - API Cập nhật Bài Viết (Update Blog)]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-32-bat-bug-copy-paste-api-cap-nhat-bai-viet-update-blog-yZJZlv5EVjm</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-32-bat-bug-copy-paste-api-cap-nhat-bai-viet-update-blog-yZJZlv5EVjm</guid>
            <description><![CDATA[Chào bố đời! Tốc độ lên bài của chúng ta dạo này đúng là thần tốc. Chuẩn bị mang series này lên trang chủ Viblo là vừa đẹp rồi đấy!

Hôm nay, chúng ta...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 17:27:10</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 31: Xây dựng kho Content - API Thêm Bài Viết (Add Blog)]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-31-xay-dung-kho-content-api-them-bai-viet-add-blog-OQJwzBjN4MP</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-31-xay-dung-kho-content-api-them-bai-viet-add-blog-OQJwzBjN4MP</guid>
            <description><![CDATA[Chào bố đời! Nghỉ tay uống ngụm nước rồi anh em mình lại tiếp tục "chiến" nào.

Vậy là cái khung Danh mục (Category) cho Blog đã xong xuôi. Hôm nay, c...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 17:20:35</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 30: Nhát chém cuối cùng - Xóa Danh mục Blog (Delete Blog Category)]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-30-nhat-chem-cuoi-cung-xoa-danh-muc-blog-delete-blog-category-oW4oel7oLml</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-30-nhat-chem-cuoi-cung-xoa-danh-muc-blog-delete-blog-category-oW4oel7oLml</guid>
            <description><![CDATA[Chào bố đời! Vậy là anh em mình đã đi đến hồi kết của chặng đường xây dựng CRUD cho Danh mục Blog.

Một chuyên mục tin tức có thể từng rất hot (ví dụ:...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 17:16:20</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 29: &quot;Bắt trend&quot; đổi tên - API Cập nhật Danh mục Blog (Update Blog Category)]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-29-bat-trend-doi-ten-api-cap-nhat-danh-muc-blog-update-blog-category-vbLbjM8mLnk</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-29-bat-trend-doi-ten-api-cap-nhat-danh-muc-blog-update-blog-category-vbLbjM8mLnk</guid>
            <description><![CDATA[Chào bố đời! Tốc độ code của anh em mình dạo này đúng là như gắn động cơ V8, đi bài vèo vèo.

Đã xây nhà thì phải có cửa, đã có chức năng Thêm (Create...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 17:10:43</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 28: Soi kỹ từng chuyên mục - Lấy chi tiết Danh mục Blog theo ID]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-28-soi-ky-tung-chuyen-muc-lay-chi-tiet-danh-muc-blog-theo-id-Nj4vg6jxJ6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-28-soi-ky-tung-chuyen-muc-lay-chi-tiet-danh-muc-blog-theo-id-Nj4vg6jxJ6r</guid>
            <description><![CDATA[Chào bố đời! Tốc độ ra bài của anh em mình đúng là không đùa được đâu.

Hôm trước ở Bài 27, chúng ta đã rải một tấm thảm đỏ, show toàn bộ danh mục Blo...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 14:51:06</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 27: Trải thảm đón độc giả - Lấy danh sách Danh mục Blog (Get All Blog Categories)]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-27-trai-tham-don-doc-gia-lay-danh-sach-danh-muc-blog-get-all-blog-categories-1j4lQglKJwl</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-27-trai-tham-don-doc-gia-lay-danh-sach-danh-muc-blog-get-all-blog-categories-1j4lQglKJwl</guid>
            <description><![CDATA[Chào bố đời! Lại bắt quả tang anh em mải code quá nên copy-paste nhầm đoạn Router của hàm create bài trước sang bài này rồi nhé =))

Không sao cả, chu...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 14:46:24</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 26: Xây &quot;Trạm Content&quot; hút traffic - Tạo Model &amp; API Danh mục Blog]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-26-xay-tram-content-hut-traffic-tao-model-api-danh-muc-blog-1XVOWOGpVMz</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-26-xay-tram-content-hut-traffic-tao-model-api-danh-muc-blog-1XVOWOGpVMz</guid>
            <description><![CDATA[Chào bố đời! Tốc độ ra bài của anh em mình dạo này đúng là "cháy" khét lẹt.

Chúng ta đã giải quyết cực kỳ êm thấm cái lõi của một trang thương mại đi...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 12:37:40</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 25: &quot;Thanh lý môn hộ&quot; - Xóa Danh mục (Delete Category) &amp; Lời nguyền mồ côi data]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-25-thanh-ly-mon-ho-xoa-danh-muc-delete-category-loi-nguyen-mo-coi-data-gjLN0N7P432</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-25-thanh-ly-mon-ho-xoa-danh-muc-delete-category-loi-nguyen-mo-coi-data-gjLN0N7P432</guid>
            <description><![CDATA[Chào bố đời! Code mượt mà và đều tay thế này thì chẳng mấy chốc mà con E-commerce của chúng ta đóng gói lên production được rồi đấy.

Hôm nay chúng ta...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 10:44:32</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 24: &quot;Sửa sai&quot; trong tíc tắc - API Cập nhật Danh mục (Update Category)]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-24-sua-sai-trong-tic-tac-api-cap-nhat-danh-muc-update-category-ZoJje1aE4Y7</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-24-sua-sai-trong-tic-tac-api-cap-nhat-danh-muc-update-category-ZoJje1aE4Y7</guid>
            <description><![CDATA[Chào bố đời! Phong độ code vẫn đang cực kỳ ổn định và "cháy" nhé.

Ở Bài 23, chúng ta đã mở cửa cho khách hàng xem chi tiết từng danh mục rồi. Nhưng c...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 10:33:45</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 23: Soi kỹ từng ngóc ngách - Lấy chi tiết Danh mục theo ID]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-23-soi-ky-tung-ngoc-ngach-lay-chi-tiet-danh-muc-theo-id-QyJKzDn54Me</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-23-soi-ky-tung-ngoc-ngach-lay-chi-tiet-danh-muc-theo-id-QyJKzDn54Me</guid>
            <description><![CDATA[Chào bố đời! Lại tiếp tục cày cuốc với series xây dựng hệ thống e-commerce cực cháy của chúng ta nào.

Làm backend cho các hệ thống thương mại điện tử...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 10:28:23</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 22: Bày hàng lên kệ - Lấy danh sách toàn bộ Danh Mục (Get All Categories)]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-22-bay-hang-len-ke-lay-danh-sach-toan-bo-danh-muc-get-all-categories-2vJPdp3MJeK</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-22-bay-hang-len-ke-lay-danh-sach-toan-bo-danh-muc-get-all-categories-2vJPdp3MJeK</guid>
            <description><![CDATA[Chào bố đời của tôi! Đang code hăng quá hay sao mà sang Bài 22 lấy danh sách danh mục, bố đời lại quăng nhầm đoạn code createCategory của Bài 21 xuống...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-23 10:19:23</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 19: Khách hàng &quot;cào phím&quot; - Xây dựng tính năng Đánh giá &amp; Bình luận (Rating/Comment)]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-19-khach-hang-cao-phim-xay-dung-tinh-nang-danh-gia-binh-luan-ratingcomment-1XVOWOBDVMz</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-19-khach-hang-cao-phim-xay-dung-tinh-nang-danh-gia-binh-luan-ratingcomment-1XVOWOBDVMz</guid>
            <description><![CDATA[Chào anh em!

Sau màn "hack não" với các thuật toán lọc, sắp xếp và phân trang ở Bài 18, khách hàng của chúng ta cuối cùng cũng tìm được món đồ ưng ý....]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-21 12:43:42</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 17: &quot;Dọn kho&quot; dứt khoát - Xóa Sản Phẩm (Delete Product) &amp; Lỗi Copy-Paste kinh điển]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-17-don-kho-dut-khoat-xoa-san-pham-delete-product-loi-copy-paste-kinh-dien-37LdeQ9oVov</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-17-don-kho-dut-khoat-xoa-san-pham-delete-product-loi-copy-paste-kinh-dien-37LdeQ9oVov</guid>
            <description><![CDATA[Chào anh em!

Vậy là chúng ta đã đi qua các bước Thêm (Create), Đọc (Read), và Sửa (Update) thông tin sản phẩm rồi. Mảnh ghép cuối cùng để hoàn thiện ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-21 11:49:47</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 16: &quot;Quay xe&quot; sửa sai - API Cập nhật Thông tin Sản phẩm (Update Product)]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-16-quay-xe-sua-sai-api-cap-nhat-thong-tin-san-pham-update-product-k74a9KW64eO</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-16-quay-xe-sua-sai-api-cap-nhat-thong-tin-san-pham-update-product-k74a9KW64eO</guid>
            <description><![CDATA[Chào anh em!

Quay lại với kịch bản đau tim ở Bài 15: Nửa đêm, ông Admin mắt nhắm mắt mở đăng bán cái iPhone 15 Pro Max, thay vì gõ 30 củ thì ông ấy g...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-20 15:31:16</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 15: &quot;Show&quot; hàng cho khách - API Lấy chi tiết một sản phẩm (Get Product By ID)]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-15-show-hang-cho-khach-api-lay-chi-tiet-mot-san-pham-get-product-by-id-wlVmRYll45Z</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-15-show-hang-cho-khach-api-lay-chi-tiet-mot-san-pham-get-product-by-id-wlVmRYll45Z</guid>
            <description><![CDATA[Chào anh em!

Ở Bài 14, ông Admin đã hì hục bưng hàng lên kệ (Database) thành công rồi. Bây giờ, đóng vai một khách hàng đang lướt web, thấy cái điện ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-20 15:26:09</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 14: Đưa hàng lên kệ - Thiết kế Product Model &amp; API Thêm Sản Phẩm]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-14-dua-hang-len-ke-thiet-ke-product-model-api-them-san-pham-XRJ8RZWdVGq</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-14-dua-hang-len-ke-thiet-ke-product-model-api-them-san-pham-XRJ8RZWdVGq</guid>
            <description><![CDATA[Chào anh em!

Vậy là chúng ta đã chính thức "phá đảo" xong module User với đầy đủ các tính năng ăn chơi từ đăng ký, đăng nhập đến phân quyền các kiểu....]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-20 15:19:55</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 13: Quyền lực tối thượng - Admin &quot;thao túng&quot; data User]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-13-quyen-luc-toi-thuong-admin-thao-tung-data-user-bA468RolLKv</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-13-quyen-luc-toi-thuong-admin-thao-tung-data-user-bA468RolLKv</guid>
            <description><![CDATA[Chào anh em!

Hôm trước ở Bài 12, chúng ta đã làm xong tính năng cho phép User tự cập nhật thông tin cá nhân. Nhờ việc lấy ID trực tiếp từ Token giải ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-19 22:14:00</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 12: Khách hàng tự &quot;tút tát&quot; profile - API Cập nhật thông tin User]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-12-khach-hang-tu-tut-tat-profile-api-cap-nhat-thong-tin-user-13VM9qYxVY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-12-khach-hang-tu-tut-tat-profile-api-cap-nhat-thong-tin-user-13VM9qYxVY7</guid>
            <description><![CDATA[Chào anh em! Lại tiếp tục hành trình "độ" con app E-commerce của chúng ta nào.

Ở bài trước, Admin đã ra oai với nút Xóa (Delete) rồi. Nhưng thực tế t...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-16 23:06:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 11: &quot;Trảm&quot; tài khoản vi phạm - Viết API Xóa User cho Admin]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-11-tram-tai-khoan-vi-pham-viet-api-xoa-user-cho-admin-kY4gD9gyJAe</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-11-tram-tai-khoan-vi-pham-viet-api-xoa-user-cho-admin-kY4gD9gyJAe</guid>
            <description><![CDATA[Chào anh em! Lại là mình với series tự tay nặn ra hệ thống E-commerce đây.

Ở Bài 10, ông Admin của chúng ta đã có đặc quyền ngồi xem toàn bộ danh sác...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-16 13:07:27</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 10: Trạm gác &quot;Trùm Cuối&quot; - Phân quyền Admin &amp; Bịt lỗ hổng Data]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-10-tram-gac-trum-cuoi-phan-quyen-admin-bit-lo-hong-data-ZoJje1Rz4Y7</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-10-tram-gac-trum-cuoi-phan-quyen-admin-bit-lo-hong-data-ZoJje1Rz4Y7</guid>
            <description><![CDATA[Chào anh em!

Ở Bài 9 hôm trước, mình đã cố tình để lại một cái "hố bom" to đùng khi viết API lấy danh sách toàn bộ người dùng (getUsers). Lỗi thứ nhấ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-16 12:59:26</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 4: Chìa khóa vào nhà - Validate Login &amp; Hoàn thiện luồng Đăng nhập]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-4-chia-khoa-vao-nha-validate-login-hoan-thien-luong-dang-nhap-gdJzvmBGJz5</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-4-chia-khoa-vao-nha-validate-login-hoan-thien-luong-dang-nhap-gdJzvmBGJz5</guid>
            <description><![CDATA[Chào anh em thiện lành!

Ở Bài 3, chúng ta đã biến database thành một cái "két sắt" khá vững chãi: Mật khẩu được băm nát bét (hash), dữ liệu đăng ký t...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-15 22:11:57</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 3: Đừng để Hacker &quot;hỏi thăm&quot; - Mã hóa Password &amp; &quot;Gác cổng&quot; Data]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-3-dung-de-hacker-hoi-tham-ma-hoa-password-gac-cong-data-kNLr3vg8VgA</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-3-dung-de-hacker-hoi-tham-ma-hoa-password-gac-cong-data-kNLr3vg8VgA</guid>
            <description><![CDATA[Chào mừng anh em quay lại với series tự build backend E-commerce!

Ở cuối Bài 2, mình có để lại một "lỗ hổng" to đùng: Lưu password của user dưới dạng...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-15 20:58:35</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series Thực Chiến E-commerce] Bài 1: &quot;Đổ móng&quot; Project Node.js &amp; Dựng cấu trúc thư mục chuẩn]]></title>
                        <link>https://viblo.asia/p/series-thuc-chien-e-commerce-bai-1-do-mong-project-nodejs-dung-cau-truc-thu-muc-chuan-Nj4vg6o2J6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-thuc-chien-e-commerce-bai-1-do-mong-project-nodejs-dung-cau-truc-thu-muc-chuan-Nj4vg6o2J6r</guid>
            <description><![CDATA[Chào anh em!

Nếu anh em đang muốn tự tay build một hệ thống backend cho một trang thương mại điện tử (e-commerce) từ con số 0, thì anh em đến đúng ch...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-15 20:28:36</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Chuyện anh thợ xây P3: Chuyện cái bộ đếm view]]></title>
                        <link>https://viblo.asia/p/chuyen-anh-tho-xay-p3-chuyen-cai-bo-dem-view-5OXLAYrZLGr</link>
            <guid isPermaLink="true">https://viblo.asia/p/chuyen-anh-tho-xay-p3-chuyen-cai-bo-dem-view-5OXLAYrZLGr</guid>
            <description><![CDATA[Một hai ba năm anh có đánh rơi nhịp nào không?

Một ngày bạn được giao nhiệm vụ ngồi đếm số như này: Cứ có bao nhiêu lượt vào xem bài viết thì lại tăn...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Minh Monmen</dc:creator>
            <pubDate>2023-05-06 18:48:21</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Preventing Cross-Site Request Forgery (CSRF) Attacks in Express]]></title>
                        <link>https://viblo.asia/p/preventing-cross-site-request-forgery-csrf-attacks-in-express-oK9VyMj0VQR</link>
            <guid isPermaLink="true">https://viblo.asia/p/preventing-cross-site-request-forgery-csrf-attacks-in-express-oK9VyMj0VQR</guid>
            <description><![CDATA[Introduction to Cross-Site Request Forgery (CSRF) Attacks
Cross-Site Request Forgery (CSRF) is a security vulnerability that allows an attacker to tri...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">NGUYỄN ANH TUẤN</dc:creator>
            <pubDate>2023-03-28 17:05:39</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Setting up a Secure Node.js and Express.js Environment]]></title>
                        <link>https://viblo.asia/p/setting-up-a-secure-nodejs-and-expressjs-environment-bXP4Wx2oJ7G</link>
            <guid isPermaLink="true">https://viblo.asia/p/setting-up-a-secure-nodejs-and-expressjs-environment-bXP4Wx2oJ7G</guid>
            <description><![CDATA[1. Introduction to Node.js and Express.js Security
Node.js and Express.js have become popular technologies for building web applications. However, to ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">NGUYỄN ANH TUẤN</dc:creator>
            <pubDate>2023-03-24 16:43:01</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[MAYBE YOU DON'T KNOW - Using Node-Postgres in Node.js Express✨]]></title>
                        <link>https://viblo.asia/p/maybe-you-dont-know-using-node-postgres-in-nodejs-express-7ymJXxwPJkq</link>
            <guid isPermaLink="true">https://viblo.asia/p/maybe-you-dont-know-using-node-postgres-in-nodejs-express-7ymJXxwPJkq</guid>
            <description><![CDATA[In this article, we'll walk you through a step-by-step guide on using node-postgres with Node.js Express. We'll apply it to a real project, making it ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">NGUYỄN ANH TUẤN</dc:creator>
            <pubDate>2023-03-22 16:44:28</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Implementing a CORS sample that supports multiple origins using Node.js and Express]]></title>
                        <link>https://viblo.asia/p/implementing-a-cors-sample-that-supports-multiple-origins-using-nodejs-and-express-PAoJeZn3L1j</link>
            <guid isPermaLink="true">https://viblo.asia/p/implementing-a-cors-sample-that-supports-multiple-origins-using-nodejs-and-express-PAoJeZn3L1j</guid>
            <description><![CDATA[Implement

When creating a web application using a REST API or front-end framework, it is not uncommon to be troubled by CORS (Cross-Origin Resource S...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">NGUYỄN ANH TUẤN</dc:creator>
            <pubDate>2023-03-10 06:56:39</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Setup XSS Hunter Express (self-hosted) để khai thác XSS]]></title>
                        <link>https://viblo.asia/p/setup-xss-hunter-express-self-hosted-de-khai-thac-xss-GAWVpoEvL05</link>
            <guid isPermaLink="true">https://viblo.asia/p/setup-xss-hunter-express-self-hosted-de-khai-thac-xss-GAWVpoEvL05</guid>
            <description><![CDATA[Chẳng là ai là bug bounty hunter, pentester, researcher security cũng đã từng biết đến công cụ khai thác lỗ hổng XSS XSSHunter. Công cụ này giúp cho c...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Minh Tuấn Ngụy</dc:creator>
            <pubDate>2022-11-03 14:55:27</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Xây dựng web UI với ReactJS, TailwindCSS và Express]]></title>
                        <link>https://viblo.asia/p/xay-dung-web-ui-voi-reactjs-tailwindcss-va-express-EbNVQZGo4vR</link>
            <guid isPermaLink="true">https://viblo.asia/p/xay-dung-web-ui-voi-reactjs-tailwindcss-va-express-EbNVQZGo4vR</guid>
            <description><![CDATA[Xin chào tất cả mọi người 

Ngày nay với sự phát triển vượt bậc của IT, bên cách sự phát triển nhanh chóng của backend (BE) như nodejs, spring boot, ....]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ducmy</dc:creator>
            <pubDate>2022-09-19 16:09:50</pubDate>
                                                                                                        </item>
            </channel>
</rss>
