<?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>Cau-hoi-ve-nodejs 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/cau-hoi-ve-nodejs.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>Cau-hoi-ve-nodejs Tag - Viblo</title>
            <link>https://viblo.asia/rss</link>
        </image>
                                <language>vi-vn</language>
        <lastBuildDate>2026-07-16T17:19:29+07:00</lastBuildDate>
                <item>
            <title><![CDATA[Series Chinh phục Vercel | Bài 2: Serverless Functions - &quot;Viết API không cần Server&quot;]]></title>
                        <link>https://viblo.asia/p/series-chinh-phuc-vercel-bai-2-serverless-functions-viet-api-khong-can-server-7Z4DE79DJnX</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-chinh-phuc-vercel-bai-2-serverless-functions-viet-api-khong-can-server-7Z4DE79DJnX</guid>
            <description><![CDATA[Trong kiến trúc Serverless, tư duy của bạn phải thay đổi: Đừng viết một ứng dụng to đùng (Monolithic). Hãy chia nhỏ mọi thứ ra thành các hàm (Function...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-11 18:23:59</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Series Chinh phục Heroku | Bài 4: Worker Dyno &amp; Redis - Giải phóng Web API với Background Jobs]]></title>
                        <link>https://viblo.asia/p/series-chinh-phuc-heroku-bai-4-worker-dyno-redis-giai-phong-web-api-voi-background-jobs-R5JRQg1Q4Gv</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-chinh-phuc-heroku-bai-4-worker-dyno-redis-giai-phong-web-api-voi-background-jobs-R5JRQg1Q4Gv</guid>
            <description><![CDATA[Sự khác biệt giữa Web Dyno và Worker Dyno

* Web Dyno: Được Heroku cấp cho một cổng (Port) để lắng nghe các request HTTP từ bên ngoài (Internet).
* Wo...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-03 09:20:56</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Series Chinh phục Heroku | Bài 3: Config Vars &amp; Database - Trái tim của ứng dụng Cloud]]></title>
                        <link>https://viblo.asia/p/series-chinh-phuc-heroku-bai-3-config-vars-database-trai-tim-cua-ung-dung-cloud-kY4gDldeJAe</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-chinh-phuc-heroku-bai-3-config-vars-database-trai-tim-cua-ung-dung-cloud-kY4gDldeJAe</guid>
            <description><![CDATA[Khi làm local, bạn lưu mọi thứ vào file .env (chứa user, password, port DB). Nhưng nguyên tắc sống còn của Git là tuyệt đối không đẩy file .env lên re...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-03 07:28:22</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[&quot;TypeScript Gymnastics&quot;: Đoạn code khiến tôi mất ngủ và sự giác ngộ về infer]]></title>
                        <link>https://viblo.asia/p/typescript-gymnastics-doan-code-khien-toi-mat-ngu-va-su-giac-ngo-ve-infer-gjLN06a9432</link>
            <guid isPermaLink="true">https://viblo.asia/p/typescript-gymnastics-doan-code-khien-toi-mat-ngu-va-su-giac-ngo-ve-infer-gjLN06a9432</guid>
            <description><![CDATA[Chào anh em thiện lành! Nếu anh em đã theo dõi những bài trước của mình về Architecture, Authz hay Caching, thì hôm nay chúng ta sẽ đổi gió một chút. ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-10 21:29:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[series Bee Queue Bài 4: Xử Lý Stalled Jobs (Job Bị Kẹt) Và Tuyệt Chiêu Tối Ưu Bộ Nhớ Redis]]></title>
                        <link>https://viblo.asia/p/series-bee-queue-bai-4-xu-ly-stalled-jobs-job-bi-ket-va-tuyet-chieu-toi-uu-bo-nho-redis-XRJ8R8p5VGq</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-bee-queue-bai-4-xu-ly-stalled-jobs-job-bi-ket-va-tuyet-chieu-toi-uu-bo-nho-redis-XRJ8R8p5VGq</guid>
            <description><![CDATA[Hãy tưởng tượng một kịch bản ác mộng: Đội DevOps tiến hành deploy code mới và ép các Worker cũ phải tắt ngay lập tức bằng lệnh kill -9, hoặc server củ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-01 09:25:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[series Bee Queue Bài 3: Quản Lý Lỗi, Tuyệt Chiêu Retry Thông Minh Và Bứt Tốc Concurrency]]></title>
                        <link>https://viblo.asia/p/series-bee-queue-bai-3-quan-ly-loi-tuyet-chieu-retry-thong-minh-va-but-toc-concurrency-1XVOWzp1VMz</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-bee-queue-bai-3-quan-ly-loi-tuyet-chieu-retry-thong-minh-va-but-toc-concurrency-1XVOWzp1VMz</guid>
            <description><![CDATA[Khi vận hành một hệ thống nền tảng Background Job, triết lý thiết kế quan trọng nhất bạn cần nhớ là: "Lỗi chắc chắn sẽ xảy ra". Nhiệm vụ của một Backe...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-01 07:34:26</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[series Bee Queue Bài 2: Thực Chiến Bee-Queue - Khởi Tạo Hàng Đợi Và Worker Xử Lý Đầu Tiên]]></title>
                        <link>https://viblo.asia/p/series-bee-queue-bai-2-thuc-chien-bee-queue-khoi-tao-hang-doi-va-worker-xu-ly-dau-tien-R5JRQgjn4Gv</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-bee-queue-bai-2-thuc-chien-bee-queue-khoi-tao-hang-doi-va-worker-xu-ly-dau-tien-R5JRQgjn4Gv</guid>
            <description><![CDATA[Trong mô hình Job Queue, sự tách biệt giữa Producer (nơi tiếp nhận yêu cầu) và Worker (nơi thực thi yêu cầu) là chìa khóa để hệ thống không bị "nghẽn ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-30 23:26:59</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[series Bee-Queue Bài 1: Bee-Queue Là Gì? Quái Kiệt Tốc Độ Trong Thế Giới Job Queue Node.js]]></title>
                        <link>https://viblo.asia/p/series-bee-queue-bai-1-bee-queue-la-gi-quai-kiet-toc-do-trong-the-gioi-job-queue-nodejs-kY4gDlzZJAe</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-bee-queue-bai-1-bee-queue-la-gi-quai-kiet-toc-do-trong-the-gioi-job-queue-nodejs-kY4gDlzZJAe</guid>
            <description><![CDATA[Hãy tưởng tượng bạn đang xây dựng một tính năng mà khi người dùng bấm nút "Đặt hàng thành công", hệ thống của bạn phải thực hiện một chuỗi tác vụ: tạo...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-30 19:32:15</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[series Axios  Bài 1: Axios Là Gì? Kiến Trúc &quot;Lưỡng Cư&quot; Và Bản Chất Giao Tiếp Mạng]]></title>
                        <link>https://viblo.asia/p/series-axios-bai-1-axios-la-gi-kien-truc-luong-cu-va-ban-chat-giao-tiep-mang-vbLbjdvpLnk</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-axios-bai-1-axios-la-gi-kien-truc-luong-cu-va-ban-chat-giao-tiep-mang-vbLbjdvpLnk</guid>
            <description><![CDATA[Trong kỷ nguyên của ứng dụng Single Page (SPA) và kiến trúc Microservices, một ứng dụng không thể đứng cô độc một mình. Nó cần phải liên tục "nói chuy...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-30 10:52:34</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tùy Biến Log Với TimestampOptions Trong Winston: Hết Thời Nhìn Chuỗi ISO Hại Mắt, Làm Chủ Múi Giờ Hệ Thống]]></title>
                        <link>https://viblo.asia/p/tuy-bien-log-voi-timestampoptions-trong-winston-het-thoi-nhin-chuoi-iso-hai-mat-lam-chu-mui-gio-he-thong-lZL9XWMZJQK</link>
            <guid isPermaLink="true">https://viblo.asia/p/tuy-bien-log-voi-timestampoptions-trong-winston-het-thoi-nhin-chuoi-iso-hai-mat-lam-chu-mui-gio-he-thong-lZL9XWMZJQK</guid>
            <description><![CDATA[Chào anh em Viblo! 

Khi xây dựng một hệ thống Backend Production, việc ghi log (Logging) chuẩn chỉnh được ví như chiếc phao cứu sinh mỗi khi hệ thống...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-28 22:03:24</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Giải Mã var __filename: string;: &quot;Chứng Minh Nhân Dân&quot; Của File Và Tuyệt Chiêu Trích Xuất Định Dạng Chuẩn Senior]]></title>
                        <link>https://viblo.asia/p/giai-ma-var-filename-string-chung-minh-nhan-dan-cua-file-va-tuyet-chieu-trich-xuat-dinh-dang-chuan-senior-R5JRQgKQ4Gv</link>
            <guid isPermaLink="true">https://viblo.asia/p/giai-ma-var-filename-string-chung-minh-nhan-dan-cua-file-va-tuyet-chieu-trich-xuat-dinh-dang-chuan-senior-R5JRQgKQ4Gv</guid>
            <description><![CDATA[Chào anh em Viblo! 

Để khép lại series mổ xẻ các tham số "quyền lực" được Node.js tiêm (inject) ngầm vào bên trong Module Wrapper Function thời kỳ Co...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-27 15:22:27</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Giải Mã var __dirname: string;: Tấm Bản Đồ Định Vị File Và Cú Vấp Ngã Xuyên Quốc Gia Giữa Windows và Linux]]></title>
                        <link>https://viblo.asia/p/giai-ma-var-dirname-string-tam-ban-do-dinh-vi-file-va-cu-vap-nga-xuyen-quoc-gia-giua-windows-va-linux-37LdeGBNVov</link>
            <guid isPermaLink="true">https://viblo.asia/p/giai-ma-var-dirname-string-tam-ban-do-dinh-vi-file-va-cu-vap-nga-xuyen-quoc-gia-giua-windows-va-linux-37LdeGBNVov</guid>
            <description><![CDATA[Chào anh em Viblo! 

Tiếp nối chuỗi bài viết mổ xẻ các tham số "quyền lực" được tiêm (inject) ngầm vào bên trong Module Wrapper Function của Node.js (...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-28 10:07:00</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bóc Mẽ Cú Pháp var module: NodeModule;: Bí Mật &quot;Chiếc Hộp&quot; Wrapper Và Cú Lừa Kinh Điển Giữa exports và module.exports]]></title>
                        <link>https://viblo.asia/p/boc-me-cu-phap-var-module-nodemodule-bi-mat-chiec-hop-wrapper-va-cu-lua-kinh-dien-giua-exports-va-moduleexports-kY4gDl6eJAe</link>
            <guid isPermaLink="true">https://viblo.asia/p/boc-me-cu-phap-var-module-nodemodule-bi-mat-chiec-hop-wrapper-va-cu-lua-kinh-dien-giua-exports-va-moduleexports-kY4gDl6eJAe</guid>
            <description><![CDATA[Chào anh em Viblo! 

Trong bài viết trước, chúng ta đã cùng nhau "lột trần" thân phận của var require: NodeRequire; và biết được những ma thuật quản l...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-28 15:32:47</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Vén Màn Bí Mật var require: NodeRequire;: Hàm require Của Node.js Khủng Khiếp Hơn Bạn Nghĩ!]]></title>
                        <link>https://viblo.asia/p/ven-man-bi-mat-var-require-noderequire-ham-require-cua-nodejs-khung-khiep-hon-ban-nghi-ZoJjel934Y7</link>
            <guid isPermaLink="true">https://viblo.asia/p/ven-man-bi-mat-var-require-noderequire-ham-require-cua-nodejs-khung-khiep-hon-ban-nghi-ZoJjel934Y7</guid>
            <description><![CDATA[Chào anh em Viblo! 

Nếu anh em đã từng làm việc với Node.js ở kỷ nguyên CommonJS, hoặc đang cấu hình các file script, file webpack, vite trong các dự...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-28 11:21:24</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Turf.js Trong Node.js: Mang Sức Mạnh Thượng Đẳng Của Hệ Thống GIS Vào Tầng Code Mà Không Cần Cài Đặt PostGIS]]></title>
                        <link>https://viblo.asia/p/turfjs-trong-nodejs-mang-suc-manh-thuong-dang-cua-he-thong-gis-vao-tang-code-ma-khong-can-cai-dat-postgis-QyJKzkNq4Me</link>
            <guid isPermaLink="true">https://viblo.asia/p/turfjs-trong-nodejs-mang-suc-manh-thuong-dang-cua-he-thong-gis-vao-tang-code-ma-khong-can-cai-dat-postgis-QyJKzkNq4Me</guid>
            <description><![CDATA[Chào anh em Viblo! 

Ở hai bài viết trước, chúng ta đã cùng nhau mổ xẻ toán học của thuật toán Point-in-Polygon (PIP) và tuyệt chiêu tăng tốc query bằ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-27 10:00:00</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Làm Chủ Hàm help() Trong Yargs: Bí Kíp Xây Dựng Công Cụ CLI Chuẩn &quot;Chuyên Nghiệp&quot; Mà Không Cần Viết README]]></title>
                        <link>https://viblo.asia/p/lam-chu-ham-help-trong-yargs-bi-kip-xay-dung-cong-cu-cli-chuan-chuyen-nghiep-ma-khong-can-viet-readme-G24B8QgeLz3</link>
            <guid isPermaLink="true">https://viblo.asia/p/lam-chu-ham-help-trong-yargs-bi-kip-xay-dung-cong-cu-cli-chuan-chuyen-nghiep-ma-khong-can-viet-readme-G24B8QgeLz3</guid>
            <description><![CDATA[Chào anh em Viblo! 

Nếu anh em từng tự viết các công cụ dòng lệnh (CLI tools) để tự động hóa công việc trong dự án – ví dụ như tool tự động tạo cấu t...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-25 16:34:51</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Ghi Log Thủ Công Với fs.appendFile: Cú Pháp &quot;Vỡ Lòng&quot; Và Những Pha &quot;Chèn Đè&quot; Dữ Liệu Đi Vào Lòng Đất]]></title>
                        <link>https://viblo.asia/p/ghi-log-thu-cong-voi-fsappendfile-cu-phap-vo-long-va-nhung-pha-chen-de-du-lieu-di-vao-long-dat-ZjJYWdZ6VOE</link>
            <guid isPermaLink="true">https://viblo.asia/p/ghi-log-thu-cong-voi-fsappendfile-cu-phap-vo-long-va-nhung-pha-chen-de-du-lieu-di-vao-long-dat-ZjJYWdZ6VOE</guid>
            <description><![CDATA[Chào anh em Viblo! 

Khi làm Backend với Node.js, có tới 99% anh em từng phải tự viết một công cụ ghi log đơn giản, hoặc làm tính năng xuất dữ liệu ra...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-24 00:07:30</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Nghệ Thuật Streamed Responses: Bí Quyết Đằng Sau Tốc Độ &quot;Bàn Thờ&quot; Của ChatGPT]]></title>
                        <link>https://viblo.asia/p/nghe-thuat-streamed-responses-bi-quyet-dang-sau-toc-do-ban-tho-cua-chatgpt-ZoJjeGN34Y7</link>
            <guid isPermaLink="true">https://viblo.asia/p/nghe-thuat-streamed-responses-bi-quyet-dang-sau-toc-do-ban-tho-cua-chatgpt-ZoJjeGN34Y7</guid>
            <description><![CDATA[hôm nay chúng ta sẽ giải mã một trong những công nghệ "lên ngôi" mạnh mẽ nhất trong kỷ nguyên AI: Streamed Responses (Phản hồi dạng luồng).

Bạn có ba...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-18 08:08:01</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Từ Số 0 Đến Kết Nối Elasticsearch Chuẩn Enterprise Bằng Node.js]]></title>
                        <link>https://viblo.asia/p/tu-so-0-den-ket-noi-elasticsearch-chuan-enterprise-bang-nodejs-Nj4vg6EKJ6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/tu-so-0-den-ket-noi-elasticsearch-chuan-enterprise-bang-nodejs-Nj4vg6EKJ6r</guid>
            <description><![CDATA[Để xây dựng một hệ thống thật sự vững chắc, chúng ta không thể code bừa bãi vào một file. Dù là hướng dẫn từ số 0, mình vẫn sẽ dẫn dắt bạn theo chuẩn ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-16 16:36:31</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Khai Phá Sức Mạnh Elasticsearch Bằng Node.js: Kiến Trúc Kết Nối Chuẩn Enterprise]]></title>
                        <link>https://viblo.asia/p/khai-pha-suc-manh-elasticsearch-bang-nodejs-kien-truc-ket-noi-chuan-enterprise-PoL7edKl4vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/khai-pha-suc-manh-elasticsearch-bang-nodejs-kien-truc-ket-noi-chuan-enterprise-PoL7edKl4vk</guid>
            <description><![CDATA[Ở bài trước, chúng ta đã hiểu về lý thuyết Inverted Index cực kỳ bá đạo của Elasticsearch. Nhưng khi mang lý thuyết đó vào thực hành, việc kết nối con...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-16 15:25:29</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[Khủng Hoảng HEIC: Khi Apple Bắt Trình Duyệt Phải &quot;Khóc&quot; &amp; Cách Giải Cứu Bằng Code]]></title>
                        <link>https://viblo.asia/p/khung-hoang-heic-khi-apple-bat-trinh-duyet-phai-khoc-cach-giai-cuu-bang-code-13VM9qP0VY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/khung-hoang-heic-khi-apple-bat-trinh-duyet-phai-khoc-cach-giai-cuu-bang-code-13VM9qP0VY7</guid>
            <description><![CDATA[Câu chuyện muôn thuở: Một buổi chiều thứ Sáu, team CSKH báo lên: "Anh ơi, có khách hàng VIP dùng iPhone 15 Pro Max phàn nàn là tải ảnh chứng minh thư ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-14 22:34:04</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Vứt Bỏ Thói Quen &quot;console.log&quot; Mọi Thứ: Bí Kíp Debug Chuẩn Vibe Coder]]></title>
                        <link>https://viblo.asia/p/vut-bo-thoi-quen-consolelog-moi-thu-bi-kip-debug-chuan-vibe-coder-ZoJje1n24Y7</link>
            <guid isPermaLink="true">https://viblo.asia/p/vut-bo-thoi-quen-consolelog-moi-thu-bi-kip-debug-chuan-vibe-coder-ZoJje1n24Y7</guid>
            <description><![CDATA[Có bao giờ bạn rơi vào tình cảnh này chưa: Đang hì hục debug một cái bug cực khoai, bạn chèn hàng chục dòng console.log("vao day 1"), console.log("vao...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-13 13:46:57</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[JS Thực Chiến] Async/Await: Phép thuật cứu rỗi những linh hồn kẹt trong &quot;Địa ngục Callback&quot;]]></title>
                        <link>https://viblo.asia/p/js-thuc-chien-asyncawait-phep-thuat-cuu-roi-nhung-linh-hon-ket-trong-dia-nguc-callback-OXLA0BXBJGr</link>
            <guid isPermaLink="true">https://viblo.asia/p/js-thuc-chien-asyncawait-phep-thuat-cuu-roi-nhung-linh-hon-ket-trong-dia-nguc-callback-OXLA0BXBJGr</guid>
            <description><![CDATA[Chào anh em, lại là mình đây.

Nếu anh em làm JavaScript/Node.js, chắc chắn anh em đã từng nghe đến cái đặc sản mang tên "Bất đồng bộ" (Asynchronous)....]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-09 17:45:22</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[DevOps Thực Chiến] Vercel từ A-Z: Phép thuật Deploy &quot;Chạm là Chạy&quot;]]></title>
                        <link>https://viblo.asia/p/devops-thuc-chien-vercel-tu-a-z-phep-thuat-deploy-cham-la-chay-XP4WEo6pL7G</link>
            <guid isPermaLink="true">https://viblo.asia/p/devops-thuc-chien-vercel-tu-a-z-phep-thuat-deploy-cham-la-chay-XP4WEo6pL7G</guid>
            <description><![CDATA[Chào anh em, lại là mình đây.

Nhớ cái thời mới ra trường, mỗi lần code xong một con app muốn khoe với thiên hạ là cả một cực hình. Mua VPS trắng bóc,...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-07 17:08:02</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series] Xây dựng Hệ thống Bất động sản với Node.js &amp; TypeScript - Bài 8: Tương tác người dùng - Đánh giá &amp; Bình luận Đa cấp]]></title>
                        <link>https://viblo.asia/p/series-xay-dung-he-thong-bat-dong-san-voi-nodejs-typescript-bai-8-tuong-tac-nguoi-dung-danh-gia-binh-luan-da-cap-yZJZlvBNVjm</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-xay-dung-he-thong-bat-dong-san-voi-nodejs-typescript-bai-8-tuong-tac-nguoi-dung-danh-gia-binh-luan-da-cap-yZJZlvBNVjm</guid>
            <description><![CDATA[hào anh em! Ở bài 7 chúng ta đã tìm được nhà, thì bài 8 này là lúc để người dùng "lên tiếng". Trong bài này, chúng ta sẽ giải quyết bài toán: Làm sao ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-27 10:54:27</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series] Xây dựng Hệ thống Bất động sản với Node.js &amp; TypeScript - Bài 6: &quot;Hô biến&quot; Tin đăng lung linh với Hình ảnh (Multer &amp; Cloudinary)]]></title>
                        <link>https://viblo.asia/p/series-xay-dung-he-thong-bat-dong-san-voi-nodejs-typescript-bai-6-ho-bien-tin-dang-lung-linh-voi-hinh-anh-multer-cloudinary-oW4oelzkLml</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-xay-dung-he-thong-bat-dong-san-voi-nodejs-typescript-bai-6-ho-bien-tin-dang-lung-linh-voi-hinh-anh-multer-cloudinary-oW4oelzkLml</guid>
            <description><![CDATA[Chào anh em! Trong bài này, chúng ta sẽ không lưu ảnh trực tiếp vào Server (vì sẽ làm nặng Server và khó mở rộng). Thay vào đó, chúng ta sẽ sử dụng Cl...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-27 10:41:57</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 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[Phân Quyền Hệ Thống Với RBAC: Hiểu Chuẩn Tới Đáy &amp; Những &quot;Cú Lừa&quot; Dev Mới Hay Mắc Phải]]></title>
                        <link>https://viblo.asia/p/phan-quyen-he-thong-voi-rbac-hieu-chuan-toi-day-nhung-cu-lua-dev-moi-hay-mac-phai-yZJZlvD2Vjm</link>
            <guid isPermaLink="true">https://viblo.asia/p/phan-quyen-he-thong-voi-rbac-hieu-chuan-toi-day-nhung-cu-lua-dev-moi-hay-mac-phai-yZJZlvD2Vjm</guid>
            <description><![CDATA[Chào anh em lại là mình đây. Hồi mới chập chững vào nghề, nhận task "làm chức năng login", mình mừng rỡ múa phím nhoáng cái là xong. Nhưng đời không l...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-16 10:11:05</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Vượt xa Try-Catch: Thiết kế hệ thống xử lý lỗi chuẩn Production cho Node.js]]></title>
                        <link>https://viblo.asia/p/vuot-xa-try-catch-thiet-ke-he-thong-xu-ly-loi-chuan-production-cho-nodejs-gdJzvpRvJz5</link>
            <guid isPermaLink="true">https://viblo.asia/p/vuot-xa-try-catch-thiet-ke-he-thong-xu-ly-loi-chuan-production-cho-nodejs-gdJzvpRvJz5</guid>
            <description><![CDATA[Chào anh em Viblo,

Trong phát triển ứng dụng Node.js, try-catch chỉ là bề nổi của tảng băng. Việc bắt lỗi rất dễ, nhưng quản lý lỗi sao cho hệ thống ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">paudang</dc:creator>
            <pubDate>2026-03-03 08:00:00</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Hiểu Đúng Bản Chất Của Authentication: Khác Biệt Giữa JWT, OAuth2 và SSO]]></title>
                        <link>https://viblo.asia/p/hieu-dung-ban-chat-cua-authentication-khac-biet-giua-jwt-oauth2-va-sso-2vJPdENnJeK</link>
            <guid isPermaLink="true">https://viblo.asia/p/hieu-dung-ban-chat-cua-authentication-khac-biet-giua-jwt-oauth2-va-sso-2vJPdENnJeK</guid>
            <description><![CDATA[Chào anh em Viblo,

Nếu bạn đang chuẩn bị cho một cuộc phỏng vấn vị trí Backend Developer, Fullstack hay Software Architecture, chắc chắn bạn sẽ không...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">paudang</dc:creator>
            <pubDate>2026-02-26 20:16:26</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Forward Proxy vs Reverse Proxy Architecture trong Node.js]]></title>
                        <link>https://viblo.asia/p/forward-proxy-vs-reverse-proxy-architecture-trong-nodejs-8X4Ej39gJN2</link>
            <guid isPermaLink="true">https://viblo.asia/p/forward-proxy-vs-reverse-proxy-architecture-trong-nodejs-8X4Ej39gJN2</guid>
            <description><![CDATA[Chào anh em Viblo,

Trong các buổi phỏng vấn backend, câu hỏi về Forward Proxy và Reverse Proxy thường xuất hiện vì chúng là nền tảng quan trọng trong...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">paudang</dc:creator>
            <pubDate>2026-02-23 18:39:32</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Những cách mình làm để scale NodeJS Application]]></title>
                        <link>https://viblo.asia/p/nhung-cach-minh-lam-de-scale-nodejs-application-ym400gvm491</link>
            <guid isPermaLink="true">https://viblo.asia/p/nhung-cach-minh-lam-de-scale-nodejs-application-ym400gvm491</guid>
            <description><![CDATA[Xin chào, lại là mình, một NodeJS developer đã đi làm được một thời gian. Thực ra mình cũng chưa phải đối mặt với những con số traffic khổng lồ như 1k...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cao Chi Hai</dc:creator>
            <pubDate>2025-08-25 23:25:32</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Unlocking Egg.js: From Node.js Newbie to Web Development Pro]]></title>
                        <link>https://viblo.asia/p/unlocking-eggjs-from-nodejs-newbie-to-web-development-pro-oK9Vy6g54QR</link>
            <guid isPermaLink="true">https://viblo.asia/p/unlocking-eggjs-from-nodejs-newbie-to-web-development-pro-oK9Vy6g54QR</guid>
            <description><![CDATA[1. What Is Egg.js?

In today’s web development landscape, Node.js—thanks to its event-driven, non-blocking I/O model—has proven its unique strengths i...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mattycoder</dc:creator>
            <pubDate>2025-04-30 15:20:44</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Node.js là cái quái quỷ gì? Vì sao các Coder nên biết về nó]]></title>
                        <link>https://viblo.asia/p/nodejs-la-cai-quai-quy-gi-vi-sao-cac-coder-nen-biet-ve-no-Ny0VG0Q54PA</link>
            <guid isPermaLink="true">https://viblo.asia/p/nodejs-la-cai-quai-quy-gi-vi-sao-cac-coder-nen-biet-ve-no-Ny0VG0Q54PA</guid>
            <description><![CDATA[Giới thiệu
Bạn đã bao giờ tự hỏi làm thế nào mà một số ứng dụng web phổ biến có thể xử lý hàng ngàn yêu cầu cùng một lúc mà không gặp sự cố? Bí quyết ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">DoubleĐ</dc:creator>
            <pubDate>2025-03-05 18:49:55</pubDate>
                                                                                                        </item>
            </channel>
</rss>
