<?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-22T04:55:08+07:00</lastBuildDate>
                <item>
            <title><![CDATA[Vẽ 3 triệu điểm trên trình duyệt chỉ với 90 KB tải ban đầu: bản đồ ngữ nghĩa các kênh Telegram]]></title>
                        <link>https://viblo.asia/p/ve-3-trieu-diem-tren-trinh-duyet-chi-voi-90-kb-tai-ban-dau-ban-do-ngu-nghia-cac-kenh-telegram-G24B8WpBLz3</link>
            <guid isPermaLink="true">https://viblo.asia/p/ve-3-trieu-diem-tren-trinh-duyet-chi-voi-90-kb-tai-ban-dau-ban-do-ngu-nghia-cac-kenh-telegram-G24B8WpBLz3</guid>
            <description><![CDATA[Bài viết này chia sẻ cách chúng tôi xây dựng một bản đồ tương tác hiển thị 3 triệu kênh Telegram công khai ngay trong trình duyệt, và vẫn mở được tron...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tgscope</dc:creator>
            <pubDate>2026-10-22 03:56:28</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bài 10: Khóa phân tán (Distributed Lock) - Giải quyết Race Condition trong Microservices]]></title>
                        <link>https://viblo.asia/p/bai-10-khoa-phan-tan-distributed-lock-giai-quyet-race-condition-trong-microservices-RlL5ePkgLbB</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-10-khoa-phan-tan-distributed-lock-giai-quyet-race-condition-trong-microservices-RlL5ePkgLbB</guid>
            <description><![CDATA[Mục tiêu bài học:

-   Hiểu rõ bài toán Race Condition khi scale ứng dụng lên nhiều server (Microservices).

-   Nắm vững 3 nguyên tắc sống còn của mộ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 23:06:44</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Xóa thẻ HTML khỏi chuỗi trong JavaScript: đừng dùng regex, và cũng đừng dùng div]]></title>
                        <link>https://viblo.asia/p/xoa-the-html-khoi-chuoi-trong-javascript-dung-dung-regex-va-cung-dung-dung-div-OQJwzOE04MP</link>
            <guid isPermaLink="true">https://viblo.asia/p/xoa-the-html-khoi-chuoi-trong-javascript-dung-dung-regex-va-cung-dung-dung-div-OQJwzOE04MP</guid>
            <description><![CDATA[Thỉnh thoảng mình lại gặp một yêu cầu nghe rất đơn giản: lấy một đoạn HTML và trả về chữ thuần. Ví dụ trang danh sách bài viết cần hiển thị đoạn trích...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kevin BK</dc:creator>
            <pubDate>2026-10-21 23:01:34</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[# Bài 16 — Trang giỏ hàng &amp; đặt hàng]]></title>
                        <link>https://viblo.asia/p/bai-16-trang-gio-hang-dat-hang-PoL7ebNa4vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-16-trang-gio-hang-dat-hang-PoL7ebNa4vk</guid>
            <description><![CDATA[⬅️ Bài trước | Mục lục | Bài tiếp theo ➡️

 Mục tiêu

- Dựng bảng giỏ hàng: sửa số lượng, xóa sản phẩm, tính tổng tiền
- Dùng Modal của Bootstrap để n...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 22:06:12</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[# Bài 15 — Sắp xếp &amp; lọc sản phẩm (và sửa bug lớn nhất của dự án)]]></title>
                        <link>https://viblo.asia/p/bai-15-sap-xep-loc-san-pham-va-sua-bug-lon-nhat-cua-du-an-13VM936QVY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-15-sap-xep-loc-san-pham-va-sua-bug-lon-nhat-cua-du-an-13VM936QVY7</guid>
            <description><![CDATA[⬅️ Bài trước | Mục lục | Bài tiếp theo ➡️

 Mục tiêu

- Hoàn thiện sidebar: nút sắp xếp và ô lọc khoảng giá
- Mổ xẻ 3 bug thật trong Productlist của s...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 22:05:48</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[# Bài 14 — Lưu giỏ hàng khi F5 với redux-persist]]></title>
                        <link>https://viblo.asia/p/bai-14-luu-gio-hang-khi-f5-voi-redux-persist-lZL9XPRBJQK</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-14-luu-gio-hang-khi-f5-voi-redux-persist-lZL9XPRBJQK</guid>
            <description><![CDATA[⬅️ Bài trước | Mục lục | Bài tiếp theo ➡️

 Mục tiêu

- Hiểu vấn đề: state Redux mất khi tải lại trang
- Cấu hình redux-persist để lưu vào localStorag...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 22:05:37</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[# Bài 13 — Redux Toolkit &amp; giỏ hàng]]></title>
                        <link>https://viblo.asia/p/bai-13-redux-toolkit-gio-hang-oKLnqXwWJQO</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-13-redux-toolkit-gio-hang-oKLnqXwWJQO</guid>
            <description><![CDATA[⬅️ Bài trước | Mục lục | Bài tiếp theo ➡️

 Mục tiêu

- Hiểu vì sao cần Redux khi đã có useState
- Nắm 4 khái niệm: store, slice, action, reducer
- Vi...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 22:05:26</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Greenplum Database - Bài học 5: Interconnect Layer: Giao thức mạng nội bộ (UDP/TCP) giúp các Segment giao tiếp tốc độ cao]]></title>
                        <link>https://viblo.asia/p/greenplum-database-bai-hoc-5-interconnect-layer-giao-thuc-mang-noi-bo-udptcp-giup-cac-segment-giao-tiep-toc-do-cao-1QLxnOl04Aw</link>
            <guid isPermaLink="true">https://viblo.asia/p/greenplum-database-bai-hoc-5-interconnect-layer-giao-thuc-mang-noi-bo-udptcp-giup-cac-segment-giao-tiep-toc-do-cao-1QLxnOl04Aw</guid>
            <description><![CDATA[Ở các bài học trước, chúng ta đã biết dữ liệu của một bảng lớn được băm nhỏ và rải đều ra hàng chục đến hàng trăm Segments độc lập (Shared-Nothing). M...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Hoang</dc:creator>
            <pubDate>2026-10-21 21:53:17</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Greenplum Database - Bài học 4: Segment Instances (Primary &amp; Mirror): Nơi dữ liệu thực sự sống và cơ chế tự phục hồi]]></title>
                        <link>https://viblo.asia/p/greenplum-database-bai-hoc-4-segment-instances-primary-mirror-noi-du-lieu-thuc-su-song-va-co-che-tu-phuc-hoi-XP4WEZnqL7G</link>
            <guid isPermaLink="true">https://viblo.asia/p/greenplum-database-bai-hoc-4-segment-instances-primary-mirror-noi-du-lieu-thuc-su-song-va-co-che-tu-phuc-hoi-XP4WEZnqL7G</guid>
            <description><![CDATA[Ở Bài học 3, chúng ta đã khám phá "bộ não" Master Node (Coordinator) — nơi nắm giữ bản đồ toàn cục nhưng không lưu trữ bất kỳ một dòng dữ liệu người d...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Hoang</dc:creator>
            <pubDate>2026-10-21 21:53:09</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Greenplum Database - Bài học 3: Master Node (Coordinator) &amp; Standby Master: Bộ não điều phối truy vấn và quản lý Metadata]]></title>
                        <link>https://viblo.asia/p/greenplum-database-bai-hoc-3-master-node-coordinator-standby-master-bo-nao-dieu-phoi-truy-van-va-quan-ly-metadata-ym4002Aj491</link>
            <guid isPermaLink="true">https://viblo.asia/p/greenplum-database-bai-hoc-3-master-node-coordinator-standby-master-bo-nao-dieu-phoi-truy-van-va-quan-ly-metadata-ym4002Aj491</guid>
            <description><![CDATA[Ở Bài học 2, chúng ta đã biết một cụm Greenplum hoạt động theo mô hình "Chỉ huy và Quân đoàn". Trong đó, hàng chục đến hàng trăm Segment phía dưới gán...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Hoang</dc:creator>
            <pubDate>2026-10-21 21:53:02</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Greenplum Database - Bài học 2: Giải phẫu kiến trúc MPP (Massively Parallel Processing): Cách Greenplum chia để trị hàng tỷ bản ghi]]></title>
                        <link>https://viblo.asia/p/greenplum-database-bai-hoc-2-giai-phau-kien-truc-mpp-massively-parallel-processing-cach-greenplum-chia-de-tri-hang-ty-ban-ghi-AY4qQObK4Pw</link>
            <guid isPermaLink="true">https://viblo.asia/p/greenplum-database-bai-hoc-2-giai-phau-kien-truc-mpp-massively-parallel-processing-cach-greenplum-chia-de-tri-hang-ty-ban-ghi-AY4qQObK4Pw</guid>
            <description><![CDATA[Ở Bài học 1, chúng ta đã biết một máy chủ PostgreSQL đơn lẻ dù mạnh đến đâu cũng sẽ gục ngã trước bức tường băng thông ổ cứng (Disk I/O) khi phải quét...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Hoang</dc:creator>
            <pubDate>2026-10-21 21:52:56</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Greenplum Database - Bài học 1: Greenplum là gì? Tại sao PostgreSQL đơn lẻ không đủ cho bài toán Data Warehouse quy mô lớn?]]></title>
                        <link>https://viblo.asia/p/greenplum-database-bai-hoc-1-greenplum-la-gi-tai-sao-postgresql-don-le-khong-du-cho-bai-toan-data-warehouse-quy-mo-lon-bNVQGpvRJvR</link>
            <guid isPermaLink="true">https://viblo.asia/p/greenplum-database-bai-hoc-1-greenplum-la-gi-tai-sao-postgresql-don-le-khong-du-cho-bai-toan-data-warehouse-quy-mo-lon-bNVQGpvRJvR</guid>
            <description><![CDATA[Khi xây dựng các hệ thống phần mềm, hầu hết chúng ta đều bắt đầu với một cơ sở dữ liệu quan hệ (RDBMS) quen thuộc như PostgreSQL hoặc MySQL. Ở giai đo...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Hoang</dc:creator>
            <pubDate>2026-10-21 21:52:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Amazon Aurora MySQL Bài 33: Sử dụng AWS Schema Conversion Tool (SCT) khi chuyển đổi cơ sở dữ liệu sang Aurora MySQL]]></title>
                        <link>https://viblo.asia/p/amazon-aurora-mysql-bai-33-su-dung-aws-schema-conversion-tool-sct-khi-chuyen-doi-co-so-du-lieu-sang-aurora-mysql-kNLr3eEwVgA</link>
            <guid isPermaLink="true">https://viblo.asia/p/amazon-aurora-mysql-bai-33-su-dung-aws-schema-conversion-tool-sct-khi-chuyen-doi-co-so-du-lieu-sang-aurora-mysql-kNLr3eEwVgA</guid>
            <description><![CDATA[Ở Bài 32, chúng ta đã tìm hiểu cách di chuyển dữ liệu từ một hệ thống MySQL truyền thống sang Aurora MySQL thông qua DMS. Tuy nhiên, trong thực tế vận...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-21 21:51:43</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Amazon Aurora MySQL Bài 32: Chiến lược Migration dữ liệu không gián đoạn từ MySQL truyền thống sang Aurora MySQL]]></title>
                        <link>https://viblo.asia/p/amazon-aurora-mysql-bai-32-chien-luoc-migration-du-lieu-khong-gian-doan-tu-mysql-truyen-thong-sang-aurora-mysql-pPLkNQY2JRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/amazon-aurora-mysql-bai-32-chien-luoc-migration-du-lieu-khong-gian-doan-tu-mysql-truyen-thong-sang-aurora-mysql-pPLkNQY2JRZ</guid>
            <description><![CDATA[Khi công ty quyết định nâng cấp hệ thống từ cơ sở dữ liệu MySQL truyền thống (chạy trên EC2, RDS MySQL tiêu chuẩn, hoặc On-Premise) lên Amazon Aurora ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-21 21:51:33</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Amazon Aurora MySQL Bài 31: Cơ chế Automated Snapshots và Point-in-Time Recovery (PITR) trong Aurora MySQL]]></title>
                        <link>https://viblo.asia/p/amazon-aurora-mysql-bai-31-co-che-automated-snapshots-va-point-in-time-recovery-pitr-trong-aurora-mysql-Nj4vgOY3J6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/amazon-aurora-mysql-bai-31-co-che-automated-snapshots-va-point-in-time-recovery-pitr-trong-aurora-mysql-Nj4vgOY3J6r</guid>
            <description><![CDATA[Trong vận hành hệ thống production, việc thực hiện sao lưu dữ liệu (Backup) và khả năng khôi phục hệ thống về một thời điểm trong quá khứ (Point-in-Ti...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-21 21:51:26</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Amazon Aurora MySQL Bài 30: Tổng kết Module 3 &amp; Điểm chuẩn hiệu năng toàn diện trên Aurora MySQL]]></title>
                        <link>https://viblo.asia/p/amazon-aurora-mysql-bai-30-tong-ket-module-3-diem-chuan-hieu-nang-toan-dien-tren-aurora-mysql-wd43ExPrLX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/amazon-aurora-mysql-bai-30-tong-ket-module-3-diem-chuan-hieu-nang-toan-dien-tren-aurora-mysql-wd43ExPrLX9</guid>
            <description><![CDATA[Sau 10 bài học liên tục mổ xẻ từ tầng phần cứng (Buffer Pool, Cơ chế Storage Quorum) đến tầng phần mềm và ứng dụng (Advanced Query Optimization, Perfo...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-21 21:51:19</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Amazon Aurora MySQL Bài 29: Tối ưu hóa ghi dữ liệu Write-heavy: Batch Insert, Bulk Update và tối ưu hóa Transaction]]></title>
                        <link>https://viblo.asia/p/amazon-aurora-mysql-bai-29-toi-uu-hoa-ghi-du-lieu-write-heavy-batch-insert-bulk-update-va-toi-uu-hoa-transaction-y0VGwWY8VPA</link>
            <guid isPermaLink="true">https://viblo.asia/p/amazon-aurora-mysql-bai-29-toi-uu-hoa-ghi-du-lieu-write-heavy-batch-insert-bulk-update-va-toi-uu-hoa-transaction-y0VGwWY8VPA</guid>
            <description><![CDATA[Trong khi các bài trước tập trung chủ yếu vào việc tối ưu hóa tốc độ đọc (SELECT), thực tế vận hành tại các hệ thống thương mại điện tử lớn (như quản ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-21 21:51:13</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cấu trúc dữ liệu và Giải thuật Bài 58: Cây Phân Đoạn (Segment Tree) - Xử lý truy vấn khoảng dữ liệu (Range Queries) siêu tốc.]]></title>
                        <link>https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-58-cay-phan-doan-segment-tree-xu-ly-truy-van-khoang-du-lieu-range-queries-sieu-toc-yZJZlRllVjm</link>
            <guid isPermaLink="true">https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-58-cay-phan-doan-segment-tree-xu-ly-truy-van-khoang-du-lieu-range-queries-sieu-toc-yZJZlRllVjm</guid>
            <description><![CDATA[Bước sang Chương 12 với các cấu trúc dữ liệu nâng cao, chúng ta đối mặt với một bài toán kinh điển trong các hệ thống phân tích dữ liệu thời gian thực...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 21:49:08</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cấu trúc dữ liệu và Giải thuật Bài 57: Băm nhất quán (Consistent Hashing) - Cân bằng tải và phân phối dữ liệu trong hệ thống phân tán.]]></title>
                        <link>https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-57-bam-nhat-quan-consistent-hashing-can-bang-tai-va-phan-phoi-du-lieu-trong-he-thong-phan-tan-OQJwzOzg4MP</link>
            <guid isPermaLink="true">https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-57-bam-nhat-quan-consistent-hashing-can-bang-tai-va-phan-phoi-du-lieu-trong-he-thong-phan-tan-OQJwzOzg4MP</guid>
            <description><![CDATA[Trong các bài học trước, Bảng băm (Hash Table) và hàm băm truyền thống đóng vai trò định vị dữ liệu dựa trên công thức:

Index = Hash(Key) % N (với  l...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 21:48:50</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cấu trúc dữ liệu và Giải thuật Bài 56: Bộ lọc Bloom (Bloom Filter) - Kiểm tra sự tồn tại xác suất siêu tốc và tiết kiệm RAM.]]></title>
                        <link>https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-56-bo-loc-bloom-bloom-filter-kiem-tra-su-ton-tai-xac-suat-sieu-toc-va-tiet-kiem-ram-oW4oej89Lml</link>
            <guid isPermaLink="true">https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-56-bo-loc-bloom-bloom-filter-kiem-tra-su-ton-tai-xac-suat-sieu-toc-va-tiet-kiem-ram-oW4oej89Lml</guid>
            <description><![CDATA[Trong suốt Chương 8, chúng ta đã xem Bảng băm (Hash Table) là tiêu chuẩn vàng để kiểm tra sự tồn tại của dữ liệu với tốc độ . Tuy nhiên, khi quy mô hệ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 21:48:27</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cấu trúc dữ liệu và Giải thuật Bài 55: Lập trình động Bottom-Up (Tabulation) - Tối ưu không gian và vòng lặp.]]></title>
                        <link>https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-55-lap-trinh-dong-bottom-up-tabulation-toi-uu-khong-gian-va-vong-lap-18J2eOBq4YK</link>
            <guid isPermaLink="true">https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-55-lap-trinh-dong-bottom-up-tabulation-toi-uu-khong-gian-va-vong-lap-18J2eOBq4YK</guid>
            <description><![CDATA[Ở Bài 54, chúng ta đã làm quen với Lập trình động theo trường phái Top-Down (Memoization): Bắt đầu từ bài toán lớn, dùng đệ quy bẻ nhỏ nó ra và lưu kế...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 21:48:16</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Trino SQL Bài học 10: Xử lý giá trị NULL (IS NULL, COALESCE, NULLIF)]]></title>
                        <link>https://viblo.asia/p/trino-sql-bai-hoc-10-xu-ly-gia-tri-null-is-null-coalesce-nullif-pPLkNQpGJRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/trino-sql-bai-hoc-10-xu-ly-gia-tri-null-is-null-coalesce-nullif-pPLkNQpGJRZ</guid>
            <description><![CDATA[Mục tiêu bài học:

-   Hiểu đúng bản chất của NULL trong thế giới cơ sở dữ liệu quan hệ và phân tán.

-   Nắm vững cách lọc và đối chiếu các bản ghi c...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 21:45:55</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Trino SQL Bài học 9: Sắp xếp dữ liệu (ORDER BY) và phân trang (LIMIT, OFFSET)]]></title>
                        <link>https://viblo.asia/p/trino-sql-bai-hoc-9-sap-xep-du-lieu-order-by-va-phan-trang-limit-offset-Nj4vgOo0J6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/trino-sql-bai-hoc-9-sap-xep-du-lieu-order-by-va-phan-trang-limit-offset-Nj4vgOo0J6r</guid>
            <description><![CDATA[Mục tiêu bài học:

-   Nắm vững cách sắp xếp dữ liệu theo một hoặc nhiều tiêu chí.

-   Làm chủ cách định vị các giá trị rỗng (NULL) trong kết quả sắp...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 21:45:39</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Trino SQL Bài học 8: Toán tử logic, so sánh và toán tử IN, BETWEEN]]></title>
                        <link>https://viblo.asia/p/trino-sql-bai-hoc-8-toan-tu-logic-so-sanh-va-toan-tu-in-between-wd43ExyALX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/trino-sql-bai-hoc-8-toan-tu-logic-so-sanh-va-toan-tu-in-between-wd43ExyALX9</guid>
            <description><![CDATA[Mục tiêu bài học:

-   Nắm vững cách kết hợp nhiều điều kiện lọc phức tạp bằng các toán tử logic.

-   Hiểu thứ tự ưu tiên của các phép toán để tránh ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 21:45:30</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Trino SQL Bài học 7: Các kiểu dữ liệu nguyên thủy (Primitive Types)]]></title>
                        <link>https://viblo.asia/p/trino-sql-bai-hoc-7-cac-kieu-du-lieu-nguyen-thuy-primitive-types-PoL7eOWa4vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/trino-sql-bai-hoc-7-cac-kieu-du-lieu-nguyen-thuy-primitive-types-PoL7eOWa4vk</guid>
            <description><![CDATA[Mục tiêu bài học:

-   Hiểu rõ hệ thống kiểu dữ liệu tĩnh và nghiêm ngặt của Trino.

-   Phân loại và ứng dụng đúng các kiểu dữ liệu nguyên thủy: Số, ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 21:45:17</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Trino SQL Bài học 6: Cú pháp SELECT cơ bản và lọc dữ liệu với WHERE]]></title>
                        <link>https://viblo.asia/p/trino-sql-bai-hoc-6-cu-phap-select-co-ban-va-loc-du-lieu-voi-where-13VM9dxQVY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/trino-sql-bai-hoc-6-cu-phap-select-co-ban-va-loc-du-lieu-voi-where-13VM9dxQVY7</guid>
            <description><![CDATA[Mục tiêu bài học:

-   Nắm vững cú pháp truy vấn định hình dữ liệu nền tảng.

-   Nhận diện sự khác biệt về tính nghiêm ngặt trong kiểu dữ liệu và địn...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 21:45:09</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Firebase Phone Auth trong Flutter: test OTP SMS với số fictional và số thật nhiều nước]]></title>
                        <link>https://viblo.asia/p/firebase-phone-auth-trong-flutter-test-otp-sms-voi-so-fictional-va-so-that-nhieu-nuoc-vbLbjRvoLnk</link>
            <guid isPermaLink="true">https://viblo.asia/p/firebase-phone-auth-trong-flutter-test-otp-sms-voi-so-fictional-va-so-that-nhieu-nuoc-vbLbjRvoLnk</guid>
            <description><![CDATA[Làm Firebase Phone Auth trong Flutter, chắc nhiều bạn đã gặp cảnh này. Trên máy dev mọi thứ đều xanh: thêm một số điện thoại test trong Firebase conso...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Minh Trần</dc:creator>
            <pubDate>2026-10-21 21:39:51</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Series Java Swing Bài 4: Sự khác biệt giữa JFrame, JDialog và JWindow]]></title>
                        <link>https://viblo.asia/p/series-java-swing-bai-4-su-khac-biet-giua-jframe-jdialog-va-jwindow-kNLr3nooVgA</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-java-swing-bai-4-su-khac-biet-giua-jframe-jdialog-va-jwindow-kNLr3nooVgA</guid>
            <description><![CDATA[Trong Java Swing, JFrame, JDialog và JWindow được gọi là các Top-Level Containers (Vật chứa cấp cao nhất). Điểm chung duy nhất của chúng là có thể xuấ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 19:19:29</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[How to Handle AI Extraction Errors in Automated Business Processes]]></title>
                        <link>https://viblo.asia/p/how-to-handle-ai-extraction-errors-in-automated-business-processes-wd43ExOqLX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/how-to-handle-ai-extraction-errors-in-automated-business-processes-wd43ExOqLX9</guid>
            <description><![CDATA[AI-powered document processing helps businesses extract information from invoices, purchase orders, forms, contracts, and other business documents. Wh...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sindhu J</dc:creator>
            <pubDate>2026-10-21 16:52:56</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[DeepSeek V4 Flash nên dùng cho việc gì? Bắt đầu từ một tác vụ nhỏ trong ứng dụng]]></title>
                        <link>https://viblo.asia/p/deepseek-v4-flash-nen-dung-cho-viec-gi-bat-dau-tu-mot-tac-vu-nho-trong-ung-dung-AWVpXjbXV05</link>
            <guid isPermaLink="true">https://viblo.asia/p/deepseek-v4-flash-nen-dung-cho-viec-gi-bat-dau-tu-mot-tac-vu-nho-trong-ung-dung-AWVpXjbXV05</guid>
            <description><![CDATA[

Bạn đang làm một ứng dụng có vài việc lặp lại: đọc yêu cầu của khách, tìm điều kiện trong tài liệu, rồi soạn một câu trả lời. DeepSeek V4 Flash có t...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">crboluo</dc:creator>
            <pubDate>2026-10-21 16:26:48</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bốn model AI tôi dùng song song một tháng: cái nào nhanh, cái nào đáng tiền]]></title>
                        <link>https://viblo.asia/p/bon-model-ai-toi-dung-song-song-mot-thang-cai-nao-nhanh-cai-nao-dang-tien-ZjJYWRwpVOE</link>
            <guid isPermaLink="true">https://viblo.asia/p/bon-model-ai-toi-dung-song-song-mot-thang-cai-nao-nhanh-cai-nao-dang-tien-ZjJYWRwpVOE</guid>
            <description><![CDATA[Bốn model này là gì

Cả bốn đều là model ngôn ngữ lớn: bạn gửi văn bản vào, nó trả văn bản ra. Cách dùng giống hệt nhau — mở một trang chat hoặc gọi q...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">crboluo</dc:creator>
            <pubDate>2026-10-21 16:08:18</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Nút chỉ nhúc nhích một chút, sao lại như đang giục mình? — Minh họa bằng trình tạo video từ ảnh miễn phí, không cần đăng ký]]></title>
                        <link>https://viblo.asia/p/nut-chi-nhuc-nhich-mot-chut-sao-lai-nhu-dang-giuc-minh-minh-hoa-bang-trinh-tao-video-tu-anh-mien-phi-khong-can-dang-ky-8X4EjW1DJN2</link>
            <guid isPermaLink="true">https://viblo.asia/p/nut-chi-nhuc-nhich-mot-chut-sao-lai-nhu-dang-giuc-minh-minh-hoa-bang-trinh-tao-video-tu-anh-mien-phi-khong-can-dang-ky-8X4EjW1DJN2</guid>
            <description><![CDATA[Thử tưởng tượng một nút trống trên nền sáng vừa nhích lên. Bạn muốn gọi động tác đó là “nhắc nhẹ”, “ăn mừng”, hay “đang giục mình bấm tiếp”? Câu hỏi n...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">fluxpro net</dc:creator>
            <pubDate>2026-10-21 15:42:27</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Mình làm app iOS miễn phí để copy bố cục nhà Clash of Clans: vài điều học được]]></title>
                        <link>https://viblo.asia/p/minh-lam-app-ios-mien-phi-de-copy-bo-cuc-nha-clash-of-clans-vai-dieu-hoc-duoc-G24B8WNYLz3</link>
            <guid isPermaLink="true">https://viblo.asia/p/minh-lam-app-ios-mien-phi-de-copy-bo-cuc-nha-clash-of-clans-vai-dieu-hoc-duoc-G24B8WNYLz3</guid>
            <description><![CDATA[Nói trước: app này do mình tự làm.

Mình chơi Clash of Clans lâu năm, và việc mất thời gian nhất luôn là tìm một bố cục nhà hợp cấp Town Hall rồi đưa ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Base Layouts</dc:creator>
            <pubDate>2026-10-21 15:23:55</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cấu trúc dữ liệu và Giải thuật Bài 54: Nhập môn Lập trình động (Dynamic Programming) - Từ Đệ quy chồng chéo đến Ghi nhớ (Memoization).]]></title>
                        <link>https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-54-nhap-mon-lap-trinh-dong-dynamic-programming-tu-de-quy-chong-cheo-den-ghi-nho-memoization-K9Vy8OXALQR</link>
            <guid isPermaLink="true">https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-54-nhap-mon-lap-trinh-dong-dynamic-programming-tu-de-quy-chong-cheo-den-ghi-nho-memoization-K9Vy8OXALQR</guid>
            <description><![CDATA[Trong suốt 10 chương vừa qua, chúng ta đã đi qua các cấu trúc dữ liệu lưu trữ và tìm kiếm. Tuy nhiên, khi đối mặt với các bài toán tối ưu hóa — nơi hệ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 14:33:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cấu trúc dữ liệu và Giải thuật Bài 53: Thuật toán KMP (Knuth-Morris-Pratt) - Tìm kiếm chuỗi con thần tốc.]]></title>
                        <link>https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-53-thuat-toan-kmp-knuth-morris-pratt-tim-kiem-chuoi-con-than-toc-wd43ExejLX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-53-thuat-toan-kmp-knuth-morris-pratt-tim-kiem-chuoi-con-than-toc-wd43ExejLX9</guid>
            <description><![CDATA[Trong Bài 52, chúng ta đã dùng Trie để giải quyết bài toán tìm kiếm tiền tố cho hàng triệu từ khóa. Tuy nhiên, nếu bài toán đổi hướng: "Hãy tìm xem từ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-21 14:33:32</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Kiểm tra đầu vào trước khi gọi API video-to-video: ffprobe, giới hạn thời lượng và lint prompt]]></title>
                        <link>https://viblo.asia/p/kiem-tra-dau-vao-truoc-khi-goi-api-video-to-video-ffprobe-gioi-han-thoi-luong-va-lint-prompt-OQJwzO6y4MP</link>
            <guid isPermaLink="true">https://viblo.asia/p/kiem-tra-dau-vao-truoc-khi-goi-api-video-to-video-ffprobe-gioi-han-thoi-luong-va-lint-prompt-OQJwzO6y4MP</guid>
            <description><![CDATA[Khi tích hợp một API sinh video bằng AI, phần lớn lỗi mình gặp không đến từ model mà đến từ dữ liệu đầu vào: video quá ngắn, file sai định dạng, URL ả...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Genjutsu AI</dc:creator>
            <pubDate>2026-10-21 14:02:48</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Check AI Video Exports with Python and FFprobe]]></title>
                        <link>https://viblo.asia/p/check-ai-video-exports-with-python-and-ffprobe-oW4oejZzLml</link>
            <guid isPermaLink="true">https://viblo.asia/p/check-ai-video-exports-with-python-and-ffprobe-oW4oejZzLml</guid>
            <description><![CDATA[A downloaded video file rarely contains enough information to explain how it was created. When preparing clips from Wan 3.0, keeping the prompt, refer...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">sarah wilson</dc:creator>
            <pubDate>2026-10-21 13:53:40</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tải AI desktop app từ trang chính thức: 16 liên kết đã kiểm tra và khi nào chỉ cần một API]]></title>
                        <link>https://viblo.asia/p/tai-ai-desktop-app-tu-trang-chinh-thuc-16-lien-ket-da-kiem-tra-va-khi-nao-chi-can-mot-api-vbLbjR6ZLnk</link>
            <guid isPermaLink="true">https://viblo.asia/p/tai-ai-desktop-app-tu-trang-chinh-thuc-16-lien-ket-da-kiem-tra-va-khi-nao-chi-can-mot-api-vbLbjR6ZLnk</guid>
            <description><![CDATA[
Vấn đề

Khi tìm "tải AI cho máy tính", kết quả đầu tiên thường không phải trang của nhà sản xuất. Đa số là các trang tổng hợp (aggregator) — nơi bộ c...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">crboluo</dc:creator>
            <pubDate>2026-10-21 13:47:31</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tạo dữ liệu kiểm thử cho Anti-fraud: Sinh device fingerprint tự nhiên và bất thường có kiểm soát]]></title>
                        <link>https://viblo.asia/p/tao-du-lieu-kiem-thu-cho-anti-fraud-sinh-device-fingerprint-tu-nhien-va-bat-thuong-co-kiem-soat-18J2eOR14YK</link>
            <guid isPermaLink="true">https://viblo.asia/p/tao-du-lieu-kiem-thu-cho-anti-fraud-sinh-device-fingerprint-tu-nhien-va-bat-thuong-co-kiem-soat-18J2eOR14YK</guid>
            <description><![CDATA[Khi xây dựng hệ thống anti-fraud hoặc quản trị rủi ro, bước quan trọng nhất sau khi viết xong một rule là kiểm tra xem nó có thực sự hoạt động không. ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">reham</dc:creator>
            <pubDate>2026-10-21 13:17:40</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Công cụ chạy nhiều tài khoản Zalo – quản lý môi trường vận hành độc lập cho doanh nghiệp Việt]]></title>
                        <link>https://viblo.asia/p/cong-cu-chay-nhieu-tai-khoan-zalo-quan-ly-moi-truong-van-hanh-doc-lap-cho-doanh-nghiep-viet-K9Vy8OnaLQR</link>
            <guid isPermaLink="true">https://viblo.asia/p/cong-cu-chay-nhieu-tai-khoan-zalo-quan-ly-moi-truong-van-hanh-doc-lap-cho-doanh-nghiep-viet-K9Vy8OnaLQR</guid>
            <description><![CDATA[KỊCH BẢN NGƯỜI DÙNG VIỆT

Chị Lan chạy một chuỗi cửa hàng mẹ và bé ở quận Gò Vấp, TP.HCM. Team chị có năm nhân sự phụ trách chăm sóc khách, mỗi người ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">BitBrowser</dc:creator>
            <pubDate>2026-10-21 13:07:15</pubDate>
                                                                                                        </item>
            </channel>
</rss>
