<?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-31T17:01:05+07:00</lastBuildDate>
                <item>
            <title><![CDATA[10 game trên itch.io, 14 ngày, 327 lượt xem và 0 lượt mua: lỗi là chúng tôi không đặt mốc đo từ ngày đầu]]></title>
                        <link>https://viblo.asia/p/10-game-tren-itchio-14-ngay-327-luot-xem-va-0-luot-mua-loi-la-chung-toi-khong-dat-moc-do-tu-ngay-dau-k74a9WxA4eO</link>
            <guid isPermaLink="true">https://viblo.asia/p/10-game-tren-itchio-14-ngay-327-luot-xem-va-0-luot-mua-loi-la-chung-toi-khong-dat-moc-do-tu-ngay-dau-k74a9WxA4eO</guid>
            <description><![CDATA[Hai tuần trước chúng tôi đăng 10 game web lên itch.io. Bấm Upload xong là quay sang làm việc khác.

Hôm nay mới mở dashboard ra xem lại cho đàng hoàng...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dumb Game Lab</dc:creator>
            <pubDate>2026-10-31 14:20:53</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bài 8: WebSockets: Cuộc cách mạng Real-time trên trình duyệt web]]></title>
                        <link>https://viblo.asia/p/bai-8-websockets-cuoc-cach-mang-real-time-tren-trinh-duyet-web-18J2eoOl4YK</link>
            <guid isPermaLink="true">https://viblo.asia/p/bai-8-websockets-cuoc-cach-mang-real-time-tren-trinh-duyet-web-18J2eoOl4YK</guid>
            <description><![CDATA[Ở các bài học trước, chúng ta đã làm chủ các socket thuần túy (Raw TCP/UDP Sockets) ở tầng vận chuyển, xây dựng từ chat server cho đến truyền tải file...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-31 12:15:26</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Elasticsearch Bài học 27: Query Context vs Filter Context - Khi nào tính điểm Scoring, khi nào dùng Cache?]]></title>
                        <link>https://viblo.asia/p/elasticsearch-bai-hoc-27-query-context-vs-filter-context-khi-nao-tinh-diem-scoring-khi-nao-dung-cache-y0VGwWQpVPA</link>
            <guid isPermaLink="true">https://viblo.asia/p/elasticsearch-bai-hoc-27-query-context-vs-filter-context-khi-nao-tinh-diem-scoring-khi-nao-dung-cache-y0VGwWQpVPA</guid>
            <description><![CDATA[Ở Bài 26, khi lắp ráp khối bool query, chúng ta đã lướt qua một nguyên tắc ngầm: Nhét lệnh tìm kiếm chữ vào must, còn nhét lệnh lọc Hãng/Giá tiền vào ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-31 11:57:46</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Elasticsearch Bài học 26: Bool Query - Xương sống của mọi câu query phức tạp (Must, Should, Must_not, Filter)]]></title>
                        <link>https://viblo.asia/p/elasticsearch-bai-hoc-26-bool-query-xuong-song-cua-moi-cau-query-phuc-tap-must-should-must-not-filter-PoL7eOlN4vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/elasticsearch-bai-hoc-26-bool-query-xuong-song-cua-moi-cau-query-phuc-tap-must-should-must-not-filter-PoL7eOlN4vk</guid>
            <description><![CDATA[Trong thực tế làm backend cho các hệ thống như Hasaki hay kiểm soát luồng giao dịch, người dùng hiếm khi chỉ tìm kiếm với một điều kiện duy nhất. Họ s...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-31 11:57:37</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Elasticsearch Bài học 25: Full-text Queries - Match, Match Phrase, và Multi-match]]></title>
                        <link>https://viblo.asia/p/elasticsearch-bai-hoc-25-full-text-queries-match-match-phrase-va-multi-match-13VM9dBGVY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/elasticsearch-bai-hoc-25-full-text-queries-match-match-phrase-va-multi-match-13VM9dBGVY7</guid>
            <description><![CDATA[Nếu Term-level queries (ở Bài 24) là những cỗ máy cứng nhắc chỉ biết so khớp 100%, thì Full-text queries chính là linh hồn làm nên sự thông minh của E...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-31 11:57:31</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Elasticsearch Bài học 24: Term-level Queries - Tìm kiếm chính xác tuyệt đối (Term, Terms, Range, Exists)]]></title>
                        <link>https://viblo.asia/p/elasticsearch-bai-hoc-24-term-level-queries-tim-kiem-chinh-xac-tuyet-doi-term-terms-range-exists-lZL9XOYMJQK</link>
            <guid isPermaLink="true">https://viblo.asia/p/elasticsearch-bai-hoc-24-term-level-queries-tim-kiem-chinh-xac-tuyet-doi-term-terms-range-exists-lZL9XOYMJQK</guid>
            <description><![CDATA[Ở Bài 23, chúng ta đã chia "cái cây" Query DSL làm hai nhóm chính: Leaf queries và Compound queries. Hôm nay, chúng ta sẽ đi sâu vào nhánh Leaf querie...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-31 11:57:19</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Elasticsearch Bài học 23: Tổng quan Query DSL - Leaf queries vs Compound queries]]></title>
                        <link>https://viblo.asia/p/elasticsearch-bai-hoc-23-tong-quan-query-dsl-leaf-queries-vs-compound-queries-oKLnqjO3JQO</link>
            <guid isPermaLink="true">https://viblo.asia/p/elasticsearch-bai-hoc-23-tong-quan-query-dsl-leaf-queries-vs-compound-queries-oKLnqjO3JQO</guid>
            <description><![CDATA[Chúc mừng bạn đã hoàn thành xuất sắc 4 Module đầu tiên về kiến trúc và cấu trúc dữ liệu. Bắt đầu từ bài học này, chúng ta sẽ bước vào Phần 5: Nghệ thu...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-31 11:57:13</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Hướng dẫn Setup Jenkins cho hệ thống Monolith - Bài 13: Thiết lập Quality Gate với SonarQube để phân tích tĩnh mã nguồn Monolith]]></title>
                        <link>https://viblo.asia/p/huong-dan-setup-jenkins-cho-he-thong-monolith-bai-13-thiet-lap-quality-gate-voi-sonarqube-de-phan-tich-tinh-ma-nguon-monolith-gdJzvOjnJz5</link>
            <guid isPermaLink="true">https://viblo.asia/p/huong-dan-setup-jenkins-cho-he-thong-monolith-bai-13-thiet-lap-quality-gate-voi-sonarqube-de-phan-tich-tinh-ma-nguon-monolith-gdJzvOjnJz5</guid>
            <description><![CDATA[Ở Bài 11 và 12, Unit Test đã giúp chúng ta kiểm tra xem các hàm xử lý logic có trả về đúng kết quả mong đợi hay không. Tuy nhiên, Unit Test hoàn toàn ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-31 11:40:23</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Hướng dẫn Setup Jenkins cho hệ thống Monolith - Bài 12: Đọc và hiển thị báo cáo kết quả Test (JUnit/TestNG Reports) trực tiếp trên giao diện Jenkins]]></title>
                        <link>https://viblo.asia/p/huong-dan-setup-jenkins-cho-he-thong-monolith-bai-12-doc-va-hien-thi-bao-cao-ket-qua-test-junittestng-reports-truc-tiep-tren-giao-dien-jenkins-bA4680PMLKv</link>
            <guid isPermaLink="true">https://viblo.asia/p/huong-dan-setup-jenkins-cho-he-thong-monolith-bai-12-doc-va-hien-thi-bao-cao-ket-qua-test-junittestng-reports-truc-tiep-tren-giao-dien-jenkins-bA4680PMLKv</guid>
            <description><![CDATA[Ở Bài 11, chúng ta đã thiết lập Jenkins tự động chạy Unit Test và xuất kết quả ra tệp reports/junit.xml. Tuy nhiên, nếu một bài test bị lỗi trong hàng...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-31 11:40:16</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Hướng dẫn Setup Jenkins cho hệ thống Monolith - Bài 11: Tích hợp Unit Test vào Jenkins Pipeline cho hệ thống Monolith]]></title>
                        <link>https://viblo.asia/p/huong-dan-setup-jenkins-cho-he-thong-monolith-bai-11-tich-hop-unit-test-vao-jenkins-pipeline-cho-he-thong-monolith-OXLA0WXYJGr</link>
            <guid isPermaLink="true">https://viblo.asia/p/huong-dan-setup-jenkins-cho-he-thong-monolith-bai-11-tich-hop-unit-test-vao-jenkins-pipeline-cho-he-thong-monolith-OXLA0WXYJGr</guid>
            <description><![CDATA[Sau khi đã đóng gói thành công mã nguồn ở Giai đoạn 1, chúng ta bước sang Giai đoạn 2: Tự động hóa Kiểm thử và Phân tích Mã nguồn. Một bản build chỉ t...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-31 11:40:08</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Hướng dẫn Setup Jenkins cho hệ thống Monolith - Bài 10: Xây dựng Pipeline hoàn chỉnh đầu tiên: Build và Package mã nguồn Monolith]]></title>
                        <link>https://viblo.asia/p/huong-dan-setup-jenkins-cho-he-thong-monolith-bai-10-xay-dung-pipeline-hoan-chinh-dau-tien-build-va-package-ma-nguon-monolith-kNLr3eZOVgA</link>
            <guid isPermaLink="true">https://viblo.asia/p/huong-dan-setup-jenkins-cho-he-thong-monolith-bai-10-xay-dung-pipeline-hoan-chinh-dau-tien-build-va-package-ma-nguon-monolith-kNLr3eZOVgA</guid>
            <description><![CDATA[Sau 9 bài học chuẩn bị hạ tầng và các mảnh ghép rời rạc, giờ là lúc chúng ta xây dựng một đường ống (Pipeline) khép kín đầu tiên: tự động kéo mã nguồn...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HUy Hoàng</dc:creator>
            <pubDate>2026-10-31 11:39:54</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Go Zero to Hero - Bài 75: Xử lý định dạng doanh nghiệp - Đọc ghi CSV và XML]]></title>
                        <link>https://viblo.asia/p/go-zero-to-hero-bai-75-xu-ly-dinh-dang-doanh-nghiep-doc-ghi-csv-va-xml-3RL1BogoVao</link>
            <guid isPermaLink="true">https://viblo.asia/p/go-zero-to-hero-bai-75-xu-ly-dinh-dang-doanh-nghiep-doc-ghi-csv-va-xml-3RL1BogoVao</guid>
            <description><![CDATA[Có vẻ bạn vẫn chưa vội "cất cánh" lên thế giới API mà muốn trang bị cho mình đầy đủ hỏa lực ở tầng thao tác dữ liệu thô. Quyết định rất vững vàng!

JS...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-31 11:38:58</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Antidetect browser tích hợp API: Chọn công cụ nào để tự động hoá mà vẫn quản lý được môi trường vận hành?]]></title>
                        <link>https://viblo.asia/p/antidetect-browser-tich-hop-api-chon-cong-cu-nao-de-tu-dong-hoa-ma-van-quan-ly-duoc-moi-truong-van-hanh-vbLbjRxlLnk</link>
            <guid isPermaLink="true">https://viblo.asia/p/antidetect-browser-tich-hop-api-chon-cong-cu-nao-de-tu-dong-hoa-ma-van-quan-ly-duoc-moi-truong-van-hanh-vbLbjRxlLnk</guid>
            <description><![CDATA[![](https://images.viblo.asia/30a3048e-8606-4d55-890a-1137f5b4dee8.png)



Bạn Hùng viết chương trình thu thập dữ liệu giá sản phẩm trên sàn thương mạ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Linaike</dc:creator>
            <pubDate>2026-10-31 11:15:20</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Hồ Sơ Kiến Trúc Hệ Thống] Dương Phúc Khánh (Duong Phuc Khanh · Kido): Giải Phẫu 5 Công Trình Mã Nguồn Mở (ORCID) &amp; Tối Ưu Hạ Tầng Chịu Tải Cao]]></title>
                        <link>https://viblo.asia/p/ho-so-kien-truc-he-thong-duong-phuc-khanh-duong-phuc-khanh-kido-giai-phau-5-cong-trinh-ma-nguon-mo-orcid-toi-uu-ha-tang-chiu-tai-cao-18J2eO9e4YK</link>
            <guid isPermaLink="true">https://viblo.asia/p/ho-so-kien-truc-he-thong-duong-phuc-khanh-duong-phuc-khanh-kido-giai-phau-5-cong-trinh-ma-nguon-mo-orcid-toi-uu-ha-tang-chiu-tai-cao-18J2eO9e4YK</guid>
            <description><![CDATA[Tôi là Dương Phúc Khánh (tên quốc tế trên đồ thị tri thức: Duong Phuc Khanh, được biết đến trong cộng đồng kỹ nghệ phần mềm với định danh khanhdp hoặc...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dương Phúc Khánh</dc:creator>
            <pubDate>2026-10-31 10:51:54</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[JDBC bài 13 Kỹ thuật gán tham số động (Set Parameters) hiệu quả]]></title>
                        <link>https://viblo.asia/p/jdbc-bai-13-ky-thuat-gan-tham-so-dong-set-parameters-hieu-qua-G24B8gnzLz3</link>
            <guid isPermaLink="true">https://viblo.asia/p/jdbc-bai-13-ky-thuat-gan-tham-so-dong-set-parameters-hieu-qua-G24B8gnzLz3</guid>
            <description><![CDATA[Ở hai bài trước, chúng ta đã hiểu được sức mạnh của PreparedStatement trong việc tối ưu hiệu năng và ngăn chặn SQL Injection bằng cách sử dụng các dấu...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-31 10:45:57</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Product variants in structured data: ProductGroup, variesBy and hasVariant]]></title>
                        <link>https://viblo.asia/p/product-variants-in-structured-data-productgroup-variesby-and-hasvariant-K9Vy8OMXLQR</link>
            <guid isPermaLink="true">https://viblo.asia/p/product-variants-in-structured-data-productgroup-variesby-and-hasvariant-K9Vy8OMXLQR</guid>
            <description><![CDATA[A clothing product is rarely one product. A jacket comes in five sizes and two colours, and each combination has its own price, stock level and someti...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Thompson</dc:creator>
            <pubDate>2026-10-31 04:44:11</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Go Zero to Hero - Bài 74: Parsing JSON (Marshal và Unmarshal)]]></title>
                        <link>https://viblo.asia/p/go-zero-to-hero-bai-74-parsing-json-marshal-va-unmarshal-kNLr37MwVgA</link>
            <guid isPermaLink="true">https://viblo.asia/p/go-zero-to-hero-bai-74-parsing-json-marshal-va-unmarshal-kNLr37MwVgA</guid>
            <description><![CDATA[1. Hai nguyên tắc sinh tử của JSON trong Go

Trước khi gọi hàm, bạn phải khắc cốt ghi tâm 2 quy tắc thiết kế Struct này, nếu không dữ liệu của bạn sẽ ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 23:52:46</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Go Zero to Hero - Bài 73: Ghi file và thiết lập quyền truy cập file]]></title>
                        <link>https://viblo.asia/p/go-zero-to-hero-bai-73-ghi-file-va-thiet-lap-quyen-truy-cap-file-pPLkNrk2JRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/go-zero-to-hero-bai-73-ghi-file-va-thiet-lap-quyen-truy-cap-file-pPLkNrk2JRZ</guid>
            <description><![CDATA[1. Ghi "Một Cục" và Bài toán Quyền truy cập (Permissions)

Giống như việc đọc, thao tác lười biếng và nhanh gọn nhất để ghi một lượng dữ liệu nhỏ xuốn...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 23:52:29</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Go Zero to Hero - Bài 72: Đọc file cơ bản (Toàn bộ, từng dòng, từng chunk)]]></title>
                        <link>https://viblo.asia/p/go-zero-to-hero-bai-72-doc-file-co-ban-toan-bo-tung-dong-tung-chunk-Nj4vgay3J6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/go-zero-to-hero-bai-72-doc-file-co-ban-toan-bo-tung-dong-tung-chunk-Nj4vgay3J6r</guid>
            <description><![CDATA[1. Đọc "Một Cục" (Đọc toàn bộ file vào RAM)

Cách đơn giản và lười biếng nhất. Go cung cấp hàm os.ReadFile() (Từ bản Go 1.16 trở đi, hàm này thay thế ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 23:52:22</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Go Zero to Hero - Bài 71: Lập trình IO: Package io (Reader và Writer)]]></title>
                        <link>https://viblo.asia/p/go-zero-to-hero-bai-71-lap-trinh-io-package-io-reader-va-writer-wd43ElrrLX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/go-zero-to-hero-bai-71-lap-trinh-io-package-io-reader-va-writer-wd43ElrrLX9</guid>
            <description><![CDATA[1. Triết lý Lego của Golang: Mọi thứ đều là Dòng chảy (Stream)

Trong Go, package io không chứa các đoạn code xử lý file hay mạng phức tạp. Nó chỉ địn...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 23:52:09</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Go Zero to Hero - Bài 70: Tránh rò rỉ bộ nhớ (Goroutine Leaks)]]></title>
                        <link>https://viblo.asia/p/go-zero-to-hero-bai-70-tranh-ro-ri-bo-nho-goroutine-leaks-y0VGwyK8VPA</link>
            <guid isPermaLink="true">https://viblo.asia/p/go-zero-to-hero-bai-70-tranh-ro-ri-bo-nho-goroutine-leaks-y0VGwyK8VPA</guid>
            <description><![CDATA[1. Bản chất của Goroutine Leak là gì?

Bộ thu gom rác (Garbage Collector - GC) của Go cực kỳ thông minh trong việc dọn dẹp các biến không còn sử dụng....]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 21:54:47</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Go Zero to Hero - Bài 69: Concurrency Pattern: Fan-in và Fan-out]]></title>
                        <link>https://viblo.asia/p/go-zero-to-hero-bai-69-concurrency-pattern-fan-in-va-fan-out-PoL7ebn14vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/go-zero-to-hero-bai-69-concurrency-pattern-fan-in-va-fan-out-PoL7ebn14vk</guid>
            <description><![CDATA[1. Bản chất của Fan-out (Tỏa ra) và Fan-in (Hội tụ)

Đây là mẫu thiết kế (Pattern) sinh ra để giải quyết bài toán tải nặng cục bộ trong một Pipeline:
...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 21:54:38</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Go Zero to Hero - Bài 68: Concurrency Pattern: Pipeline]]></title>
                        <link>https://viblo.asia/p/go-zero-to-hero-bai-68-concurrency-pattern-pipeline-13VM93O5VY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/go-zero-to-hero-bai-68-concurrency-pattern-pipeline-13VM93O5VY7</guid>
            <description><![CDATA[1. Pipeline là gì? Triết lý Dây chuyền Lắp ráp

Pipeline (Đường ống/Dây chuyền) là một chuỗi các công đoạn (Stages) được nối với nhau bằng các ống nướ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 21:54:28</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Go Zero to Hero - Bài 67: Concurrency Pattern: Worker Pool]]></title>
                        <link>https://viblo.asia/p/go-zero-to-hero-bai-67-concurrency-pattern-worker-pool-lZL9XPMvJQK</link>
            <guid isPermaLink="true">https://viblo.asia/p/go-zero-to-hero-bai-67-concurrency-pattern-worker-pool-lZL9XPMvJQK</guid>
            <description><![CDATA[1. Worker Pool là gì? Giới hạn sức mạnh để sinh tồn

Worker Pool (Hồ chứa công nhân) là một mô hình nơi bạn tạo ra một số lượng cố định các Goroutines...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 21:54:21</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Go Zero to Hero - Bài 66: Quản lý timeout với context.WithTimeout và Deadline]]></title>
                        <link>https://viblo.asia/p/go-zero-to-hero-bai-66-quan-ly-timeout-voi-contextwithtimeout-va-deadline-oKLnqX6aJQO</link>
            <guid isPermaLink="true">https://viblo.asia/p/go-zero-to-hero-bai-66-quan-ly-timeout-voi-contextwithtimeout-va-deadline-oKLnqX6aJQO</guid>
            <description><![CDATA[1. context.WithTimeout: Quả bom hẹn giờ (Timer)

Hàm context.WithTimeout hoạt động chính xác như một chiếc đồng hồ đếm ngược. Bạn cấp cho nó một khoản...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 21:54:14</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Elasticsearch Bài học 22: Reindex API - Bài toán đau đầu khi phải thay đổi Mapping trên Production (Zero-downtime)]]></title>
                        <link>https://viblo.asia/p/elasticsearch-bai-hoc-22-reindex-api-bai-toan-dau-dau-khi-phai-thay-doi-mapping-tren-production-zero-downtime-Nj4vgO5OJ6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/elasticsearch-bai-hoc-22-reindex-api-bai-toan-dau-dau-khi-phai-thay-doi-mapping-tren-production-zero-downtime-Nj4vgO5OJ6r</guid>
            <description><![CDATA[Chúng ta đã đi đến bài học cuối cùng của Phần 4. Ở Bài 21, bạn đã tạo ra một Index mới cực kỳ xịn sò mang tên hasakiproductsv2 tích hợp sẵn từ điển ti...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 21:52:56</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Elasticsearch Bài học 21: Xử lý tiếng Việt chuẩn xác trong Elasticsearch với Vietnamese Analyzer]]></title>
                        <link>https://viblo.asia/p/elasticsearch-bai-hoc-21-xu-ly-tieng-viet-chuan-xac-trong-elasticsearch-voi-vietnamese-analyzer-wd43ExpXLX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/elasticsearch-bai-hoc-21-xu-ly-tieng-viet-chuan-xac-trong-elasticsearch-voi-vietnamese-analyzer-wd43ExpXLX9</guid>
            <description><![CDATA[Trong tiếng Anh, các từ được phân tách rõ ràng bằng khoảng trắng (ví dụ: Sunscreen for face). Tokenizer standard có thể dễ dàng cắt chúng thành ["suns...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 21:52:29</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Elasticsearch Bài học 20: Tự build Custom Analyzer để phục vụ bài toán nghiệp vụ đặc thù]]></title>
                        <link>https://viblo.asia/p/elasticsearch-bai-hoc-20-tu-build-custom-analyzer-de-phuc-vu-bai-toan-nghiep-vu-dac-thu-y0VGwWQyVPA</link>
            <guid isPermaLink="true">https://viblo.asia/p/elasticsearch-bai-hoc-20-tu-build-custom-analyzer-de-phuc-vu-bai-toan-nghiep-vu-dac-thu-y0VGwWQyVPA</guid>
            <description><![CDATA[Ở Bài 19, chúng ta đã hiểu rõ cơ chế 3 bước của một Analyzer: Character Filters -> Tokenizer -> Token Filters. Bộ standard analyzer mặc định hoạt động...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 21:52:07</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Elasticsearch Bài học 19: Giải phẫu Text Analysis - Character Filters, Tokenizer và Token Filters]]></title>
                        <link>https://viblo.asia/p/elasticsearch-bai-hoc-19-giai-phau-text-analysis-character-filters-tokenizer-va-token-filters-PoL7eOlm4vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/elasticsearch-bai-hoc-19-giai-phau-text-analysis-character-filters-tokenizer-va-token-filters-PoL7eOlm4vk</guid>
            <description><![CDATA[Ở các bài trước, chúng ta thường ví von Analyzer (Bộ phân tích) như một "chiếc máy xay thịt". Bạn bỏ một câu văn bản nguyên vẹn (như "Sữa rửa mặt Ceta...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 21:51:59</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Elasticsearch Bài học 18: Các kiểu dữ liệu chuyên sâu - Date, Numeric, Array, Object và Nested Types]]></title>
                        <link>https://viblo.asia/p/elasticsearch-bai-hoc-18-cac-kieu-du-lieu-chuyen-sau-date-numeric-array-object-va-nested-types-13VM9dBxVY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/elasticsearch-bai-hoc-18-cac-kieu-du-lieu-chuyen-sau-date-numeric-array-object-va-nested-types-13VM9dBxVY7</guid>
            <description><![CDATA[Qua bài 17, bạn đã thấy sự khác biệt một trời một vực giữa text và keyword. Tuy nhiên, dữ liệu thực tế của một hệ thống backend phức tạp (như log trạm...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 21:51:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Viết bug report để dev sửa ngay: mẫu 8 trường, mức độ nghiêm trọng và 10 lỗi hay gặp]]></title>
                        <link>https://viblo.asia/p/viet-bug-report-de-dev-sua-ngay-mau-8-truong-muc-do-nghiem-trong-va-10-loi-hay-gap-pPLkNQPGJRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/viet-bug-report-de-dev-sua-ngay-mau-8-truong-muc-do-nghiem-trong-va-10-loi-hay-gap-pPLkNQPGJRZ</guid>
            <description><![CDATA[Một bug được tìm ra mới đi được nửa đường. Nửa còn lại là dev hiểu đúng, tái hiện được và sửa. Bug report viết kém dẫn đến "Cannot reproduce", hỏi qua...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Siêng Studio</dc:creator>
            <pubDate>2026-10-30 21:13:06</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[One Regex, Eight Engines: What Actually Changes When You Switch Languages]]></title>
                        <link>https://viblo.asia/p/one-regex-eight-engines-what-actually-changes-when-you-switch-languages-Nj4vgOQ0J6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/one-regex-eight-engines-what-actually-changes-when-you-switch-languages-Nj4vgOQ0J6r</guid>
            <description><![CDATA[You wrote a regex in Python. It works. You paste the same pattern into a Go service and the program refuses to even compile it. Nothing about your pat...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Easy Twentyeight</dc:creator>
            <pubDate>2026-10-30 21:06:14</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[在海外开视频会议，怎样不掉线]]></title>
                        <link>https://viblo.asia/p/在海外开视频会议怎样不掉线-ymJXDZXqJkq</link>
            <guid isPermaLink="true">https://viblo.asia/p/在海外开视频会议怎样不掉线-ymJXDZXqJkq</guid>
            <description><![CDATA[疫情之后，跨国视频会议成了常态。我在海外，团队在国内，每周至少四五场会，总结了几个让会议更稳的小习惯。

会前十分钟先进会议室

提前进入测试摄像头和麦克风，发现问题还有时间处理。

选对网络

能用有线就别用无线，Wi-Fi 的话靠近路由器。国内会议软件在海外有时连接慢，有同事在用大哥云这类工具改...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">网络小笔记</dc:creator>
            <pubDate>2026-10-30 20:23:57</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Series Java Swing Bài 13: JTextField &amp; JPasswordField: Nhập liệu văn bản và mật khẩu]]></title>
                        <link>https://viblo.asia/p/series-java-swing-bai-13-jtextfield-jpasswordfield-nhap-lieu-van-ban-va-mat-khau-AoJe8lBr41j</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-java-swing-bai-13-jtextfield-jpasswordfield-nhap-lieu-van-ban-va-mat-khau-AoJe8lBr41j</guid>
            <description><![CDATA[Khi xây dựng form, ngoài việc hiển thị nhãn (JLabel) và nhận tương tác click (JButton), ứng dụng của bạn cần thu thập dữ liệu đầu vào từ người dùng. S...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Huy Hoàng</dc:creator>
            <pubDate>2026-10-30 19:22:50</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Thử AvatarCraft AI với 5 video Talking Photo: quy trình, kết quả và giới hạn cần biết]]></title>
                        <link>https://viblo.asia/p/thu-avatarcraft-ai-voi-5-video-talking-photo-quy-trinh-ket-qua-va-gioi-han-can-biet-XP4WEZApL7G</link>
            <guid isPermaLink="true">https://viblo.asia/p/thu-avatarcraft-ai-voi-5-video-talking-photo-quy-trinh-ket-qua-va-gioi-han-can-biet-XP4WEZApL7G</guid>
            <description><![CDATA[Khi nào nên thử một công cụ biến ảnh thành video nói?

Một ảnh chân dung, ảnh thú cưng hoặc hình minh họa có thể trở thành video ngắn nếu hệ thống ghé...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Carol Luo</dc:creator>
            <pubDate>2026-10-30 17:28:10</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[GLM-5.3-Flash làm được gì? Từ đọc bảng trong ảnh đến gọi API bằng Node.js]]></title>
                        <link>https://viblo.asia/p/glm-53-flash-lam-duoc-gi-tu-doc-bang-trong-anh-den-goi-api-bang-nodejs-1QLxnOQq4Aw</link>
            <guid isPermaLink="true">https://viblo.asia/p/glm-53-flash-lam-duoc-gi-tu-doc-bang-trong-anh-den-goi-api-bang-nodejs-1QLxnOQq4Aw</guid>
            <description><![CDATA[GLM-5.3-Flash là mô hình thuộc dòng GLM của Zhipu. Trong tài liệu chính thức của Z.ai, Flash và FlashX được giới thiệu với khả năng đa phương thức, hư...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">crboluo</dc:creator>
            <pubDate>2026-10-30 17:22:00</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cài Cherry Studio trên Windows và kết nối API: từ khóa truy cập đến cuộc trò chuyện đầu tiên]]></title>
                        <link>https://viblo.asia/p/cai-cherry-studio-tren-windows-va-ket-noi-api-tu-khoa-truy-cap-den-cuoc-tro-chuyen-dau-tien-ym4002mW491</link>
            <guid isPermaLink="true">https://viblo.asia/p/cai-cherry-studio-tren-windows-va-ket-noi-api-tu-khoa-truy-cap-den-cuoc-tro-chuyen-dau-tien-ym4002mW491</guid>
            <description><![CDATA[Khi đưa một API vào ứng dụng chat, tôi muốn nhìn rõ ba thứ: yêu cầu được gửi đến đâu, dùng khóa nào và gọi mô hình nào. Cherry Studio có sẵn giao diện...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">crboluo</dc:creator>
            <pubDate>2026-10-30 17:00:17</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Azure DevOps Security: 9 CI/CD Pipeline Best Practices for Protecting Healthcare Applications]]></title>
                        <link>https://viblo.asia/p/azure-devops-security-9-cicd-pipeline-best-practices-for-protecting-healthcare-applications-3RL1Bla7Vao</link>
            <guid isPermaLink="true">https://viblo.asia/p/azure-devops-security-9-cicd-pipeline-best-practices-for-protecting-healthcare-applications-3RL1Bla7Vao</guid>
            <description><![CDATA[Healthcare organizations increasingly rely on cloud-native applications, digital patient platforms, electronic health records (EHRs), and connected he...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Diwakar Exe</dc:creator>
            <pubDate>2026-10-30 16:17:31</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Né Tránh Phát Hiện Trong Chuỗi Cung Ứng AI/ML: Khi Picklescan Không Còn Đủ]]></title>
                        <link>https://viblo.asia/p/ne-tranh-phat-hien-trong-chuoi-cung-ung-aiml-khi-picklescan-khong-con-du-wd43ExArLX9</link>
            <guid isPermaLink="true">https://viblo.asia/p/ne-tranh-phat-hien-trong-chuoi-cung-ung-aiml-khi-picklescan-khong-con-du-wd43ExArLX9</guid>
            <description><![CDATA[Đây là bài thứ ba trong series Supply Chain Attack nhằm vào hệ thống AI/ML. Bài 1 đã phân tích MCP backdoor, Dependency Confusion và Pickle deserializ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">fatfish</dc:creator>
            <pubDate>2026-10-30 15:37:36</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Dùng GPT-4.1 mini để hợp nhất tài liệu: từ lời gọi API đến dữ liệu có thể kiểm tra]]></title>
                        <link>https://viblo.asia/p/dung-gpt-41-mini-de-hop-nhat-tai-lieu-tu-loi-goi-api-den-du-lieu-co-the-kiem-tra-AoJe8jZA41j</link>
            <guid isPermaLink="true">https://viblo.asia/p/dung-gpt-41-mini-de-hop-nhat-tai-lieu-tu-loi-goi-api-den-du-lieu-co-the-kiem-tra-AoJe8jZA41j</guid>
            <description><![CDATA[GPT-4.1 mini là một model nhỏ hơn trong dòng GPT-4.1, được OpenAI giới thiệu ngày 14/4/2025. Model nhận văn bản và hình ảnh, trả về văn bản, đồng thời...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">crboluo</dc:creator>
            <pubDate>2026-10-30 15:36:58</pubDate>
                                                                                                        </item>
            </channel>
</rss>
