<?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>Newest - Viblo</title>
        <link>https://viblo.asia/rss</link>
        <description><![CDATA[Free service for technical knowledge sharing]]></description>
        <atom:link href="https://viblo.asia/rss/posts/newest.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>Newest - Viblo</title>
            <link>https://viblo.asia/rss</link>
        </image>
                                <language>vi-vn</language>
        <lastBuildDate>2026-10-25T15:24:08+07:00</lastBuildDate>
                <item>
            <title><![CDATA[Đồng bộ hreflang cho site tĩnh 13 ngôn ngữ khi bản dịch còn viết dở: loại file chưa commit bằng git]]></title>
                        <link>https://viblo.asia/p/dong-bo-hreflang-cho-site-tinh-13-ngon-ngu-khi-ban-dich-con-viet-do-loai-file-chua-commit-bang-git-yZJZlRrGVjm</link>
            <guid isPermaLink="true">https://viblo.asia/p/dong-bo-hreflang-cho-site-tinh-13-ngon-ngu-khi-ban-dich-con-viet-do-loai-file-chua-commit-bang-git-yZJZlRrGVjm</guid>
            <description><![CDATA[Mình là Ayumu Kitabayashi, người phát triển ứng dụng iPhone minulo. Trang web của app (minulo.app) là site tĩnh viết tay bằng HTML, có 13 ngôn ngữ, ch...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ayumu kitabayashi</dc:creator>
            <pubDate>2026-10-25 14:47:18</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bài học khi tự động hóa việc tìm khách hàng trong phần bình luận mạng xã hội]]></title>
                        <link>https://viblo.asia/p/bai-hoc-khi-tu-dong-hoa-viec-tim-khach-hang-trong-phan-binh-luan-mang-xa-hoi-OQJwzOqO4MP</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-hoc-khi-tu-dong-hoa-viec-tim-khach-hang-trong-phan-binh-luan-mang-xa-hoi-OQJwzOqO4MP</guid>
            <description><![CDATA[Với các cửa hàng nhỏ, khách hàng thường hỏi ngay trong phần bình luận Facebook, YouTube, Instagram. Tìm ra những bình luận đó không khó; khó là trả lờ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Garry G</dc:creator>
            <pubDate>2026-10-25 13:52:05</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Playwright TypeScript cho người mới: từ cài đặt đến Page Object, fixture và test data-driven]]></title>
                        <link>https://viblo.asia/p/playwright-typescript-cho-nguoi-moi-tu-cai-dat-den-page-object-fixture-va-test-data-driven-vbLbjRGpLnk</link>
            <guid isPermaLink="true">https://viblo.asia/p/playwright-typescript-cho-nguoi-moi-tu-cai-dat-den-page-object-fixture-va-test-data-driven-vbLbjRGpLnk</guid>
            <description><![CDATA[Nếu bạn là tester manual muốn chuyển sang automation, hoặc dev muốn viết E2E test cho dự án, Playwright là lựa chọn rất dễ bắt đầu: cài một lệnh, tự c...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Siêng Studio</dc:creator>
            <pubDate>2026-10-25 13:32:18</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Viết test case cho form nhập liệu: giá trị biên, định dạng, tiếng Việt có dấu, XSS và số điện thoại +84]]></title>
                        <link>https://viblo.asia/p/viet-test-case-cho-form-nhap-lieu-gia-tri-bien-dinh-dang-tieng-viet-co-dau-xss-va-so-dien-thoai-84-18J2eODE4YK</link>
            <guid isPermaLink="true">https://viblo.asia/p/viet-test-case-cho-form-nhap-lieu-gia-tri-bien-dinh-dang-tieng-viet-co-dau-xss-va-so-dien-thoai-84-18J2eODE4YK</guid>
            <description><![CDATA[Form là nơi người dùng đưa dữ liệu vào hệ thống, nên cũng là nơi bug hay nằm nhất. Một form đăng ký chỉ có 5 trường nhưng nếu test kỹ thì dễ ra 40-50 ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Siêng Studio</dc:creator>
            <pubDate>2026-10-25 13:31:27</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bài 1: Tại sao cần Service Discovery và các mô hình cốt lõi]]></title>
                        <link>https://viblo.asia/p/bai-1-tai-sao-can-service-discovery-va-cac-mo-hinh-cot-loi-ZoJjeQk24Y7</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-1-tai-sao-can-service-discovery-va-cac-mo-hinh-cot-loi-ZoJjeQk24Y7</guid>
            <description><![CDATA[Trong kiến trúc Monolith (nguyên khối), mọi module của ứng dụng chạy chung trong một tiến trình duy nhất. Khi module A muốn gọi module B, nó chỉ đơn g...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-25 12:16:28</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[JDBC bài 8 Kỹ thuật Create: Thêm dữ liệu mới và lấy lại ID tự tăng (Generated Keys)]]></title>
                        <link>https://viblo.asia/p/jdbc-bai-8-ky-thuat-create-them-du-lieu-moi-va-lay-lai-id-tu-tang-generated-keys-oW4oeAYlLml</link>
            <guid isPermaLink="true">https://viblo.asia/p/jdbc-bai-8-ky-thuat-create-them-du-lieu-moi-va-lay-lai-id-tu-tang-generated-keys-oW4oeAYlLml</guid>
            <description><![CDATA[Trong các hệ thống quản trị cơ sở dữ liệu như MySQL hay PostgreSQL, khóa chính (Primary Key) thường được thiết lập chế độ tự động tăng (AUTO_INCREMENT...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-25 10:44:48</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Khắc Phục Đòn Chí Mạng Recursive CTE: Cây Bình Luận Base32 Materialized Path &amp; Bitmask RBAC Trong PostgreSQL 17]]></title>
                        <link>https://viblo.asia/p/khac-phuc-don-chi-mang-recursive-cte-cay-binh-luan-base32-materialized-path-bitmask-rbac-trong-postgresql-17-K9Vy8Oq5LQR</link>
            <guid isPermaLink="true">https://viblo.asia/p/khac-phuc-don-chi-mang-recursive-cte-cay-binh-luan-base32-materialized-path-bitmask-rbac-trong-postgresql-17-K9Vy8Oq5LQR</guid>
            <description><![CDATA[Khi xây dựng các nền tảng mạng xã hội hoặc cộng đồng trực tuyến quy mô lớn, có hai câu truy vấn cơ sở dữ liệu xuất hiện trên hầu như mọi yêu cầu HTTP:...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dương Phúc Khánh</dc:creator>
            <pubDate>2026-10-25 10:00:59</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Giải Phẫu Sự Cố Cloudflare Edge &amp; Next.js 16: Triệt Tiêu Thảm Họa RSC Flight Payload Cache Poisoning]]></title>
                        <link>https://viblo.asia/p/giai-phau-su-co-cloudflare-edge-nextjs-16-triet-tieu-tham-hoa-rsc-flight-payload-cache-poisoning-wd43Ex5QLX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/giai-phau-su-co-cloudflare-edge-nextjs-16-triet-tieu-tham-hoa-rsc-flight-payload-cache-poisoning-wd43Ex5QLX9</guid>
            <description><![CDATA[Đúng 09:14 sáng một ngày đầu tuần, kênh hỗ trợ khách hàng của hệ thống tiếp nhận hàng loạt phản ánh khẩn cấp từ người dùng:

"Ứng dụng trên iPhone khô...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dương Phúc Khánh</dc:creator>
            <pubDate>2026-10-25 10:00:54</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Kiến trúc Redis/Valkey Bitmap 46 Bytes: Xây dựng O(1) Streak Engine &amp; Khử Sạch N+1 Query SQL]]></title>
                        <link>https://viblo.asia/p/kien-truc-redisvalkey-bitmap-46-bytes-xay-dung-o1-streak-engine-khu-sach-n1-query-sql-y0VGwWqYVPA</link>
            <guid isPermaLink="true">https://viblo.asia/p/kien-truc-redisvalkey-bitmap-46-bytes-xay-dung-o1-streak-engine-khu-sach-n1-query-sql-y0VGwWqYVPA</guid>
            <description><![CDATA[Đúng 06:00 sáng mỗi ngày, hàng ngàn vận động viên thể hình calisthenics mở ứng dụng luyện tập trên điện thoại. Mỗi người dùng đều kỳ vọng nhìn thấy ng...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dương Phúc Khánh</dc:creator>
            <pubDate>2026-10-25 09:59:59</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Postmortem Production] Giải phẫu cú lừa HTTP 304 Not Modified &amp; SingleFlight Cache Race làm 'bốc hơi' dữ liệu PWA]]></title>
                        <link>https://viblo.asia/p/postmortem-production-giai-phau-cu-lua-http-304-not-modified-singleflight-cache-race-lam-boc-hoi-du-lieu-pwa-PoL7eOPj4vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/postmortem-production-giai-phau-cu-lua-http-304-not-modified-singleflight-cache-race-lam-boc-hoi-du-lieu-pwa-PoL7eOPj4vk</guid>
            <description><![CDATA[1. Bối cảnh thực tế 08:30 sáng: "Ủa em vừa bấm Vào ca xong sao màn hình lại bắt bấm lại?"

Đúng 08:30 sáng tại chuỗi cửa hàng bán lẻ, hàng chục nhân v...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dương Phúc Khánh</dc:creator>
            <pubDate>2026-10-25 09:58:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Case Study Production] Giải phẫu cơn bão Race Condition lúc 6h00 sáng &amp; cách gánh 1.100+ WAU trên VPS 8GB RAM bằng Valkey Distributed Lock]]></title>
                        <link>https://viblo.asia/p/case-study-production-giai-phau-con-bao-race-condition-luc-6h00-sang-cach-ganh-1100-wau-tren-vps-8gb-ram-bang-valkey-distributed-lock-13VM9dQDVY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/case-study-production-giai-phau-con-bao-race-condition-luc-6h00-sang-cach-ganh-1100-wau-tren-vps-8gb-ram-bang-valkey-distributed-lock-13VM9dQDVY7</guid>
            <description><![CDATA[1. Bối cảnh thực tế: Cơn bão Check-in lúc 06:00 sáng

Đúng 06:00 sáng mỗi ngày tại Đà Nẵng, hàng trăm vận động viên trên nền tảng Winter Arc PWA đồng ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dương Phúc Khánh</dc:creator>
            <pubDate>2026-10-25 09:57:42</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Vì sao sitemap của mình liệt kê 23 URL hai lần: một regex chỉ khớp đúng hai dấu cách]]></title>
                        <link>https://viblo.asia/p/vi-sao-sitemap-cua-minh-liet-ke-23-url-hai-lan-mot-regex-chi-khop-dung-hai-dau-cach-lZL9XOjeJQK</link>
            <guid isPermaLink="true">https://viblo.asia/p/vi-sao-sitemap-cua-minh-liet-ke-23-url-hai-lan-mot-regex-chi-khop-dung-hai-dau-cach-lZL9XOjeJQK</guid>
            <description><![CDATA[Mình là Ayumu Kitabayashi, người làm minulo, một app cho iPhone. Website của app là minulo.app, một trang tĩnh có 13 ngôn ngữ, chạy trên GitHub Pages....]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ayumu kitabayashi</dc:creator>
            <pubDate>2026-10-25 09:48:00</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Greenplum Database Bài học 19: Tại sao INSERT INTO truyền thống là kẻ thù của hiệu năng trong MPP?]]></title>
                        <link>https://viblo.asia/p/greenplum-database-bai-hoc-19-tai-sao-insert-into-truyen-thong-la-ke-thu-cua-hieu-nang-trong-mpp-wd43ExWjLX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/greenplum-database-bai-hoc-19-tai-sao-insert-into-truyen-thong-la-ke-thu-cua-hieu-nang-trong-mpp-wd43ExWjLX9</guid>
            <description><![CDATA[Ở Phần 2, chúng ta đã học cách thiết kế những bảng dữ liệu tối ưu nhất bên trong cụm Greenplum: từ chiến lược phân phối DISTRIBUTED BY, mô hình lưu tr...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Hoang</dc:creator>
            <pubDate>2026-10-25 07:40:21</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Greenplum Database Bài học 18: Polymorphic Storage: Kết hợp Hot Data (Heap/SSD) và Cold Data (AOCO/Nén cao) trên cùng một bảng]]></title>
                        <link>https://viblo.asia/p/greenplum-database-bai-hoc-18-polymorphic-storage-ket-hop-hot-data-heapssd-va-cold-data-aoconen-cao-tren-cung-mot-bang-y0VGwW57VPA</link>
            <guid isPermaLink="true">https://viblo.asia/p/greenplum-database-bai-hoc-18-polymorphic-storage-ket-hop-hot-data-heapssd-va-cold-data-aoconen-cao-tren-cung-mot-bang-y0VGwW57VPA</guid>
            <description><![CDATA[Qua các bài học từ 13 đến 17, chúng ta đã khám phá các mô hình lưu trữ đa dạng trong Greenplum: từ Heap Tables linh hoạt cho OLTP, Append-Optimized (A...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Hoang</dc:creator>
            <pubDate>2026-10-25 07:40:15</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Greenplum Database Bài học 17: Multi-level Partitioning &amp; Quản lý vòng đời dữ liệu: Tự động hóa cắt/gộp phân vùng]]></title>
                        <link>https://viblo.asia/p/greenplum-database-bai-hoc-17-multi-level-partitioning-quan-ly-vong-doi-du-lieu-tu-dong-hoa-catgop-phan-vung-PoL7eOA24vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/greenplum-database-bai-hoc-17-multi-level-partitioning-quan-ly-vong-doi-du-lieu-tu-dong-hoa-catgop-phan-vung-PoL7eOA24vk</guid>
            <description><![CDATA[Ở Bài học 16, chúng ta đã nắm bắt cách sử dụng Range Partitioning để cắt nhỏ bảng theo thời gian (createdat), giúp bộ tối ưu hóa GPORCA loại bỏ hàng l...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Hoang</dc:creator>
            <pubDate>2026-10-25 07:40:04</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Greenplum Database Bài học 16: Thiết kế Partitioning (Phân vùng bảng): Chiến lược Range và List Partitioning cho dữ liệu Time-Series]]></title>
                        <link>https://viblo.asia/p/greenplum-database-bai-hoc-16-thiet-ke-partitioning-phan-vung-bang-chien-luoc-range-va-list-partitioning-cho-du-lieu-time-series-13VM9dX8VY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/greenplum-database-bai-hoc-16-thiet-ke-partitioning-phan-vung-bang-chien-luoc-range-va-list-partitioning-cho-du-lieu-time-series-13VM9dX8VY7</guid>
            <description><![CDATA[Trong các bài học trước, chúng ta đã biết cách phân phối dữ liệu ngang hàng qua các Segment bằng DISTRIBUTED BY và tối ưu hóa lưu trữ bên trong từng S...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Hoang</dc:creator>
            <pubDate>2026-10-25 07:39:57</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Trino SQL Bài học 35: Nhóm dữ liệu phức hợp với kiểu dữ liệu ROW]]></title>
                        <link>https://viblo.asia/p/trino-sql-bai-hoc-35-nhom-du-lieu-phuc-hop-voi-kieu-du-lieu-row-K9Vy8OmXLQR</link>
            <guid isPermaLink="true">https://viblo.asia/p/trino-sql-bai-hoc-35-nhom-du-lieu-phuc-hop-voi-kieu-du-lieu-row-K9Vy8OmXLQR</guid>
            <description><![CDATA[Mục tiêu bài học:

-   Hiểu bản chất của kiểu dữ liệu ROW (tương đương với Struct/Record trong lập trình).

-   Phân biệt rạch ròi giới hạn của MAP và...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-25 07:38:41</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Trino SQL Bài học 34: Khai phá và phân tích dữ liệu phi cấu trúc với kiểu JSON]]></title>
                        <link>https://viblo.asia/p/trino-sql-bai-hoc-34-khai-pha-va-phan-tich-du-lieu-phi-cau-truc-voi-kieu-json-wd43ExYwLX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/trino-sql-bai-hoc-34-khai-pha-va-phan-tich-du-lieu-phi-cau-truc-voi-kieu-json-wd43ExYwLX9</guid>
            <description><![CDATA[Mục tiêu bài học:

-   Hiểu cách Trino tiếp cận và xử lý định dạng JSON từ các nguồn dữ liệu phi cấu trúc (Log API, Tracking Events).

-   Nắm vững cú...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-25 07:38:32</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Trino SQL Bài học 33: Cấu trúc dữ liệu dạng Từ điển (MAP) (Key-Value)]]></title>
                        <link>https://viblo.asia/p/trino-sql-bai-hoc-33-cau-truc-du-lieu-dang-tu-dien-map-key-value-y0VGwWX0VPA</link>
            <guid isPermaLink="true">https://viblo.asia/p/trino-sql-bai-hoc-33-cau-truc-du-lieu-dang-tu-dien-map-key-value-y0VGwWX0VPA</guid>
            <description><![CDATA[Mục tiêu bài học:

-   Hiểu bản chất lưu trữ cặp Khóa - Giá trị (Key-Value) của kiểu dữ liệu MAP.

-   So sánh sự khác biệt về tính "Kiểu tĩnh" (Stron...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-25 07:38:21</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cấu trúc dữ liệu và Giải thuật Bài 83: Skip List - Danh sách liên kết nhảy cóc, sức mạnh xác suất thay thế Cây nhị phân cân bằng.]]></title>
                        <link>https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-83-skip-list-danh-sach-lien-ket-nhay-coc-suc-manh-xac-suat-thay-the-cay-nhi-phan-can-bang-OXLA0W0ZJGr</link>
            <guid isPermaLink="true">https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-83-skip-list-danh-sach-lien-ket-nhay-coc-suc-manh-xac-suat-thay-the-cay-nhi-phan-can-bang-OXLA0W0ZJGr</guid>
            <description><![CDATA[Khi thiết kế các hệ thống cơ sở dữ liệu trên RAM (In-memory Database), lập trình viên luôn khao khát một cấu trúc dữ liệu có thể Duyệt (Traverse), Tìm...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-25 07:36:53</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cấu trúc dữ liệu và Giải thuật Bài 82: Count-Min Sketch - Đếm tần suất phần tử (Frequency) trên luồng dữ liệu khổng lồ.]]></title>
                        <link>https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-82-count-min-sketch-dem-tan-suat-phan-tu-frequency-tren-luong-du-lieu-khong-lo-kNLr3e3qVgA</link>
            <guid isPermaLink="true">https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-82-count-min-sketch-dem-tan-suat-phan-tu-frequency-tren-luong-du-lieu-khong-lo-kNLr3e3qVgA</guid>
            <description><![CDATA[Ở các bài trước, chúng ta đã giải quyết bài toán "Tồn tại hay không?" (Bloom Filter) và "Có bao nhiêu phần tử độc lập?" (HyperLogLog). Trong hệ thống ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-25 07:36:46</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cấu trúc dữ liệu và Giải thuật Bài 81: HyperLogLog - Cấu trúc dữ liệu xác suất đếm số lượng phần tử độc lập (Cardinality) trên luồng dữ liệu khổng lồ.]]></title>
                        <link>https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-81-hyperloglog-cau-truc-du-lieu-xac-suat-dem-so-luong-phan-tu-doc-lap-cardinality-tren-luong-du-lieu-khong-lo-pPLkNQNDJRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-81-hyperloglog-cau-truc-du-lieu-xac-suat-dem-so-luong-phan-tu-doc-lap-cardinality-tren-luong-du-lieu-khong-lo-pPLkNQNDJRZ</guid>
            <description><![CDATA[Ở Bài 80, Bloom Filter đã giúp chúng ta giải quyết câu hỏi "Có hay Không?" (Membership) với bộ nhớ cực nhỏ. Nhưng khi vận hành các hệ thống Big Data t...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-25 07:36:20</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Chuyện gì xảy ra khi bạn cho một nhân vật AI có trí nhớ?]]></title>
                        <link>https://viblo.asia/p/chuyen-gi-xay-ra-khi-ban-cho-mot-nhan-vat-ai-co-tri-nho-kNLr3ePWVgA</link>
            <guid isPermaLink="true">https://viblo.asia/p/chuyen-gi-xay-ra-khi-ban-cho-mot-nhan-vat-ai-co-tri-nho-kNLr3ePWVgA</guid>
            <description><![CDATA[Giới thiệu AgentVerse: tạo những xã hội nhỏ gồm các nhân vật AI biết nhớ, biết lập kế hoạch và biết suy ngẫm. Xem họ sống một ngày của mình, rồi bước ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tran Quoc Sang</dc:creator>
            <pubDate>2026-10-25 01:38:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Hướng dẫn viết CLAUDE.md để Claude Code hiểu đúng dự án của bạn]]></title>
                        <link>https://viblo.asia/p/huong-dan-viet-claudemd-de-claude-code-hieu-dung-du-an-cua-ban-1QLxnORx4Aw</link>
            <guid isPermaLink="true">https://viblo.asia/p/huong-dan-viet-claudemd-de-claude-code-hieu-dung-du-an-cua-ban-1QLxnORx4Aw</guid>
            <description><![CDATA[Mình là Tony, hiện làm và vận hành các sản phẩm web, sử dụng Claude Code làm công cụ phát triển chính hằng ngày. Khi đưa coding agent vào một repo đã ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Toan Bui</dc:creator>
            <pubDate>2026-10-24 23:58:37</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bài 13: Monitoring &amp; Best Practices - Giám sát hệ thống và Anti-patterns]]></title>
                        <link>https://viblo.asia/p/bai-13-monitoring-best-practices-giam-sat-he-thong-va-anti-patterns-ZjJYWPpbVOE</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-13-monitoring-best-practices-giam-sat-he-thong-va-anti-patterns-ZjJYWPpbVOE</guid>
            <description><![CDATA[Mục tiêu bài học:
*   Cấu hình giám sát (Observability) và theo dõi các chỉ số quan trọng của go-redis.
*   Nắm vững cách bắt log các truy vấn chậm (S...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-24 23:07:23</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Greenplum Database Bài học 15: Kỹ thuật nén dữ liệu (Compression): So sánh ZSTD, QuickLZ và Zlib trên bảng Columnar]]></title>
                        <link>https://viblo.asia/p/greenplum-database-bai-hoc-15-ky-thuat-nen-du-lieu-compression-so-sanh-zstd-quicklz-va-zlib-tren-bang-columnar-lZL9XOzbJQK</link>
            <guid isPermaLink="true">https://viblo.asia/p/greenplum-database-bai-hoc-15-ky-thuat-nen-du-lieu-compression-so-sanh-zstd-quicklz-va-zlib-tren-bang-columnar-lZL9XOzbJQK</guid>
            <description><![CDATA[Ở Bài học 14, chúng ta đã mở cánh cửa đến với mô hình lưu trữ hướng cột (AOCO - Append-Optimized Column-Oriented). Một trong những lý do lớn nhất khiế...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Hoang</dc:creator>
            <pubDate>2026-10-24 23:03:45</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Greenplum Database Bài học 14: Row-Oriented vs Column-Oriented (AOCO): Tối ưu hóa I/O cho các truy vấn tổng hợp (Aggregation)]]></title>
                        <link>https://viblo.asia/p/greenplum-database-bai-hoc-14-row-oriented-vs-column-oriented-aoco-toi-uu-hoa-io-cho-cac-truy-van-tong-hop-aggregation-oKLnqjWNJQO</link>
            <guid isPermaLink="true">https://viblo.asia/p/greenplum-database-bai-hoc-14-row-oriented-vs-column-oriented-aoco-toi-uu-hoa-io-cho-cac-truy-van-tong-hop-aggregation-oKLnqjWNJQO</guid>
            <description><![CDATA[Ở Bài học 13, chúng ta đã biết Append-Optimized (AO) Tables giúp giải quyết bài toán lưu trữ dữ liệu lịch sử khổng lồ nhờ cơ chế ghi tuần tự và nén dữ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Hoang</dc:creator>
            <pubDate>2026-10-24 23:03:39</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Greenplum Database Bài học 13: Heap Tables vs Append-Optimized (AO) Tables: Chọn mô hình lưu trữ cho OLTP hay OLAP?]]></title>
                        <link>https://viblo.asia/p/greenplum-database-bai-hoc-13-heap-tables-vs-append-optimized-ao-tables-chon-mo-hinh-luu-tru-cho-oltp-hay-olap-gdJzvOWjJz5</link>
            <guid isPermaLink="true">https://viblo.asia/p/greenplum-database-bai-hoc-13-heap-tables-vs-append-optimized-ao-tables-chon-mo-hinh-luu-tru-cho-oltp-hay-olap-gdJzvOWjJz5</guid>
            <description><![CDATA[Ở các bài học trước, chúng ta đã giải quyết bài toán rải dữ liệu xuống các Segment bằng chiến lược phân phối (DISTRIBUTED BY). Tuy nhiên, câu hỏi tiếp...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Hoang</dc:creator>
            <pubDate>2026-10-24 23:03:30</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Greenplum Database Bài học 12: Data Skew (Lệch dữ liệu): Cách phát hiện các Segment bị quá tải và kỹ thuật xử lý triệt để]]></title>
                        <link>https://viblo.asia/p/greenplum-database-bai-hoc-12-data-skew-lech-du-lieu-cach-phat-hien-cac-segment-bi-qua-tai-va-ky-thuat-xu-ly-triet-de-bA4680rDLKv</link>
            <guid isPermaLink="true">https://viblo.asia/p/greenplum-database-bai-hoc-12-data-skew-lech-du-lieu-cach-phat-hien-cac-segment-bi-qua-tai-va-ky-thuat-xu-ly-triet-de-bA4680rDLKv</guid>
            <description><![CDATA[Qua các bài học trước, chúng ta đã biết sức mạnh của kiến trúc MPP đến từ việc chia nhỏ dữ liệu và tính toán song song trên hàng chục Segment. Tuy nhi...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Hoang</dc:creator>
            <pubDate>2026-10-24 23:03:24</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Trino SQL Bài học 32: Xử lý mảng nâng cao với Lambda Functions (FILTER, REDUCE, TRANSFORM)]]></title>
                        <link>https://viblo.asia/p/trino-sql-bai-hoc-32-xu-ly-mang-nang-cao-voi-lambda-functions-filter-reduce-transform-PoL7eOmk4vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/trino-sql-bai-hoc-32-xu-ly-mang-nang-cao-voi-lambda-functions-filter-reduce-transform-PoL7eOmk4vk</guid>
            <description><![CDATA[Mục tiêu bài học:

-   Hiểu và viết được cú pháp Lambda (Hàm ẩn danh) trực tiếp trong SQL.

-   Áp dụng tư duy lập trình hàm (Functional Programming) ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-24 23:02:08</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Trino SQL Bài học 31: Khai phá và chuẩn hóa cấu trúc mảng với UNNEST]]></title>
                        <link>https://viblo.asia/p/trino-sql-bai-hoc-31-khai-pha-va-chuan-hoa-cau-truc-mang-voi-unnest-3RL1Bl57Vao</link>
            <guid isPermaLink="true">https://viblo.asia/p/trino-sql-bai-hoc-31-khai-pha-va-chuan-hoa-cau-truc-mang-voi-unnest-3RL1Bl57Vao</guid>
            <description><![CDATA[Mục tiêu bài học:

-   Hiểu khái niệm "làm phẳng" (Flattening) dữ liệu từ cấu trúc mảng thành các dòng vật lý độc lập.

-   Sử dụng cú pháp CROSS JOIN...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-24 23:02:02</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Trino SQL Bài học 30: Giới thiệu và khởi tạo kiểu dữ liệu mảng (ARRAY)]]></title>
                        <link>https://viblo.asia/p/trino-sql-bai-hoc-30-gioi-thieu-va-khoi-tao-kieu-du-lieu-mang-array-AoJe8jeA41j</link>
            <guid isPermaLink="true">https://viblo.asia/p/trino-sql-bai-hoc-30-gioi-thieu-va-khoi-tao-kieu-du-lieu-mang-array-AoJe8jeA41j</guid>
            <description><![CDATA[Mục tiêu bài học:

-   Phá vỡ giới hạn của dữ liệu dạng bảng phẳng (Flat Table) bằng việc lưu trữ nhiều giá trị trong cùng một ô (cell).

-   Nắm vững...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-24 23:01:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Trino SQL Bài học 29: Window Functions: Định nghĩa khung tính toán (Window Frames - ROWS, RANGE)]]></title>
                        <link>https://viblo.asia/p/trino-sql-bai-hoc-29-window-functions-dinh-nghia-khung-tinh-toan-window-frames-rows-range-k74a9WZA4eO</link>
            <guid isPermaLink="true">https://viblo.asia/p/trino-sql-bai-hoc-29-window-functions-dinh-nghia-khung-tinh-toan-window-frames-rows-range-k74a9WZA4eO</guid>
            <description><![CDATA[Mục tiêu bài học:

-   Hiểu được cơ chế "Cửa sổ trượt" (Sliding Window) bên trong một phân vùng (Partition).

-   Phân biệt sự khác biệt cốt lõi giữa ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-24 23:01:46</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cấu trúc dữ liệu và Giải thuật Bài 80: Bloom Filter - Cấu trúc xác suất lọc dữ liệu siêu tốc bảo vệ LSM-Tree.]]></title>
                        <link>https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-80-bloom-filter-cau-truc-xac-suat-loc-du-lieu-sieu-toc-bao-ve-lsm-tree-Nj4vgOgqJ6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-80-bloom-filter-cau-truc-xac-suat-loc-du-lieu-sieu-toc-bao-ve-lsm-tree-Nj4vgOgqJ6r</guid>
            <description><![CDATA[Ở Bài 79, chúng ta đã thấy LSM-Tree hi sinh tốc độ Đọc (Read) để đổi lấy tốc độ Ghi (Write) vô song. Khi bạn truy vấn một từ khóa (Key), LSM-Tree phải...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-24 23:00:27</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cấu trúc dữ liệu và Giải thuật Bài 79: LSM-Tree (Log-Structured Merge-Tree) - Động cơ lưu trữ cho các hệ thống NoSQL Write-Heavy.]]></title>
                        <link>https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-79-lsm-tree-log-structured-merge-tree-dong-co-luu-tru-cho-cac-he-thong-nosql-write-heavy-ymJXDZDaJkq</link>
            <guid isPermaLink="true">https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-79-lsm-tree-log-structured-merge-tree-dong-co-luu-tru-cho-cac-he-thong-nosql-write-heavy-ymJXDZDaJkq</guid>
            <description><![CDATA[B+ Tree (Bài 78) là vị vua tuyệt đối của các cơ sở dữ liệu quan hệ (RDBMS) nhờ khả năng cân bằng hoàn hảo giữa tốc độ Đọc và Ghi. Tuy nhiên, khi hệ th...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-24 23:00:21</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[AI-Native Security: Xây dựng hệ thống phòng thủ chủ động trong kỷ nguyên AI]]></title>
                        <link>https://viblo.asia/p/ai-native-security-xay-dung-he-thong-phong-thu-chu-dong-trong-ky-nguyen-ai-XP4WEZpxL7G</link>
            <guid isPermaLink="true">https://viblo.asia/p/ai-native-security-xay-dung-he-thong-phong-thu-chu-dong-trong-ky-nguyen-ai-XP4WEZpxL7G</guid>
            <description><![CDATA[1. Khi AI thay đổi cán cân giữa attacker và defender

Trong nhiều năm, quy trình bảo mật phần mềm thường dựa trên một mô hình tương đối quen thuộc: de...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Hưng Phạm</dc:creator>
            <pubDate>2026-10-24 23:00:08</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cấu trúc dữ liệu và Giải thuật Bài 78: B-Tree và B+ Tree - Trái tim của mọi Hệ quản trị Cơ sở dữ liệu (DBMS).]]></title>
                        <link>https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-78-b-tree-va-b-tree-trai-tim-cua-moi-he-quan-tri-co-so-du-lieu-dbms-1j4lQ1QWJwl</link>
            <guid isPermaLink="true">https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-78-b-tree-va-b-tree-trai-tim-cua-moi-he-quan-tri-co-so-du-lieu-dbms-1j4lQ1QWJwl</guid>
            <description><![CDATA[Trong suốt 77 bài học qua, chúng ta đã xây dựng vô số cấu trúc dữ liệu chạy trên RAM (Bộ nhớ trong). RAM có tốc độ truy xuất cực nhanh và cho phép nhả...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-24 23:00:04</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Đọc mã QR trên máy tính với QR Code Scanner for PC]]></title>
                        <link>https://viblo.asia/p/doc-ma-qr-tren-may-tinh-voi-qr-code-scanner-for-pc-bNVQGpX2JvR</link>
            <guid isPermaLink="true">https://viblo.asia/p/doc-ma-qr-tren-may-tinh-voi-qr-code-scanner-for-pc-bNVQGpX2JvR</guid>
            <description><![CDATA[Đọc mã QR ngay trên máy tính: trải nghiệm với công cụ mã nguồn mở “QR Code Scanner for PC”
Mở đầu: buổi họp online và chiếc điện thoại “bất lực”

Tuần...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">swiftorcaplug</dc:creator>
            <pubDate>2026-10-24 19:38:03</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Series Java Swing Bài 7: BorderLayout: Chia cửa sổ thành 5 vùng không gian chuẩn.]]></title>
                        <link>https://viblo.asia/p/series-java-swing-bai-7-borderlayout-chia-cua-so-thanh-5-vung-khong-gian-chuan-gdJzvPl9Jz5</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-java-swing-bai-7-borderlayout-chia-cua-so-thanh-5-vung-khong-gian-chuan-gdJzvPl9Jz5</guid>
            <description><![CDATA[BorderLayout là một trong những Layout Manager quyền lực và được sử dụng nhiều nhất trong Java Swing. Khác với sự tự do của FlowLayout, BorderLayout c...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-24 19:20:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Project tạo bằng Cursor, Lovable hay Bolt không chạy? Bắt đầu từ đâu]]></title>
                        <link>https://viblo.asia/p/project-tao-bang-cursor-lovable-hay-bolt-khong-chay-bat-dau-tu-dau-wd43ExbQLX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/project-tao-bang-cursor-lovable-hay-bolt-khong-chay-bat-dau-tu-dau-wd43ExbQLX9</guid>
            <description><![CDATA[Ghi chú minh bạch: bài này là bản tóm tắt/dịch từ một hướng dẫn trên blog của tôi, thực hiện với sự hỗ trợ của AI. Hướng dẫn đầy đủ kèm FAQ được liên ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ofer Shapira</dc:creator>
            <pubDate>2026-10-24 18:54:38</pubDate>
                                                                                                        </item>
            </channel>
</rss>
