<?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-18T06:22:58+07:00</lastBuildDate>
                <item>
            <title><![CDATA[Tiền đã về ví nhưng đơn hàng chưa nên &quot;paid&quot;: 6 bước kiểm tra phía người nhận khi AI agent tạo link thanh toán]]></title>
                        <link>https://viblo.asia/p/tien-da-ve-vi-nhung-don-hang-chua-nen-paid-6-buoc-kiem-tra-phia-nguoi-nhan-khi-ai-agent-tao-link-thanh-toan-PoL7eO1X4vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/tien-da-ve-vi-nhung-don-hang-chua-nen-paid-6-buoc-kiem-tra-phia-nguoi-nhan-khi-ai-agent-tao-link-thanh-toan-PoL7eO1X4vk</guid>
            <description><![CDATA[Bối cảnh
Khi để AI agent tạo hoá đơn hoặc link thanh toán bằng stablecoin, phần khó thường không nằm ở bước tạo link, mà ở câu hỏi: "Đơn này đã thực s...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">send</dc:creator>
            <pubDate>2026-10-18 01:42:01</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Ký số xong chưa phải xong: PDF của bạn vẫn đang &quot;kể chuyện&quot; qua metadata]]></title>
                        <link>https://viblo.asia/p/ky-so-xong-chua-phai-xong-pdf-cua-ban-van-dang-ke-chuyen-qua-metadata-13VM9dv7VY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/ky-so-xong-chua-phai-xong-pdf-cua-ban-van-dang-ke-chuyen-qua-metadata-13VM9dv7VY7</guid>
            <description><![CDATA[Cuối tháng 8/2026, Trung tâm Chứng thực điện tử quốc gia (NEAC) công bố cả nước đã có hơn 33,6 triệu chứng thư chữ ký số — tương đương 48,6% dân số tr...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ChuyenPDF Editor</dc:creator>
            <pubDate>2026-10-18 01:24:37</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bài 7: Pipeline &amp; Transaction - Tối ưu Network RTT và đảm bảo tính nguyên vẹn]]></title>
                        <link>https://viblo.asia/p/bai-7-pipeline-transaction-toi-uu-network-rtt-va-dam-bao-tinh-nguyen-ven-vbLbj01bLnk</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-7-pipeline-transaction-toi-uu-network-rtt-va-dam-bao-tinh-nguyen-ven-vbLbj01bLnk</guid>
            <description><![CDATA[Mục tiêu bài học:

-   Nhận diện nút thắt cổ chai (bottleneck) do Network Round-Trip Time (RTT) khi gọi hàng ngàn lệnh tuần tự.

-   Sử dụng Pipeline ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 23:06:07</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Pre-flight Checks Bài 3: Git Guard (Chốt chặn Source Code)]]></title>
                        <link>https://viblo.asia/p/pre-flight-checks-bai-3-git-guard-chot-chan-source-code-gdJzvO3eJz5</link>
            <guid isPermaLink="true">https://viblo.asia/p/pre-flight-checks-bai-3-git-guard-chot-chan-source-code-gdJzvO3eJz5</guid>
            <description><![CDATA[Trong thực tế làm việc nhóm, có 3 tai nạn kinh điển liên quan đến Git khi deploy thủ công:

1.  Đứng nhầm nhánh: Đang đứng ở nhánh feature/test-paymen...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-17 21:24:11</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Pre-flight Checks Bài 4: Quality Gate &amp; Local Dependencies (Linter, Unit Test &amp; SonarQube API)]]></title>
                        <link>https://viblo.asia/p/pre-flight-checks-bai-4-quality-gate-local-dependencies-linter-unit-test-sonarqube-api-kNLr3eAlVgA</link>
            <guid isPermaLink="true">https://viblo.asia/p/pre-flight-checks-bai-4-quality-gate-local-dependencies-linter-unit-test-sonarqube-api-kNLr3eAlVgA</guid>
            <description><![CDATA[Dù Git đã sạch sẽ và đồng bộ, vẫn còn một rủi ro lớn: Code hợp lệ về mặt quản lý phiên bản nhưng lại chứa lỗi cú pháp, vi phạm chuẩn coding convention...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-17 21:18:04</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Pre-flight Checks Bài 2: Đọc &amp; Validate cấu hình .deploy.yaml]]></title>
                        <link>https://viblo.asia/p/pre-flight-checks-bai-2-doc-validate-cau-hinh-deployyaml-1j4lQ1EGJwl</link>
            <guid isPermaLink="true">https://viblo.asia/p/pre-flight-checks-bai-2-doc-validate-cau-hinh-deployyaml-1j4lQ1EGJwl</guid>
            <description><![CDATA[Trong một công cụ deploy dùng chung cho cả team, bạn tuyệt đối không được hard-code (gán cứng) địa chỉ IP server, nhánh Git hay đường dẫn thư mục vào ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-17 21:17:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Quy Uớc Đặt Tên (Naming Conventions) Trong Java]]></title>
                        <link>https://viblo.asia/p/quy-uoc-dat-ten-naming-conventions-trong-java-pPLkNQenJRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/quy-uoc-dat-ten-naming-conventions-trong-java-pPLkNQenJRZ</guid>
            <description><![CDATA[Quy ước đặt tên là một tập hợp các quy tắc thống nhất về cách đặt tên cho các thành phần ngôn ngữ như class, biến, phương thức, v.v. trong Java. Việc ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tieu Share</dc:creator>
            <pubDate>2026-10-17 21:09:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Pre-flight Checks Bài 1: Khởi tạo CLI Engine &amp; Kiến trúc Pre-flight Runner]]></title>
                        <link>https://viblo.asia/p/pre-flight-checks-bai-1-khoi-tao-cli-engine-kien-truc-pre-flight-runner-AWVpXjkDV05</link>
            <guid isPermaLink="true">https://viblo.asia/p/pre-flight-checks-bai-1-khoi-tao-cli-engine-kien-truc-pre-flight-runner-AWVpXjkDV05</guid>
            <description><![CDATA[Trong một thư viện hay công cụ chuyên nghiệp, nếu viết nối tiếp các câu lệnh if-else để kiểm tra từng điều kiện, code sẽ rất nhanh trở thành một mớ hỗ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-17 19:14:12</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Git Worktree vào hệ sinh thái Microservices Bài 2: Giải phẫu Git Worktree: Một thư mục .git, đa không gian làm việc]]></title>
                        <link>https://viblo.asia/p/git-worktree-vao-he-sinh-thai-microservices-bai-2-giai-phau-git-worktree-mot-thu-muc-git-da-khong-gian-lam-viec-y0VGwWbEVPA</link>
            <guid isPermaLink="true">https://viblo.asia/p/git-worktree-vao-he-sinh-thai-microservices-bai-2-giai-phau-git-worktree-mot-thu-muc-git-da-khong-gian-lam-viec-y0VGwWbEVPA</guid>
            <description><![CDATA[Để sử dụng một công cụ một cách làm chủ hoàn toàn trong hệ thống lớn, chúng ta không chỉ học thuộc câu lệnh mà cần hiểu rõ cơ chế hoạt động bên dưới (...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:51:57</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[PostgreSQL Bài 50: Triển khai cụm PostgreSQL High Availability trên Kubernetes bằng Zalando Postgres Operator]]></title>
                        <link>https://viblo.asia/p/postgresql-bai-50-trien-khai-cum-postgresql-high-availability-tren-kubernetes-bang-zalando-postgres-operator-ZoJjej274Y7</link>
            <guid isPermaLink="true">https://viblo.asia/p/postgresql-bai-50-trien-khai-cum-postgresql-high-availability-tren-kubernetes-bang-zalando-postgres-operator-ZoJjej274Y7</guid>
            <description><![CDATA[Ở Bài 49, chúng ta đã xây dựng thành công kiến trúc High Availability (HA) hoàn chỉnh trên môi trường máy chủ ảo (VM/Bare-metal). Chúng ta phải tự tay...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:47:39</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[PostgreSQL Bài 49: Tích hợp PgBouncer và Patroni để định tuyến Read/Write trong cụm Master-Slave]]></title>
                        <link>https://viblo.asia/p/postgresql-bai-49-tich-hop-pgbouncer-va-patroni-de-dinh-tuyen-readwrite-trong-cum-master-slave-QyJKzW694Me</link>
            <guid isPermaLink="true">https://viblo.asia/p/postgresql-bai-49-tich-hop-pgbouncer-va-patroni-de-dinh-tuyen-readwrite-trong-cum-master-slave-QyJKzW694Me</guid>
            <description><![CDATA[Khi xây dựng kiến trúc High Availability (HA) với Patroni (đã học ở Bài 34) và Connection Pooling với PgBouncer (Bài 36), chúng ta gặp phải một bài to...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:47:31</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[PostgreSQL Bài 48: Quản lý Schema Migration, Rollback an toàn và CI/CD cho Database]]></title>
                        <link>https://viblo.asia/p/postgresql-bai-48-quan-ly-schema-migration-rollback-an-toan-va-cicd-cho-database-2vJPd07qJeK</link>
            <guid isPermaLink="true">https://viblo.asia/p/postgresql-bai-48-quan-ly-schema-migration-rollback-an-toan-va-cicd-cho-database-2vJPd07qJeK</guid>
            <description><![CDATA[Trong quá trình phát triển phần mềm, mã nguồn ứng dụng (Source code) luôn được quản lý phiên bản chặt chẽ bằng Git. Tuy nhiên, cơ sở dữ liệu lại thườn...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:47:23</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[PostgreSQL Bài 47: Tối ưu hóa cấu hình bộ nhớ hệ thống (shared_buffers, work_mem, effective_cache_size)]]></title>
                        <link>https://viblo.asia/p/postgresql-bai-47-toi-uu-hoa-cau-hinh-bo-nho-he-thong-shared-buffers-work-mem-effective-cache-size-ZjJYWRNXVOE</link>
            <guid isPermaLink="true">https://viblo.asia/p/postgresql-bai-47-toi-uu-hoa-cau-hinh-bo-nho-he-thong-shared-buffers-work-mem-effective-cache-size-ZjJYWRNXVOE</guid>
            <description><![CDATA[Mặc định, sau khi cài đặt PostgreSQL trên một máy chủ mạnh mẽ sở hữu 128GB RAM và 64 nhân CPU, nó vẫn sẽ chạy với một cấu hình... rùa bò. Lý do là fil...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:47:15</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[PostgreSQL Bài 42: Full-Text Search (FTS) nâng cao và tối ưu Ranking]]></title>
                        <link>https://viblo.asia/p/postgresql-bai-42-full-text-search-fts-nang-cao-va-toi-uu-ranking-yZJZlR8bVjm</link>
            <guid isPermaLink="true">https://viblo.asia/p/postgresql-bai-42-full-text-search-fts-nang-cao-va-toi-uu-ranking-yZJZlR8bVjm</guid>
            <description><![CDATA[Tìm kiếm văn bản bằng toán tử LIKE '%keyword%' trên một cơ sở dữ liệu hàng triệu sản phẩm là một thảm họa về hiệu năng (gây Seq Scan) và vô dụng về mặ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:38:17</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[PostgreSQL Bài 46: Mã hóa Dữ liệu Nhạy cảm: Transparent Data Encryption (TDE) vs Application-Level Encryption]]></title>
                        <link>https://viblo.asia/p/postgresql-bai-46-ma-hoa-du-lieu-nhay-cam-transparent-data-encryption-tde-vs-application-level-encryption-8X4EjWAXJN2</link>
            <guid isPermaLink="true">https://viblo.asia/p/postgresql-bai-46-ma-hoa-du-lieu-nhay-cam-transparent-data-encryption-tde-vs-application-level-encryption-8X4EjWAXJN2</guid>
            <description><![CDATA[Ở các bài trước, chúng ta đã cấu hình SSL/TLS để mã hóa đường truyền (Data in Transit) và thiết lập Row-Level Security (RLS) để ngăn ứng dụng truy cập...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:38:12</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[PostgreSQL Bài 44: Common Table Expressions (CTE) và Truy vấn đệ quy (Recursive Queries)]]></title>
                        <link>https://viblo.asia/p/postgresql-bai-44-common-table-expressions-cte-va-truy-van-de-quy-recursive-queries-RlL5eOjwLbB</link>
            <guid isPermaLink="true">https://viblo.asia/p/postgresql-bai-44-common-table-expressions-cte-va-truy-van-de-quy-recursive-queries-RlL5eOjwLbB</guid>
            <description><![CDATA[Trong quá trình phát triển báo cáo, phân tích dữ liệu hoặc xử lý các logic kinh doanh phức tạp, bạn sẽ thường xuyên gặp phải những câu truy vấn SQL dà...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:38:06</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[PostgreSQL Bài 43: Bảng tạm thời và Materialized Views: Lưu trữ kết quả truy vấn lớn (Caching)]]></title>
                        <link>https://viblo.asia/p/postgresql-bai-43-bang-tam-thoi-va-materialized-views-luu-tru-ket-qua-truy-van-lon-caching-7Z4DEWrwJnX</link>
            <guid isPermaLink="true">https://viblo.asia/p/postgresql-bai-43-bang-tam-thoi-va-materialized-views-luu-tru-ket-qua-truy-van-lon-caching-7Z4DEWrwJnX</guid>
            <description><![CDATA[Trong các hệ thống phân tích dữ liệu (OLAP) hoặc các ứng dụng hiển thị Dashboard tổng quan, có những câu truy vấn JOIN hàng chục bảng, GROUP BY hàng t...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:38:01</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[PostgreSQL Bài 41: Làm chủ kiểu dữ liệu JSONB: Truy vấn, Cập nhật và Index chuyên sâu]]></title>
                        <link>https://viblo.asia/p/postgresql-bai-41-lam-chu-kieu-du-lieu-jsonb-truy-van-cap-nhat-va-index-chuyen-sau-OQJwzO8d4MP</link>
            <guid isPermaLink="true">https://viblo.asia/p/postgresql-bai-41-lam-chu-kieu-du-lieu-jsonb-truy-van-cap-nhat-va-index-chuyen-sau-OQJwzO8d4MP</guid>
            <description><![CDATA[Khi thiết kế hệ thống cho các nền tảng thương mại điện tử hoặc quản lý thuộc tính động (dynamic attributes), chúng ta thường đối mặt với bài toán:  Mỗ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:37:55</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Apache Derby Bài 29: Sử dụng Sequence và cột tự tăng (IDENTITY / GENERATED ALWAYS AS IDENTITY)]]></title>
                        <link>https://viblo.asia/p/apache-derby-bai-29-su-dung-sequence-va-cot-tu-tang-identity-generated-always-as-identity-OQJwzOwx4MP</link>
            <guid isPermaLink="true">https://viblo.asia/p/apache-derby-bai-29-su-dung-sequence-va-cot-tu-tang-identity-generated-always-as-identity-OQJwzOwx4MP</guid>
            <description><![CDATA[1. Vấn đề của việc tự sinh khóa chính (Primary Key)

Trong thiết kế cơ sở dữ liệu, chúng ta thường sử dụng các con số vô nghĩa (Surrogate Key) làm Khó...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:35:17</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Apache Derby Bài 28: Tạo và quản lý View để trừu tượng hóa dữ liệu]]></title>
                        <link>https://viblo.asia/p/apache-derby-bai-28-tao-va-quan-ly-view-de-truu-tuong-hoa-du-lieu-oW4oejoxLml</link>
            <guid isPermaLink="true">https://viblo.asia/p/apache-derby-bai-28-tao-va-quan-ly-view-de-truu-tuong-hoa-du-lieu-oW4oejoxLml</guid>
            <description><![CDATA[1. View (Bảng ảo) là gì?

Trong các bài trước, chúng ta đã làm việc với Bảng vật lý (Base Table) – nơi dữ liệu thực sự được ghi xuống ổ đĩa. Tuy nhiên...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:35:08</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Apache Derby Bài 27: Đánh chỉ mục (Index): B-tree index, tối ưu hóa chỉ mục đơn và chỉ mục kết hợp]]></title>
                        <link>https://viblo.asia/p/apache-derby-bai-27-danh-chi-muc-index-b-tree-index-toi-uu-hoa-chi-muc-don-va-chi-muc-ket-hop-vbLbjRdbLnk</link>
            <guid isPermaLink="true">https://viblo.asia/p/apache-derby-bai-27-danh-chi-muc-index-b-tree-index-toi-uu-hoa-chi-muc-don-va-chi-muc-ket-hop-vbLbjRdbLnk</guid>
            <description><![CDATA[1. Nút thắt cổ chai của thao tác truy vấn (Table Scan)

Khi cơ sở dữ liệu của bạn có 100 bản ghi, lệnh SELECT * FROM khach_hang WHERE email = 'test@ex...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:35:01</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Apache Derby Bài 26: Quản lý đa kết nối đồng thời trong Network Server Mode]]></title>
                        <link>https://viblo.asia/p/apache-derby-bai-26-quan-ly-da-ket-noi-dong-thoi-trong-network-server-mode-18J2eOQ54YK</link>
            <guid isPermaLink="true">https://viblo.asia/p/apache-derby-bai-26-quan-ly-da-ket-noi-dong-thoi-trong-network-server-mode-18J2eOQ54YK</guid>
            <description><![CDATA[1. Kiến trúc đa luồng (Multi-threading) của Derby

Khi chạy ở chế độ Network Server, Apache Derby hoạt động giống như một máy chủ web. Mỗi khi một ứng...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:34:55</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Apache Derby Bài 25: Kết nối Apache Derby bằng các công cụ GUI: DBeaver, DataGrip, IntelliJ IDEA]]></title>
                        <link>https://viblo.asia/p/apache-derby-bai-25-ket-noi-apache-derby-bang-cac-cong-cu-gui-dbeaver-datagrip-intellij-idea-K9Vy8Ow0LQR</link>
            <guid isPermaLink="true">https://viblo.asia/p/apache-derby-bai-25-ket-noi-apache-derby-bang-cac-cong-cu-gui-dbeaver-datagrip-intellij-idea-K9Vy8Ow0LQR</guid>
            <description><![CDATA[1. Yêu cầu bắt buộc: Chế độ Network Server

Để sử dụng các công cụ giao diện đồ họa (GUI) an toàn và hiệu quả, bạn bắt buộc phải khởi động Derby ở chế...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 18:34:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cách tôi đưa trang web game trình duyệt của mình lên 8 ngôn ngữ (Python, Docker và một LLM miễn phí)]]></title>
                        <link>https://viblo.asia/p/cach-toi-dua-trang-web-game-trinh-duyet-cua-minh-len-8-ngon-ngu-python-docker-va-mot-llm-mien-phi-1QLxnO724Aw</link>
            <guid isPermaLink="true">https://viblo.asia/p/cach-toi-dua-trang-web-game-trinh-duyet-cua-minh-len-8-ngon-ngu-python-docker-va-mot-llm-mien-phi-1QLxnO724Aw</guid>
            <description><![CDATA[Trước hết: tôi là người Hàn Quốc và viết bài này với sự trợ giúp của công cụ dịch, mong các bạn bỏ qua nếu có chỗ chưa tự nhiên.

Tôi tự vận hành một ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yeoul Games</dc:creator>
            <pubDate>2026-10-17 18:28:20</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cấu trúc dữ liệu và Giải thuật Bài 33: Ngăn xếp (Stack): Nguyên lý LIFO và thao tác cơ bản.]]></title>
                        <link>https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-33-ngan-xep-stack-nguyen-ly-lifo-va-thao-tac-co-ban-XRJ8RWlqVGq</link>
            <guid isPermaLink="true">https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-33-ngan-xep-stack-nguyen-ly-lifo-va-thao-tac-co-ban-XRJ8RWlqVGq</guid>
            <description><![CDATA[Mảng và Danh sách liên kết cung cấp cho bạn sự tự do tuyệt đối: Bạn có thể thêm, sửa, xóa dữ liệu ở đầu, giữa, hay cuối tùy thích. Tuy nhiên, trong ki...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 17:58:08</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cấu trúc dữ liệu và Giải thuật Bài 32: Danh sách liên kết đôi (Doubly Linked List) và nền tảng của LRU Cache.]]></title>
                        <link>https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-32-danh-sach-lien-ket-doi-doubly-linked-list-va-nen-tang-cua-lru-cache-1XVOW0gGVMz</link>
            <guid isPermaLink="true">https://viblo.asia/p/cau-truc-du-lieu-va-giai-thuat-bai-32-danh-sach-lien-ket-doi-doubly-linked-list-va-nen-tang-cua-lru-cache-1XVOW0gGVMz</guid>
            <description><![CDATA[Danh sách liên kết đơn (Singly Linked List) có một điểm mù vật lý chí mạng: Bạn chỉ có thể di chuyển tiến về phía trước. Nếu bạn vừa đi qua một Node v...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 17:57:53</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Axio Leads - Biến Khu Vực Google Maps Thành Danh Sách Lead Có Thể Xuất CSV/Excel]]></title>
                        <link>https://viblo.asia/p/axio-leads-bien-khu-vuc-google-maps-thanh-danh-sach-lead-co-the-xuat-csvexcel-bNVQGp60JvR</link>
            <guid isPermaLink="true">https://viblo.asia/p/axio-leads-bien-khu-vuc-google-maps-thanh-danh-sach-lead-co-the-xuat-csvexcel-bNVQGp60JvR</guid>
            <description><![CDATA[Nếu từng làm B2B sales, SEO agency, web agency, local marketing hoặc tìm khách hàng doanh nghiệp, chắc bạn đã gặp một bài toán khá quen thuộc:

Làm sa...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">TPDevPro</dc:creator>
            <pubDate>2026-10-17 15:25:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Axio Coupon: Chrome Extension Tự Động Tìm Mã Giảm Giá, Test Coupon Và Theo Dõi Giá Sản Phẩm]]></title>
                        <link>https://viblo.asia/p/axio-coupon-chrome-extension-tu-dong-tim-ma-giam-gia-test-coupon-va-theo-doi-gia-san-pham-3RL1Bl1qVao</link>
            <guid isPermaLink="true">https://viblo.asia/p/axio-coupon-chrome-extension-tu-dong-tim-ma-giam-gia-test-coupon-va-theo-doi-gia-san-pham-3RL1Bl1qVao</guid>
            <description><![CDATA[Nếu thường xuyên mua hàng online, chắc hẳn bạn từng gặp tình huống này:

- tìm được một mã giảm giá nhưng đến checkout lại không dùng được;
- phải mở ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">TPDevPro</dc:creator>
            <pubDate>2026-10-17 15:16:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Go Zero to Hero - Bài 47: Thao tác với chuỗi: Package strings]]></title>
                        <link>https://viblo.asia/p/go-zero-to-hero-bai-47-thao-tac-voi-chuoi-package-strings-37LdepPNVov</link>
            <guid isPermaLink="true">https://viblo.asia/p/go-zero-to-hero-bai-47-thao-tac-voi-chuoi-package-strings-37LdepPNVov</guid>
            <description><![CDATA[Trong quá trình xây dựng các ứng dụng backend, việc thao tác, kiểm tra và chuẩn hóa dữ liệu dạng chuỗi (string) diễn ra với tần suất chóng mặt. Thay v...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 13:39:34</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Vận hành nhiều cửa hàng TikTok Shop: Tại sao mỗi shop cần môi trường riêng]]></title>
                        <link>https://viblo.asia/p/van-hanh-nhieu-cua-hang-tiktok-shop-tai-sao-moi-shop-can-moi-truong-rieng-R5JRQWzp4Gv</link>
            <guid isPermaLink="true">https://viblo.asia/p/van-hanh-nhieu-cua-hang-tiktok-shop-tai-sao-moi-shop-can-moi-truong-rieng-R5JRQWzp4Gv</guid>
            <description><![CDATA[![](https://images.viblo.asia/23e320c2-7412-4dd9-882d-9931a9647b0a.png)



Nhiều chủ cửa hàng TikTok Shop tại Việt Nam đang mở rộng sang mô hình đa cử...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">BitBrowser</dc:creator>
            <pubDate>2026-10-17 13:27:08</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Kiểm thử tự động và bài toán cách ly môi trường: từ --user-data-dir đến trình duyệt chống phát hiện]]></title>
                        <link>https://viblo.asia/p/kiem-thu-tu-dong-va-bai-toan-cach-ly-moi-truong-tu-user-data-dir-den-trinh-duyet-chong-phat-hien-QyJKzWd74Me</link>
            <guid isPermaLink="true">https://viblo.asia/p/kiem-thu-tu-dong-va-bai-toan-cach-ly-moi-truong-tu-user-data-dir-den-trinh-duyet-chong-phat-hien-QyJKzWd74Me</guid>
            <description><![CDATA[Nếu bạn từng cho năm, sáu job E2E chạy song song trên CI/CD với cùng một tài khoản staging, gần như chắc chắn đã gặp cảnh này: job A vừa đăng nhập xon...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">reham</dc:creator>
            <pubDate>2026-10-17 13:03:22</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[What Is AxioAPI? A Unified API Platform for Developers, SaaS and Automation]]></title>
                        <link>https://viblo.asia/p/what-is-axioapi-a-unified-api-platform-for-developers-saas-and-automation-gjLN0ZkE432</link>
            <guid isPermaLink="true">https://viblo.asia/p/what-is-axioapi-a-unified-api-platform-for-developers-saas-and-automation-gjLN0ZkE432</guid>
            <description><![CDATA[AxioAPI is a unified API platform for developers, SaaS products, automation workflows and data-driven applications.

Instead of integrating and mainta...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">TPDevPro</dc:creator>
            <pubDate>2026-10-17 11:47:35</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Apache Derby Bài 24: Quản lý Network Server thông qua API Java (NetworkServerControl)]]></title>
                        <link>https://viblo.asia/p/apache-derby-bai-24-quan-ly-network-server-thong-qua-api-java-networkservercontrol-wd43ExQALX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/apache-derby-bai-24-quan-ly-network-server-thong-qua-api-java-networkservercontrol-wd43ExQALX9</guid>
            <description><![CDATA[1. Tại sao cần quản lý Network Server bằng mã Java?

Trong các bài trước, chúng ta đã khởi động và dừng Derby Network Server bằng các lệnh CLI như sta...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 10:22:47</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Apache Derby Bài 23: Cấu hình cổng kết nối, địa chỉ máy chủ và tùy chọn logging]]></title>
                        <link>https://viblo.asia/p/apache-derby-bai-23-cau-hinh-cong-ket-noi-dia-chi-may-chu-va-tuy-chon-logging-y0VGwWlDVPA</link>
            <guid isPermaLink="true">https://viblo.asia/p/apache-derby-bai-23-cau-hinh-cong-ket-noi-dia-chi-may-chu-va-tuy-chon-logging-y0VGwWlDVPA</guid>
            <description><![CDATA[1. Các phương pháp cấu hình máy chủ Derby

Khi vận hành Apache Derby ở chế độ Network Server, cấu hình mặc định (lắng nghe ở localhost, cổng 1527, ghi...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 10:22:30</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Apache Derby Bài 22: Kết nối từ xa bằng ClientDriver (derbyclient.jar)]]></title>
                        <link>https://viblo.asia/p/apache-derby-bai-22-ket-noi-tu-xa-bang-clientdriver-derbyclientjar-PoL7eOBa4vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/apache-derby-bai-22-ket-noi-tu-xa-bang-clientdriver-derbyclientjar-PoL7eOBa4vk</guid>
            <description><![CDATA[1. Sự chuyển đổi từ Embedded sang Client-Server

Ở Bài 21, chúng ta đã khởi động thành công Derby Network Server. Lúc này, Derby đóng vai trò là một m...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 10:22:22</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Apache Derby Bài 21: Khởi động và dừng Derby Network Server qua giao diện dòng lệnh]]></title>
                        <link>https://viblo.asia/p/apache-derby-bai-21-khoi-dong-va-dung-derby-network-server-qua-giao-dien-dong-lenh-13VM9dAQVY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/apache-derby-bai-21-khoi-dong-va-dung-derby-network-server-qua-giao-dien-dong-lenh-13VM9dAQVY7</guid>
            <description><![CDATA[1. Bản chất của Network Server Mode

Ở phần trước, chúng ta đã chạy Derby theo cơ chế Embedded (Nhúng), nơi cơ sở dữ liệu bị khóa chặt vào một tiến tr...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 10:22:16</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Apache Derby Bài 20: Đóng gói ứng dụng Java Desktop (JavaFX/Swing) tích hợp sẵn Derby Database]]></title>
                        <link>https://viblo.asia/p/apache-derby-bai-20-dong-goi-ung-dung-java-desktop-javafxswing-tich-hop-san-derby-database-lZL9XOWBJQK</link>
            <guid isPermaLink="true">https://viblo.asia/p/apache-derby-bai-20-dong-goi-ung-dung-java-desktop-javafxswing-tich-hop-san-derby-database-lZL9XOWBJQK</guid>
            <description><![CDATA[1. Triết lý "Không cài đặt" (Zero-Installation)

Sức mạnh lớn nhất của Apache Derby ở chế độ Embedded là khả năng cung cấp một hệ quản trị cơ sở dữ li...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 08:35:20</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Apache Derby Bài 19: Xử lý lỗi, ngoại lệ SQL (SQLException, SQLWarning) và mã lỗi Derby]]></title>
                        <link>https://viblo.asia/p/apache-derby-bai-19-xu-ly-loi-ngoai-le-sql-sqlexception-sqlwarning-va-ma-loi-derby-oKLnqjpWJQO</link>
            <guid isPermaLink="true">https://viblo.asia/p/apache-derby-bai-19-xu-ly-loi-ngoai-le-sql-sqlexception-sqlwarning-va-ma-loi-derby-oKLnqjpWJQO</guid>
            <description><![CDATA[1. Kiến trúc xử lý lỗi trong JDBC và Apache Derby

Trong quá trình làm việc với cơ sở dữ liệu, lỗi có thể xảy ra ở bất kỳ khâu nào: sai cú pháp SQL, v...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 08:35:13</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Apache Derby Bài 18: Quản lý vòng đời cơ sở dữ liệu nhúng và cơ chế tắt database (shutdown=true)]]></title>
                        <link>https://viblo.asia/p/apache-derby-bai-18-quan-ly-vong-doi-co-so-du-lieu-nhung-va-co-che-tat-database-shutdowntrue-gdJzvO5EJz5</link>
            <guid isPermaLink="true">https://viblo.asia/p/apache-derby-bai-18-quan-ly-vong-doi-co-so-du-lieu-nhung-va-co-che-tat-database-shutdowntrue-gdJzvO5EJz5</guid>
            <description><![CDATA[1. Tại sao phải tắt cơ sở dữ liệu một cách tường minh?

Khác với các hệ quản trị chạy dịch vụ độc lập (như MySQL, SQL Server) nơi bạn chỉ cần đóng đối...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 08:35:07</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Apache Derby Bài 17: Phòng chống SQL Injection bằng PreparedStatement]]></title>
                        <link>https://viblo.asia/p/apache-derby-bai-17-phong-chong-sql-injection-bang-preparedstatement-bA4680QGLKv</link>
            <guid isPermaLink="true">https://viblo.asia/p/apache-derby-bai-17-phong-chong-sql-injection-bang-preparedstatement-bA4680QGLKv</guid>
            <description><![CDATA[1. Cơn ác mộng mang tên SQL Injection

Trong Bài 16, chúng ta đã dùng Statement kết hợp với toán tử nối chuỗi (+) của Java để tạo ra câu lệnh SQL. Tuy...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-17 08:35:02</pubDate>
                                                                                                        </item>
            </channel>
</rss>
