<?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>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/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>Nodejs Tag - Viblo</title>
            <link>https://viblo.asia/rss</link>
        </image>
                                <language>vi-vn</language>
        <lastBuildDate>2026-08-13T19:34:35+07:00</lastBuildDate>
                <item>
            <title><![CDATA[I Tried a Different Way to Handle Multimodal Video Inputs in Node.js]]></title>
                        <link>https://viblo.asia/p/i-tried-a-different-way-to-handle-multimodal-video-inputs-in-nodejs-pPLkNrpZJRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/i-tried-a-different-way-to-handle-multimodal-video-inputs-in-nodejs-pPLkNrpZJRZ</guid>
            <description><![CDATA[I was working on a small video generation prototype recently and ran into a problem I hadn't really thought about when I started.

The first version w...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">sarah wilson</dc:creator>
            <pubDate>2026-08-07 08:09:34</pubDate>
                                                                                                        </item>
                <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[EJS (Embedded JavaScript) là gì? Khám phá template engine quốc dân cho ứng dụng Node.js]]></title>
                        <link>https://viblo.asia/p/ejs-embedded-javascript-la-gi-kham-pha-template-engine-quoc-dan-cho-ung-dung-nodejs-AoJe8enA41j</link>
            <guid isPermaLink="true">https://viblo.asia/p/ejs-embedded-javascript-la-gi-kham-pha-template-engine-quoc-dan-cho-ung-dung-nodejs-AoJe8enA41j</guid>
            <description><![CDATA[Chào anh em!

Khi làm việc với Node.js và xây dựng các trang web theo mô hình Server-Side Rendering (SSR) truyền thống, chắc hẳn anh em sẽ đặt câu hỏi...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-29 21:37:31</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tuyệt kỹ &quot;Parameterized Partial&quot; và xử lý Optional-Prop Defaults chuẩn Senior]]></title>
                        <link>https://viblo.asia/p/tuyet-ky-parameterized-partial-va-xu-ly-optional-prop-defaults-chuan-senior-OQJwzwYq4MP</link>
            <guid isPermaLink="true">https://viblo.asia/p/tuyet-ky-parameterized-partial-va-xu-ly-optional-prop-defaults-chuan-senior-OQJwzwYq4MP</guid>
            <description><![CDATA[Chào anh em! Nếu đã làm việc với TypeScript đủ lâu, chắc hẳn anh em đã quá quen mặt với utility type Partial<T>. Nó là một "phép thuật" tuyệt vời giúp...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-02 21:11:04</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series yargs - Bài 3] Middleware Trầm Lặng &amp; Phép Thuật Giao Diện (UI) Trên Terminal]]></title>
                        <link>https://viblo.asia/p/series-yargs-bai-3-middleware-tram-lang-phep-thuat-giao-dien-ui-tren-terminal-R5JRQg5n4Gv</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-yargs-bai-3-middleware-tram-lang-phep-thuat-giao-dien-ui-tren-terminal-R5JRQg5n4Gv</guid>
            <description><![CDATA[Chào các bạn quay trở lại với chặng cuối của series yargs! Đến lúc này, công cụ CLI của chúng ta đã có thể phân tích cú pháp, ép kiểu dữ liệu và chia ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-04 00:10:31</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series yargs - Bài 2] Xử Lý Dữ Liệu Phức Tạp &amp; Cấu Trúc Code Chuẩn &quot;Clean Code&quot;]]></title>
                        <link>https://viblo.asia/p/series-yargs-bai-2-xu-ly-du-lieu-phuc-tap-cau-truc-code-chuan-clean-code-37LdeGbMVov</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-yargs-bai-2-xu-ly-du-lieu-phuc-tap-cau-truc-code-chuan-clean-code-37LdeGbMVov</guid>
            <description><![CDATA[Chào các bạn quay trở lại với series yargs! Ở Bài 1, chúng ta đã biết cách tạo ra một công cụ dòng lệnh cơ bản. Tuy nhiên, thực tế đòi hỏi nhiều hơn t...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-03 22:09:51</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series yargs - Bài 1] Giới thiệu và Cẩm nang &quot;Nhập Môn&quot; yargs cho Node.js]]></title>
                        <link>https://viblo.asia/p/series-yargs-bai-1-gioi-thieu-va-cam-nang-nhap-mon-yargs-cho-nodejs-kY4gDlZZJAe</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-yargs-bai-1-gioi-thieu-va-cam-nang-nhap-mon-yargs-cho-nodejs-kY4gDlZZJAe</guid>
            <description><![CDATA[Chào các bạn! Là một lập trình viên, chắc hẳn bạn đã không ít lần gõ những dòng lệnh như git commit -m "update", npm install react hay docker-compose ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-03 21:08:56</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series ioredis - Bài 5] Giải Quyết Tận Gốc &quot;Race Condition&quot; Với Lua Script &amp; Distributed Lock]]></title>
                        <link>https://viblo.asia/p/series-ioredis-bai-5-giai-quyet-tan-goc-race-condition-voi-lua-script-distributed-lock-gjLN06o8432</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-ioredis-bai-5-giai-quyet-tan-goc-race-condition-voi-lua-script-distributed-lock-gjLN06o8432</guid>
            <description><![CDATA[Chào các bạn! Chúng ta đã đi qua một chặng đường dài với ioredis, từ những thao tác CRUD cơ bản, tối ưu Pipeline, cho đến kiến trúc Cluster phân tán. ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-03 21:41:14</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series ioredis - Bài 4] Kiến Trúc Phân Tán: Sống Sót Qua Giông Bão Với Redis Sentinel &amp; Cluster]]></title>
                        <link>https://viblo.asia/p/series-ioredis-bai-4-kien-truc-phan-tan-song-sot-qua-giong-bao-voi-redis-sentinel-cluster-ZoJjelBy4Y7</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-ioredis-bai-4-kien-truc-phan-tan-song-sot-qua-giong-bao-voi-redis-sentinel-cluster-ZoJjelBy4Y7</guid>
            <description><![CDATA[Chào các bạn! Trong 3 bài viết trước, chúng ta đã code và thao tác trên một server Redis đơn lẻ (Standalone). Nhưng thực tế phũ phàng là: Server nào r...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-03 20:42:34</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series ioredis - Bài 3] Giao Tiếp Giữa Các Service Bằng Kiến Trúc Event-Driven (Redis Pub/Sub)]]></title>
                        <link>https://viblo.asia/p/series-ioredis-bai-3-giao-tiep-giua-cac-service-bang-kien-truc-event-driven-redis-pubsub-QyJKzkyM4Me</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-ioredis-bai-3-giao-tiep-giua-cac-service-bang-kien-truc-event-driven-redis-pubsub-QyJKzkyM4Me</guid>
            <description><![CDATA[Chào các bạn! Trong hành trình xây dựng Backend, sẽ có lúc hệ thống của bạn phình to ra và được chia nhỏ thành nhiều service khác nhau (Microservices)...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-03 19:42:00</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series ioredis - Bài 2] Lưu Trữ Dữ Liệu Phức Tạp (Hash) &amp; Bứt Phá Hiệu Năng Với Pipeline]]></title>
                        <link>https://viblo.asia/p/series-ioredis-bai-2-luu-tru-du-lieu-phuc-tap-hash-but-pha-hieu-nang-voi-pipeline-2vJPdnZKJeK</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-ioredis-bai-2-luu-tru-du-lieu-phuc-tap-hash-but-pha-hieu-nang-voi-pipeline-2vJPdnZKJeK</guid>
            <description><![CDATA[Chào mừng các bạn quay trở lại với series ioredis! Ở Bài 1, chúng ta đã kết nối thành công và thao tác với dữ liệu dạng String (chuỗi).

Nhưng ở môi t...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-03 18:41:30</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Series ioredis - Bài 1] Giới thiệu và Cẩm nang &quot;Nhập Môn&quot; ioredis cho Node.js]]></title>
                        <link>https://viblo.asia/p/series-ioredis-bai-1-gioi-thieu-va-cam-nang-nhap-mon-ioredis-cho-nodejs-ZjJYWdAMVOE</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-ioredis-bai-1-gioi-thieu-va-cam-nang-nhap-mon-ioredis-cho-nodejs-ZjJYWdAMVOE</guid>
            <description><![CDATA[Chào các bạn! Trong thế giới phát triển Backend với Node.js, khi nhắc đến caching, pub/sub hay quản lý session, Redis gần như là cái tên đầu tiên nảy ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-03 17:40:30</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Đánh giá Node.js và Deno dưới khía cạnh bảo mật]]></title>
                        <link>https://viblo.asia/p/danh-gia-nodejs-va-deno-duoi-khia-canh-bao-mat-13VM9wqdVY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/danh-gia-nodejs-va-deno-duoi-khia-canh-bao-mat-13VM9wqdVY7</guid>
            <description><![CDATA[![](https://blog.logrocket.com/wp-content/uploads/2019/07/deno-vs-nodejs.png)


1. Vấn đề bảo mật của Node.js

Khi chạy một ứng dụng Node, nó sẽ có qu...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Le Thanh Cong</dc:creator>
            <pubDate>2026-05-29 21:54:49</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 7: Bộ lọc Tìm kiếm &quot;Thông minh&quot; &amp; Query linh hoạt với Prisma]]></title>
                        <link>https://viblo.asia/p/series-xay-dung-he-thong-bat-dong-san-voi-nodejs-typescript-bai-7-bo-loc-tim-kiem-thong-minh-query-linh-hoat-voi-prisma-OQJwzB204MP</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-xay-dung-he-thong-bat-dong-san-voi-nodejs-typescript-bai-7-bo-loc-tim-kiem-thong-minh-query-linh-hoat-voi-prisma-OQJwzB204MP</guid>
            <description><![CDATA[Chào anh em! Một bộ lọc tìm kiếm chuẩn cho Bất động sản thường bao gồm: Tìm theo khu vực (Tỉnh/Huyện), tìm theo khoảng giá (min - max), khoảng diện tí...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-27 10:48:15</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 5: Quản lý Tin đăng (CRUD Posts) &amp; Kỹ thuật Phân trang]]></title>
                        <link>https://viblo.asia/p/series-xay-dung-he-thong-bat-dong-san-voi-nodejs-typescript-bai-5-quan-ly-tin-dang-crud-posts-ky-thuat-phan-trang-1QLxnYbO4Aw</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-xay-dung-he-thong-bat-dong-san-voi-nodejs-typescript-bai-5-quan-ly-tin-dang-crud-posts-ky-thuat-phan-trang-1QLxnYbO4Aw</guid>
            <description><![CDATA[Ở bài này, chúng ta không chỉ làm CRUD đơn thuần. Chúng ta sẽ giải quyết bài toán: Làm sao để đăng một tin với đầy đủ thuộc tính (diện tích, giá, địa ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-27 09:25:51</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 4: Quản lý Profile &amp; &quot;Người gác cổng&quot; Middleware]]></title>
                        <link>https://viblo.asia/p/series-xay-dung-he-thong-bat-dong-san-voi-nodejs-typescript-bai-4-quan-ly-profile-nguoi-gac-cong-middleware-G24B891BLz3</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-xay-dung-he-thong-bat-dong-san-voi-nodejs-typescript-bai-4-quan-ly-profile-nguoi-gac-cong-middleware-G24B891BLz3</guid>
            <description><![CDATA[Trong một hệ thống, không phải ai cũng có quyền xem thông tin của ai. Để lấy được thông tin cá nhân của mình, người dùng phải chìa ra "tấm thẻ" JWT mà...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-26 11:06:19</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 2: Triển khai Authentication (Đăng ký &amp; Đăng nhập)]]></title>
                        <link>https://viblo.asia/p/series-xay-dung-he-thong-bat-dong-san-voi-nodejs-typescript-bai-2-trien-khai-authentication-dang-ky-dang-nhap-yZJZlv7NVjm</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-xay-dung-he-thong-bat-dong-san-voi-nodejs-typescript-bai-2-trien-khai-authentication-dang-ky-dang-nhap-yZJZlv7NVjm</guid>
            <description><![CDATA[Chào anh em! Ở bài 1 chúng ta đã có Database. Nhưng để người dùng có thể đăng tin, lưu tin hay đánh giá, họ cần một "tấm thẻ căn cước" trong hệ thống....]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-26 09:27:08</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 1: Thiết kế Database &quot;Chuẩn chỉnh&quot;]]></title>
                        <link>https://viblo.asia/p/series-xay-dung-he-thong-bat-dong-san-voi-nodejs-typescript-bai-1-thiet-ke-database-chuan-chinh-oW4oelykLml</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-xay-dung-he-thong-bat-dong-san-voi-nodejs-typescript-bai-1-thiet-ke-database-chuan-chinh-oW4oelykLml</guid>
            <description><![CDATA[Chào các anh em Gophers (và cả các anh em đang muốn lấn sân sang Node.js)! Trong series này, chúng ta sẽ cùng nhau xây dựng một hệ thống Website Bất đ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-03-26 07:38:31</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Phá vỡ giới hạn Boilerplate: Tại sao &quot;Kỹ thuật Cổ điển&quot; là linh hồn giúp AI thăng hoa]]></title>
                        <link>https://viblo.asia/p/pha-vo-gioi-han-boilerplate-tai-sao-ky-thuat-co-dien-la-linh-hon-giup-ai-thang-hoa-gdJzvmGnJz5</link>
            <guid isPermaLink="true">https://viblo.asia/p/pha-vo-gioi-han-boilerplate-tai-sao-ky-thuat-co-dien-la-linh-hon-giup-ai-thang-hoa-gdJzvmGnJz5</guid>
            <description><![CDATA[![](https://images.viblo.asia/6a3162b9-8dc9-437b-96eb-1e338633498b.png)


“Kỹ thuật tạo ra bộ rễ; AI tạo ra đôi cánh. Một dự án không có rễ sẽ bị cuốn...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">paudang</dc:creator>
            <pubDate>2026-03-13 07:36:38</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Node.js, Bun và Deno: Cuốn cẩm nang chọn Backend Runtime năm 2026]]></title>
                        <link>https://viblo.asia/p/nodejs-bun-va-deno-cuon-cam-nang-chon-backend-runtime-nam-2026-vbLbjMjvLnk</link>
            <guid isPermaLink="true">https://viblo.asia/p/nodejs-bun-va-deno-cuon-cam-nang-chon-backend-runtime-nam-2026-vbLbjMjvLnk</guid>
            <description><![CDATA[Đã có một khoảng thời gian dài, tôi đinh ninh rằng Node.js chính là điểm đến cuối cùng của thế giới backend JavaScript. Cho đến tháng trước, khi tôi t...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lamri Abdellah Ramdane</dc:creator>
            <pubDate>2026-03-07 08:59:33</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[So sánh chi tiết MVC và Clean Architecture trong Node.js – Khi nào nên dùng và mục đích sử dụng]]></title>
                        <link>https://viblo.asia/p/so-sanh-chi-tiet-mvc-va-clean-architecture-trong-nodejs-khi-nao-nen-dung-va-muc-dich-su-dung-bA468eO9LKv</link>
            <guid isPermaLink="true">https://viblo.asia/p/so-sanh-chi-tiet-mvc-va-clean-architecture-trong-nodejs-khi-nao-nen-dung-va-muc-dich-su-dung-bA468eO9LKv</guid>
            <description><![CDATA[Chào anh em Viblo,

Hôm nay tôi sẽ cùng anh em khám phá sự khác nhau giữa MVC và Clean Architecture trong Node.js.

 MVC là gì?
MVC (Model–View–Contro...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">paudang</dc:creator>
            <pubDate>2026-02-23 08:26:43</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Hiện tượng OpenClaw: Kẻ thay đổi cuộc chơi hay Bom nổ chậm?]]></title>
                        <link>https://viblo.asia/p/hien-tuong-openclaw-ke-thay-doi-cuoc-choi-hay-bom-no-cham-bA468eXBLKv</link>
            <guid isPermaLink="true">https://viblo.asia/p/hien-tuong-openclaw-ke-thay-doi-cuoc-choi-hay-bom-no-cham-bA468eXBLKv</guid>
            <description><![CDATA[Tuần trước, newsfeed của tôi tràn ngập thông tin về Clawdbot, Moltbot, OpenClaw.

Được ca ngợi là phiên bản mã nguồn mở của Jarvis, OpenClaw đã làm bù...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ryan Stone</dc:creator>
            <pubDate>2026-02-03 16:39:05</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tối ưu hệ thống kiểu... lười: Sửa tí xíu mà được quá trời]]></title>
                        <link>https://viblo.asia/p/toi-uu-he-thong-kieu-luoi-sua-ti-xiu-ma-duoc-qua-troi-Nj4vgpg2J6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/toi-uu-he-thong-kieu-luoi-sua-ti-xiu-ma-duoc-qua-troi-Nj4vgpg2J6r</guid>
            <description><![CDATA[Câu chuyện về những thay đổi nhỏ nhưng mang lại hiệu quả lớn đến không ngờ. Liệu có một ngày đẹp trời bạn cũng "lỡ tay" sửa hệ thống tý xíu mà tiết ki...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Minh Monmen</dc:creator>
            <pubDate>2025-12-15 02:18:59</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[ElysiaJS — Một Backend Framework đạt 2tr4 - req/p nhanh gấp 4 lần Gin và bỏ xa mọi đối thủ]]></title>
                        <link>https://viblo.asia/p/elysiajs-mot-backend-framework-dat-2tr4-reqp-nhanh-gap-4-lan-gin-va-bo-xa-moi-doi-thu-OXLA00vxJGr</link>
            <guid isPermaLink="true">https://viblo.asia/p/elysiajs-mot-backend-framework-dat-2tr4-reqp-nhanh-gap-4-lan-gin-va-bo-xa-moi-doi-thu-OXLA00vxJGr</guid>
            <description><![CDATA[]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">NekoArcoder</dc:creator>
            <pubDate>2025-12-05 18:01:11</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Gánh Xiếc Quản Lý Phiên Bản Node.js: Hướng Dẫn Thuần Hóa Môi Trường Của Bạn, Không Chỉ Bằng NVM]]></title>
                        <link>https://viblo.asia/p/ganh-xiec-quan-ly-phien-ban-nodejs-huong-dan-thuan-hoa-moi-truong-cua-ban-khong-chi-bang-nvm-pPLkNNwdJRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/ganh-xiec-quan-ly-phien-ban-nodejs-huong-dan-thuan-hoa-moi-truong-cua-ban-khong-chi-bang-nvm-pPLkNNwdJRZ</guid>
            <description><![CDATA[Vậy là, bạn đang phải tung hứng với nhiều dự án Node.js. Ai đó thì thầm vào tai bạn cụm từ viết tắt thần kỳ, "NVM," và nói rằng mọi vấn đề của bạn đã ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ryan Stone</dc:creator>
            <pubDate>2025-11-14 13:35:00</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[7 Tính Năng JavaScript Bị Đánh Giá Thấp Giúp Bạn Tiết Kiệm Thời Gian]]></title>
                        <link>https://viblo.asia/p/7-tinh-nang-javascript-bi-danh-gia-thap-giup-ban-tiet-kiem-thoi-gian-2vJPdd1pJeK</link>
            <guid isPermaLink="true">https://viblo.asia/p/7-tinh-nang-javascript-bi-danh-gia-thap-giup-ban-tiet-kiem-thoi-gian-2vJPdd1pJeK</guid>
            <description><![CDATA[Hôm nọ, khi đang lướt một subreddit dành cho lập trình viên, tôi tình cờ tìm thấy một mỏ vàng: một chủ đề về các tính năng JavaScript bị đánh giá thấp...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ryan Stone</dc:creator>
            <pubDate>2025-11-10 18:31:16</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Một Lựa Chọn Thay Thế Cho Claude Code: Khám Phá CodeBuddy]]></title>
                        <link>https://viblo.asia/p/mot-lua-chon-thay-the-cho-claude-code-kham-pha-codebuddy-OXLA0Q3BJGr</link>
            <guid isPermaLink="true">https://viblo.asia/p/mot-lua-chon-thay-the-cho-claude-code-kham-pha-codebuddy-OXLA0Q3BJGr</guid>
            <description><![CDATA[Claude Code là một công cụ AI lập trình khá mạnh mẽ, nhưng mức giá 200 USD mỗi tháng đã khiến nhiều lập trình viên tìm kiếm các giải pháp thay thế với...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James Miller</dc:creator>
            <pubDate>2025-09-13 02:44:45</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Lập trình viên cần biết! Giải thích chi tiết từ thiết lập đến ứng dụng thực tế ChatGPT Codex CLI]]></title>
                        <link>https://viblo.asia/p/lap-trinh-vien-can-biet-giai-thich-chi-tiet-tu-thiet-lap-den-ung-dung-thuc-te-chatgpt-codex-cli-bNVQGW5mJvR</link>
            <guid isPermaLink="true">https://viblo.asia/p/lap-trinh-vien-can-biet-giai-thich-chi-tiet-tu-thiet-lap-den-ung-dung-thuc-te-chatgpt-codex-cli-bNVQGW5mJvR</guid>
            <description><![CDATA[Giới thiệu

Gần đây, tôi đã thử nghiệm Codex CLI được phát hành cùng với mô hình mới. Thành thật mà nói, tôi đã rất ngạc nhiên vì nó dễ sử dụng hơn nh...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sky blue</dc:creator>
            <pubDate>2025-09-08 14:07:37</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cách mình sử dụng Docker thời gian qua]]></title>
                        <link>https://viblo.asia/p/cach-minh-su-dung-docker-thoi-gian-qua-pPLkNg5DJRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/cach-minh-su-dung-docker-thoi-gian-qua-pPLkNg5DJRZ</guid>
            <description><![CDATA[Xin chào, mình là một NodeJS developer, đã đi làm được một thời gian. Mình chưa từng viết blog trước đây, nhưng giờ mình sẽ bắt đầu làm điều này. Mình...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cao Chi Hai</dc:creator>
            <pubDate>2025-08-19 18:06:33</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Năm 2025, Backend JavaScript nên dùng Bun, Node.js hay Deno?]]></title>
                        <link>https://viblo.asia/p/nam-2025-backend-javascript-nen-dung-bun-nodejs-hay-deno-kNLr3dXEVgA</link>
            <guid isPermaLink="true">https://viblo.asia/p/nam-2025-backend-javascript-nen-dung-bun-nodejs-hay-deno-kNLr3dXEVgA</guid>
            <description><![CDATA[Khi xây dựng backend JavaScript, bạn nên chọn Bun, Node.js, hay Deno? Hôm nay chúng ta sẽ cùng phân tích kỹ vấn đề này.

* Node.js: Tiêu chuẩn ngành đ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James Miller</dc:creator>
            <pubDate>2025-08-14 06:46:11</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Node.js đã từng bước lung lay vị thế của PHP như thế nào]]></title>
                        <link>https://viblo.asia/p/nodejs-da-tung-buoc-lung-lay-vi-the-cua-php-nhu-the-nao-ymJXDb9WJkq</link>
            <guid isPermaLink="true">https://viblo.asia/p/nodejs-da-tung-buoc-lung-lay-vi-the-cua-php-nhu-the-nao-ymJXDb9WJkq</guid>
            <description><![CDATA[Mười, hai mươi năm trước, nếu bạn muốn xây dựng một trang web, PHP chắc chắn là lựa chọn hàng đầu không thể bàn cãi. Từ blog cá nhân với WordPress đến...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ryan Stone</dc:creator>
            <pubDate>2025-07-30 17:32:05</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Node.js đã lỗi thời? Hay bạn đang dùng sai cách]]></title>
                        <link>https://viblo.asia/p/nodejs-da-loi-thoi-hay-ban-dang-dung-sai-cach-1j4lQeDMJwl</link>
            <guid isPermaLink="true">https://viblo.asia/p/nodejs-da-loi-thoi-hay-ban-dang-dung-sai-cach-1j4lQeDMJwl</guid>
            <description><![CDATA[Gần đây, một bài viết có tiêu đề “Chúng tôi đã gửi 1 triệu người dùng đồng thời đến Go, Rust và Node.js” đã gây bão trong giới lập trình.
Node.js bị g...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mâyxám</dc:creator>
            <pubDate>2025-07-10 22:27:38</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[NodeJS Ngày 5 - Bàn về bảo mật login]]></title>
                        <link>https://viblo.asia/p/nodejs-ngay-5-ban-ve-bao-mat-login-ZjJYWQWgVOE</link>
            <guid isPermaLink="true">https://viblo.asia/p/nodejs-ngay-5-ban-ve-bao-mat-login-ZjJYWQWgVOE</guid>
            <description><![CDATA[Login (đăng nhập) là tính năng cơ bản của mọi ứng dụng web.
Nếu đã học môn mạng máy tính hay có kiến thức an ninh mạng, hẳn bạn cũng biết các gói tin ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johny Bùi</dc:creator>
            <pubDate>2025-07-03 15:09:05</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[NodeJS Bài 5 - Cài đặt Mongoose]]></title>
                        <link>https://viblo.asia/p/nodejs-bai-5-cai-dat-mongoose-x7Z4D9byJnX</link>
            <guid isPermaLink="true">https://viblo.asia/p/nodejs-bai-5-cai-dat-mongoose-x7Z4D9byJnX</guid>
            <description><![CDATA[1. Cài đặt mongoose

2. Cấu trúc thư mục cơ bản

3. Kết nối MongoDB trong app.js

4. Tạo Schema Mongoose
models/book.model.js

Nhiên....]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johny Bùi</dc:creator>
            <pubDate>2025-06-25 19:54:53</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[NodeJS Ngày 4 -Thiết lập phân quyền RBAC]]></title>
                        <link>https://viblo.asia/p/nodejs-ngay-4-thiet-lap-phan-quyen-rbac-GyZJZMQE4jm</link>
            <guid isPermaLink="true">https://viblo.asia/p/nodejs-ngay-4-thiet-lap-phan-quyen-rbac-GyZJZMQE4jm</guid>
            <description><![CDATA[Các bước triển khai
1. Lưu role trong Firebase hoặc Database
2. Xác minh idToken từ Firebase để lấy UID
3. Lấy role từ: Trường customClaims trong Fire...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johny Bùi</dc:creator>
            <pubDate>2025-06-25 19:49:06</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[NodeJS Ngày 3 - Tạo OAuth Authentication Middleware]]></title>
                        <link>https://viblo.asia/p/nodejs-ngay-3-tao-oauth-authentication-middleware-zOQJwPKNLMP</link>
            <guid isPermaLink="true">https://viblo.asia/p/nodejs-ngay-3-tao-oauth-authentication-middleware-zOQJwPKNLMP</guid>
            <description><![CDATA[Mục tiêu tạo middleware
*     Đọc token từ Authorization: Bearer <idToken>
*     Xác minh với Firebase Admin SDK\
*     Gắn thông tin người dùng vào r...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johny Bùi</dc:creator>
            <pubDate>2025-06-25 19:35:15</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[NodeJS Ngày 2 - Tích hợp OAuth vào tính năng đăng ký-đăng nhập]]></title>
                        <link>https://viblo.asia/p/nodejs-ngay-2-tich-hop-oauth-vao-tinh-nang-dang-ky-dang-nhap-qPoL7KkeLvk</link>
            <guid isPermaLink="true">https://viblo.asia/p/nodejs-ngay-2-tich-hop-oauth-vao-tinh-nang-dang-ky-dang-nhap-qPoL7KkeLvk</guid>
            <description><![CDATA[Hiện nay, OAuth là một tính năng hết sức cơ bản cho những ứng dụng web. Vì vậy việc tìm hiểu các bước tích hợp OAuth vào tính năng đăng ký-đăng nhập l...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johny Bùi</dc:creator>
            <pubDate>2025-06-25 17:34:08</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Những kiến thức cơ bản về NodeJS: Setter]]></title>
                        <link>https://viblo.asia/p/nhung-kien-thuc-co-ban-ve-nodejs-setter-PAoJeOP1V1j</link>
            <guid isPermaLink="true">https://viblo.asia/p/nhung-kien-thuc-co-ban-ve-nodejs-setter-PAoJeOP1V1j</guid>
            <description><![CDATA[Hãy tưởng tượng một ứng dụng thương mại điện tử phức tạp, nơi mà giá sản phẩm được tính toán động dựa trên vai trò người dùng, chương trình khuyến mãi...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thái Thịnh</dc:creator>
            <pubDate>2025-06-25 11:01:02</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[UrCheckin] Chuyện gì đến cũng sẽ tới  (3/3)]]></title>
                        <link>https://viblo.asia/p/urcheckin-chuyen-gi-den-cung-se-toi-33-m2vJP86KJeK</link>
            <guid isPermaLink="true">https://viblo.asia/p/urcheckin-chuyen-gi-den-cung-se-toi-33-m2vJP86KJeK</guid>
            <description><![CDATA[Phần 1: [UrCheckin] Tự động hóa chấm công trên ứng dụng Base  (1/3)

Phần 2: [UrCheckin] Tích hợp AI để chấm công tự động trên ứng dụng Base  (2/3)

P...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Đông Trần</dc:creator>
            <pubDate>2025-05-31 21:36:03</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cách làm sạch File CSV, Excel và JSON lộn xộn trong Node.js]]></title>
                        <link>https://viblo.asia/p/cach-lam-sach-file-csv-excel-va-json-lon-xon-trong-nodejs-qPoL7KN2Lvk</link>
            <guid isPermaLink="true">https://viblo.asia/p/cach-lam-sach-file-csv-excel-va-json-lon-xon-trong-nodejs-qPoL7KN2Lvk</guid>
            <description><![CDATA[Nếu bạn đang phát triển một ứng dụng Node.js xử lý các file tải lên như CSV hoặc Excel, chắc chắn bạn đã từng gặp phải những dữ liệu lộn xộn. Dưới đây...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thái Thịnh</dc:creator>
            <pubDate>2025-05-28 10:18:42</pubDate>
                                                                                                        </item>
            </channel>
</rss>
