<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="vi">
  <title type="text">Blog của KomuraSoft LLC (Tiếng Việt)</title>
  <subtitle type="text">Bài viết thực tiễn của KomuraSoft LLC về phát triển website, SEO, Google Ads, phát triển cho Windows, khai thác hệ thống hiện có và điều tra lỗi.</subtitle>
  <id>https://comcomponent.com/vi/feed.xml</id>
  <link rel="alternate" type="text/html" hreflang="ja" href="https://comcomponent.com/blog/"/>
  <link rel="alternate" type="text/html" hreflang="en" href="https://comcomponent.com/en/blog/"/>
  <link rel="alternate" type="text/html" hreflang="ko" href="https://comcomponent.com/ko/blog/"/>
  <link rel="alternate" type="text/html" hreflang="zh-Hant" href="https://comcomponent.com/zh-TW/blog/"/>
  <link rel="alternate" type="text/html" hreflang="zh-Hans" href="https://comcomponent.com/zh-CN/blog/"/>
  <link rel="alternate" type="text/html" hreflang="ar" href="https://comcomponent.com/ar/blog/"/>
  <link rel="alternate" type="text/html" hreflang="fr" href="https://comcomponent.com/fr/blog/"/>
  <link rel="alternate" type="text/html" hreflang="ru" href="https://comcomponent.com/ru/blog/"/>
  <link rel="alternate" type="text/html" hreflang="it" href="https://comcomponent.com/it/blog/"/>
  <link rel="alternate" type="text/html" hreflang="de" href="https://comcomponent.com/de/blog/"/>
  <link rel="alternate" type="text/html" hreflang="es" href="https://comcomponent.com/es/blog/"/>
  <link rel="alternate" type="text/html" hreflang="he" href="https://comcomponent.com/he/blog/"/>
  <link rel="alternate" type="text/html" hreflang="id" href="https://comcomponent.com/id/blog/"/>
  <link rel="alternate" type="text/html" hreflang="hi" href="https://comcomponent.com/hi/blog/"/>
  <link rel="alternate" type="text/html" hreflang="bn" href="https://comcomponent.com/bn/blog/"/>
  <link rel="alternate" type="text/html" hreflang="th" href="https://comcomponent.com/th/blog/"/>
  <link rel="alternate" type="text/html" hreflang="vi" href="https://comcomponent.com/vi/blog/"/>
  <link rel="self" type="application/atom+xml" href="https://comcomponent.com/vi/feed.xml"/>
  <updated>2026-08-22T00:00:00+00:00</updated>
  <rights>© 2026 KomuraSoft LLC</rights>
  <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator>
  <author>
    <name>小村 豪</name>
    <uri>https://comcomponent.com/vi/profile/go-komura/</uri>
  </author>
  
  <entry xml:lang="vi">
    <title type="text">Bên trong ảo hóa Windows (Phần 3) — Máy ảo khởi động trong vài giây: Vì sao WSL2, Windows Sandbox và container lại nhẹ</title>
    <id>https://comcomponent.com/vi/blog/windows-virtualization-internals-wsl2-sandbox-containers/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-virtualization-internals-wsl2-sandbox-containers/"/>
    <published>2026-08-22T04:00:00+00:00</published>
    <updated>2026-08-22T00:00:00+00:00</updated>
    
    <summary type="text">Vì sao WSL2 và Windows Sandbox khởi động trong vài giây và cảm giác nhẹ đến vậy? Bài viết này giải thích các cơ chế, từ ảnh cơ sở động và ánh xạ trực tiếp qua phân bổ bộ nhớ động tới container cô lập Hyper-V.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Ảo hóa"/>
    
    <category term="WSL2"/>
    
    <category term="Windows Sandbox"/>
    
    <category term="Container"/>
    
    <category term="Hyper-V"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Bên trong ảo hóa Windows (Phần 2) — Bộ nhớ ngay cả kernel cũng không thấy: VBS, HVCI và Credential Guard</title>
    <id>https://comcomponent.com/vi/blog/windows-virtualization-internals-vbs-hvci-credential-guard/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-virtualization-internals-vbs-hvci-credential-guard/"/>
    <published>2026-08-22T03:00:00+00:00</published>
    <updated>2026-08-22T00:00:00+00:00</updated>
    
    <summary type="text">Khi cài sạch trên phần cứng tương thích, VBS được bật mặc định và dùng hypervisor cùng SLAT để tạo cô lập mạnh hơn kernel. Bài viết này giải thích cấu trúc của VTL, Secure Kernel, HVCI và Credential Guard.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Ảo hóa"/>
    
    <category term="Bảo mật"/>
    
    <category term="VBS"/>
    
    <category term="HVCI"/>
    
    <category term="Credential Guard"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Bên trong ảo hóa Windows (Phần 1) — Windows của bạn thực sự chạy ở đâu? Hypervisor và phân vùng</title>
    <id>https://comcomponent.com/vi/blog/windows-virtualization-internals-hypervisor/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-virtualization-internals-hypervisor/"/>
    <published>2026-08-22T02:00:00+00:00</published>
    <updated>2026-08-22T00:00:00+00:00</updated>
    
    <summary type="text">Khi bạn bật Hyper-V, chính Windows máy chủ chạy trên hypervisor như phân vùng gốc. Bài viết này giải thích nền tảng ảo hóa qua vai trò của VT-x, SLAT và VMBus.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Ảo hóa"/>
    
    <category term="Hyper-V"/>
    
    <category term="Hypervisor"/>
    
    <category term="SLAT"/>
    
    <category term="VMBus"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">API thread pool Win32 — Đồng thời mà không tạo luồng, với CreateThreadpoolWork</title>
    <id>https://comcomponent.com/vi/blog/win32-thread-pool-api/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/win32-thread-pool-api/"/>
    <published>2026-08-22T01:40:00+00:00</published>
    <updated>2026-08-22T00:00:00+00:00</updated>
    
    <summary type="text">Bạn đang rải các lời gọi CreateThread khắp mã native? Bài viết này giải thích API thread pool Win32 được thiết kế lại từ Vista — bốn đối tượng work, timer, wait và io, nhóm dọn dẹp, và những gì bạn không được làm bên trong callback — dựa trên nguồn gốc.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Đa luồng"/>
    
    <category term="C++"/>
    
    <category term="Phát triển Windows"/>
    
    <category term="Win32 API"/>
    
    <category term="Cải thiện hiệu năng"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Named pipe trong thực tiễn — IPC chuẩn của Windows, từ thiết kế đến bảo mật</title>
    <id>https://comcomponent.com/vi/blog/windows-named-pipes-practical-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-named-pipes-practical-guide/"/>
    <published>2026-08-22T01:30:00+00:00</published>
    <updated>2026-08-22T00:00:00+00:00</updated>
    
    <summary type="text">Hướng dẫn thực tiễn về named pipe, cơ chế giao tiếp giữa các tiến trình chuẩn của Windows. Bài viết sắp xếp, từ nguồn gốc, việc chọn giữa chế độ byte và chế độ thông điệp, thiết kế máy chủ phục vụ nhiều client, bảo mật ACL và mạo danh, cùng luồng named pipe trong .NET.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="IPC"/>
    
    <category term="Phát triển Windows"/>
    
    <category term="C#"/>
    
    <category term="C++"/>
    
    <category term="Bảo mật"/>
    
    <category term="Win32 API"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Ứng dụng hỏng khi thức dậy từ ngủ — Sự kiện nguồn Windows và cách viết ứng dụng nghiệp vụ sống sót</title>
    <id>https://comcomponent.com/vi/blog/windows-sleep-resume-power-events/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-sleep-resume-power-events/"/>
    <published>2026-08-22T01:20:00+00:00</published>
    <updated>2026-08-22T00:00:00+00:00</updated>
    
    <summary type="text">Bạn mở laptop và kết nối của ứng dụng nghiệp vụ đã chết — nguyên nhân là thiết kế chưa tính đến ngủ. Bài viết này trình bày luồng thông báo WM_POWERBROADCAST, hành vi Modern Standby, thiết kế ngắt/kết nối lại, ức chế ngủ, và lệnh điều tra, tất cả từ nguồn gốc.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Quản lý nguồn"/>
    
    <category term="Phát triển Windows"/>
    
    <category term="Ứng dụng nghiệp vụ"/>
    
    <category term="Điều khiển thiết bị"/>
    
    <category term="Xử lý sự cố"/>
    
    <category term="Win32 API"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">DllMain và Loader Lock — Lý do thật sự bạn bị bảo &quot;đừng làm gì trong khởi tạo DLL&quot;</title>
    <id>https://comcomponent.com/vi/blog/dllmain-loader-lock/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/dllmain-loader-lock/"/>
    <published>2026-08-22T01:10:00+00:00</published>
    <updated>2026-08-22T00:00:00+00:00</updated>
    
    <summary type="text">Vì sao bạn không được gọi LoadLibrary hoặc đồng bộ với luồng khác từ DllMain. Dựa trên nguồn gốc, bài viết giải thích cách loader lock tuần tự hóa mọi thông báo DLL, các kịch bản kinh điển trong đó deadlock được bảo đảm về cấu trúc, thiết kế đúng là hoãn khởi tạo, và cách điều tra treo.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="DLL"/>
    
    <category term="Phát triển Windows"/>
    
    <category term="C++"/>
    
    <category term="Xử lý sự cố"/>
    
    <category term="Đa luồng"/>
    
    <category term="Win32 API"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">&quot;Không phản hồi&quot; thực sự là gì — Cách Windows quyết định ứng dụng đã treo, và cách thiết kế ứng dụng không treo</title>
    <id>https://comcomponent.com/vi/blog/windows-app-not-responding-hang-mechanism/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-app-not-responding-hang-mechanism/"/>
    <published>2026-08-22T01:00:00+00:00</published>
    <updated>2026-08-22T00:00:00+00:00</updated>
    
    <summary type="text">&quot;Không phản hồi&quot; của Windows là cơ chế trong đó hệ điều hành phán rằng một cửa sổ chưa lấy thông điệp trong 5 giây và thay nó bằng cửa sổ ma. Bài viết này trình bày bên trong phán đoán đó, các nguyên nhân treo kinh điển, thiết kế chuyển việc nặng khỏi luồng UI, và thủ tục điều tra treo.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Phát triển Windows"/>
    
    <category term="Xử lý sự cố"/>
    
    <category term="Đa luồng"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="Win32 API"/>
    
    <category term="Thiết kế UI"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Thức tỉnh giả — Vì sao biến điều kiện thức &quot;mà không được thông báo&quot; và cách chờ đúng trên Windows</title>
    <id>https://comcomponent.com/vi/blog/windows-condition-variable-spurious-wakeup/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-condition-variable-spurious-wakeup/"/>
    <published>2026-08-22T00:00:00+00:00</published>
    <updated>2026-08-22T00:00:00+00:00</updated>
    
    <summary type="text">Lần chờ của biến điều kiện có thể trở về ngay cả khi không có thông báo nào tới (thức tỉnh giả). Bài viết này giải thích, từ triển khai Windows, vì sao đặc tả cho phép điều đó, và chỉ ra cách chờ đúng — với vòng while và vị từ — trong Win32, C++ và C#.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Đa luồng"/>
    
    <category term="Biến điều kiện"/>
    
    <category term="Đồng bộ hóa"/>
    
    <category term="C++"/>
    
    <category term="C#"/>
    
    <category term="Win32 API"/>
    
    <category term="Xử lý sự cố"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Clipboard và kéo thả hoạt động như thế nào — Xử lý đúng truyền dữ liệu OLE trong ứng dụng nghiệp vụ</title>
    <id>https://comcomponent.com/vi/blog/windows-clipboard-drag-drop-ole-data-transfer/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-clipboard-drag-drop-ole-data-transfer/"/>
    <published>2026-08-21T00:10:00+00:00</published>
    <updated>2026-08-21T00:00:00+00:00</updated>
    
    <summary type="text">Dán bảng Excel thì định dạng tan; đóng ứng dụng nguồn thì không còn dán được — cả hai đến từ việc clipboard đặt cùng nội dung ở nhiều định dạng cùng lúc. Bài viết này trình bày định dạng chuẩn, kết xuất trì hoãn, kéo thả OLE, và các chính sách chi phối lịch sử clipboard cùng đồng bộ đám mây.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Clipboard"/>
    
    <category term="Kéo thả"/>
    
    <category term="OLE"/>
    
    <category term="COM"/>
    
    <category term="Phát triển Windows"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">WPR/WPA trong thực tế — Dẫn nhập điều tra hiệu năng toàn hệ thống cho &quot;cả PC chậm&quot;</title>
    <id>https://comcomponent.com/vi/blog/wpr-wpa-system-performance-analysis/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/wpr-wpa-system-performance-analysis/"/>
    <published>2026-08-21T00:05:00+00:00</published>
    <updated>2026-08-21T00:00:00+00:00</updated>
    
    <summary type="text">Các vấn đề hiệu năng như &quot;cả PC chậm&quot; hoặc &quot;khởi động chậm&quot; mà Task Manager không theo được có thể điều tra bằng cách bắt và đọc một vết ETW toàn OS với WPR/WPA. Bài viết này trình bày quy trình bắt với wpr.exe và cách đọc CPU, chờ, cùng I/O đĩa trong WPA.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Hiệu năng"/>
    
    <category term="WPR"/>
    
    <category term="WPA"/>
    
    <category term="ETW"/>
    
    <category term="Điều tra hiệu năng"/>
    
    <category term="Xử lý sự cố"/>
    
    <category term="Phát triển Windows"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Tắt Windows nhìn từ ứng dụng của bạn — Sống sót đúng với thông báo thoát, khởi động lại và mất điện</title>
    <id>https://comcomponent.com/vi/blog/windows-shutdown-handling-for-apps/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-shutdown-handling-for-apps/"/>
    <published>2026-08-21T00:00:00+00:00</published>
    <updated>2026-08-21T00:00:00+00:00</updated>
    
    <summary type="text">Một lần khởi động lại đêm của Windows Update làm hỏng dữ liệu đo — tai nạn kiểu đó có thể ngăn bằng thiết kế. Bài viết này trình bày, từ nguồn gốc, cách nhận thông báo thoát như WM_QUERYENDSESSION và PRESHUTDOWN, cách xong dọn dẹp trong vài giây, và cách ghi để mất điện không để lại tệp hỏng.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Tắt máy"/>
    
    <category term="Phát triển Windows"/>
    
    <category term="Dịch vụ Windows"/>
    
    <category term="PC thiết bị"/>
    
    <category term="Toàn vẹn dữ liệu"/>
    
    <category term="Vận hành dài hạn"/>
    
    <category term="UPS"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Dẫn nhập khả năng tiếp cận ứng dụng Windows — Chuẩn bị cho UI Automation và yêu cầu điều chỉnh hợp lý</title>
    <id>https://comcomponent.com/vi/blog/windows-app-accessibility-ui-automation-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-app-accessibility-ui-automation-guide/"/>
    <published>2026-08-20T00:45:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    
    <summary type="text">Với bối cảnh sửa đổi Đạo luật Xóa bỏ Phân biệt đối xử với Người khuyết tật có hiệu lực tháng 4 năm 2024, bài viết này sắp xếp đặt tên trong WinForms/WPF, thao tác bàn phím, độ tương phản, và công cụ xác minh từ góc thực hành, lấy UI Automation — cơ chế trình đọc màn hình dùng để đọc ứng dụng Windows — làm trung tâm.</summary>
    
    
    
    <category term="Khả năng tiếp cận"/>
    
    <category term="UI Automation"/>
    
    <category term="Windows"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="Điều chỉnh hợp lý"/>
    
    <category term="Trình đọc màn hình"/>
    
    <category term="Luật chống phân biệt đối xử người khuyết tật"/>
    
    <category term="Ứng dụng nghiệp vụ"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Cạm bẫy font và ký tự Nhật — xử lý JIS2004, IVS và gaiji trong ứng dụng nghiệp vụ</title>
    <id>https://comcomponent.com/vi/blog/japanese-fonts-jis2004-ivs-gaiji-business-apps/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/japanese-fonts-jis2004-ivs-gaiji-business-apps/"/>
    <published>2026-08-20T00:40:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    
    <summary type="text">&quot;Ký tự 葛 trông khác trên màn hình và trên biểu mẫu in.&quot; &quot;Một ký tự trong tên người không hiển thị.&quot; Rắc rối ký tự trong hệ thống nghiệp vụ trở nên xử lý được khi bạn tách lớp mã ký tự (dữ liệu) khỏi lớp font (diện mạo). Bài viết này trình bày cách xử lý thực tế thay đổi glyph JIS2004, bộ chọn biến thể chữ tượng hình, và gaiji (EUDC).</summary>
    
    
    
    <category term="Font Nhật"/>
    
    <category term="JIS2004"/>
    
    <category term="Ký tự biến thể"/>
    
    <category term="Gaiji"/>
    
    <category term="Mã hóa ký tự"/>
    
    <category term="Unicode"/>
    
    <category term="Ứng dụng nghiệp vụ"/>
    
    <category term="Báo cáo"/>
    
    <category term="Windows"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Từ Group Policy sang Intune — hướng dẫn di chuyển quản lý thiết bị cho doanh nghiệp vừa và nhỏ</title>
    <id>https://comcomponent.com/vi/blog/gpo-to-intune-migration-guide-sme/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/gpo-to-intune-migration-guide-sme/"/>
    <published>2026-08-20T00:35:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    
    <summary type="text">Khi máy chủ AD đến hạn thay, nên giữ Group Policy hay chuyển sang Entra ID plus Intune? Bài viết này sắp xếp, cho doanh nghiệp vừa và nhỏ, khác biệt cách hai bên áp dụng, giấy phép, kiểm kê bằng Group Policy analytics, kịch bản di chuyển năm giai đoạn, và các cạm bẫy.</summary>
    
    
    
    <category term="Intune"/>
    
    <category term="Group Policy"/>
    
    <category term="MDM"/>
    
    <category term="Microsoft Entra ID"/>
    
    <category term="Quản lý thiết bị"/>
    
    <category term="Doanh nghiệp vừa và nhỏ"/>
    
    <category term="Hệ thống thông tin"/>
    
    <category term="Windows"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Chọn tài khoản dịch vụ Windows — LocalSystem, tài khoản ảo và gMSA</title>
    <id>https://comcomponent.com/vi/blog/windows-service-accounts-gmsa-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-service-accounts-gmsa-guide/"/>
    <published>2026-08-20T00:30:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    
    <summary type="text">Bạn vẫn chạy dịch vụ Windows dưới LocalSystem? Bài viết so sánh đặc quyền và danh tính mạng của LocalService, NetworkService, tài khoản ảo, người dùng miền và gMSA trong bảng quyết định, rồi giải thích cách vận hành với đặc quyền tối thiểu.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Dịch vụ Windows"/>
    
    <category term="Tài khoản dịch vụ"/>
    
    <category term="gMSA"/>
    
    <category term="LocalSystem"/>
    
    <category term="Tài khoản ảo"/>
    
    <category term="Bảo mật"/>
    
    <category term="Active Directory"/>
    
    <category term="Đặc quyền tối thiểu"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">OneDrive &quot;Tệp theo yêu cầu&quot; và ứng dụng nghiệp vụ — giả định mà chỗ giữ chỗ phá vỡ và cách xử lý</title>
    <id>https://comcomponent.com/vi/blog/onedrive-files-on-demand-business-apps/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/onedrive-files-on-demand-business-apps/"/>
    <published>2026-08-20T00:25:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    
    <summary type="text">CSV trên máy tính không mở được, hoặc nhập thất bại với &quot;không tìm thấy tệp&quot; — nguyên nhân có thể là Known Folder Move và Tệp theo yêu cầu của OneDrive. Bài viết giải thích chỗ giữ chỗ, cách phán đoán từ thuộc tính, và việc app cùng CNTT có thể làm.</summary>
    
    
    
    <category term="OneDrive"/>
    
    <category term="Tệp theo yêu cầu"/>
    
    <category term="KFM"/>
    
    <category term="Windows"/>
    
    <category term="Ứng dụng nghiệp vụ"/>
    
    <category term="Lưu trữ đám mây"/>
    
    <category term="Hệ thống tệp"/>
    
    <category term="Khắc phục sự cố"/>
    
    <category term="Hệ thống thông tin"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Cách Windows tương thích ứng dụng hoạt động — chế độ tương thích, shim và Compatibility Administrator</title>
    <id>https://comcomponent.com/vi/blog/windows-appcompat-shims-compatibility-mode/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-appcompat-shims-compatibility-mode/"/>
    <published>2026-08-20T00:20:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    
    <summary type="text">Vì sao tích chế độ tương thích lại làm ứng dụng cũ chạy được. Bài viết giải thích shim (hook API), các shim tiêu biểu, triển khai bằng Compatibility Administrator và sdbinst, giới hạn của chúng, và quyết định giữa kéo dài tuổi thọ hay di chuyển.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Chế độ tương thích"/>
    
    <category term="Shim"/>
    
    <category term="Tương thích ứng dụng"/>
    
    <category term="Compatibility Administrator"/>
    
    <category term="Tái sử dụng tài sản hiện có"/>
    
    <category term="Phát triển Windows"/>
    
    <category term="Hệ thống hiện có"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Chiều sâu bộ nhớ Windows (phần 3) — Đối tượng section và copy-on-write: DLL và ánh xạ tệp thực sự là gì</title>
    <id>https://comcomponent.com/vi/blog/windows-memory-internals-section-copy-on-write/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-memory-internals-section-copy-on-write/"/>
    <published>2026-08-20T00:20:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    
    <summary type="text">Bài này nối đối tượng section, ánh xạ image và dữ liệu, cache dùng chung và copy-on-write để giải thích cách DLL và bộ nhớ dùng chung chia sẻ trang vật lý.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Quản lý bộ nhớ"/>
    
    <category term="Bộ nhớ dùng chung"/>
    
    <category term="Ánh xạ tệp"/>
    
    <category term="Copy-on-Write"/>
    
    <category term="DLL"/>
    
    <category term="Cache Manager"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Tích hợp shell Windows ngày nay ── menu ngữ cảnh, liên kết tệp và những gì đã đổi trên Windows 11</title>
    <id>https://comcomponent.com/vi/blog/windows-shell-integration-context-menu-file-association/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-shell-integration-context-menu-file-association/"/>
    <published>2026-08-20T00:15:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    
    <summary type="text">Vì sao menu ngữ cảnh Windows 11 giấu mục sau «Hiện thêm tùy chọn»: từ nền tảng phần mở rộng → ProgID → verb, lưu ý phần mở rộng shell cổ điển, đến đường IExplorerCommand và MSIX/sparse package.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Phần mở rộng shell"/>
    
    <category term="Menu ngữ cảnh"/>
    
    <category term="Liên kết tệp"/>
    
    <category term="COM"/>
    
    <category term="Windows 11"/>
    
    <category term="File Explorer"/>
    
    <category term="MSIX"/>
    
    <category term="Phát triển Windows"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Proxy doanh nghiệp và ứng dụng Windows — sắp xếp việc phân giải proxy trong WinINET, WinHTTP và .NET</title>
    <id>https://comcomponent.com/vi/blog/windows-proxy-wininet-winhttp-dotnet/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-proxy-wininet-winhttp-dotnet/"/>
    <published>2026-08-20T00:10:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    
    <summary type="text">Trình duyệt đi được, nhưng chỉ ứng dụng nghiệp vụ không vượt proxy doanh nghiệp. Nguyên nhân thường là lệch nhau về thiết lập proxy mà WinINET, WinHTTP, biến môi trường và .NET mỗi bên đọc. Bài viết sắp xếp PAC và WPAD, proxy xác thực, kiểm tra TLS và quy trình cô lập.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Proxy"/>
    
    <category term="WinHTTP"/>
    
    <category term="WinINET"/>
    
    <category term=".NET"/>
    
    <category term="HttpClient"/>
    
    <category term="PAC"/>
    
    <category term="WPAD"/>
    
    <category term="Mạng"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Chiều sâu bộ nhớ Windows (phần 2) — Đời sống của một trang vật lý: năm danh sách và sự thật về tệp trang</title>
    <id>https://comcomponent.com/vi/blog/windows-memory-internals-page-lifecycle-pagefile/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-memory-internals-page-lifecycle-pagefile/"/>
    <published>2026-08-20T00:10:00+00:00</published>
    <updated>2026-09-03T00:00:00+00:00</updated>
    
    <summary type="text">Bài viết nối cơ sở PFN, Standby, Modified, nén bộ nhớ và tệp trang để giải thích trang vật lý đi đâu sau khi rời Working Set.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Quản lý bộ nhớ"/>
    
    <category term="Tệp trang"/>
    
    <category term="Working Set"/>
    
    <category term="Standby"/>
    
    <category term="RAMMap"/>
    
    <category term="Giám sát hiệu năng"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Bắt gói tin trên Windows trong thực tế — chọn giữa pktmon, netsh trace và Wireshark</title>
    <id>https://comcomponent.com/vi/blog/windows-packet-capture-pktmon-netsh-wireshark/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-packet-capture-pktmon-netsh-wireshark/"/>
    <published>2026-08-20T00:05:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    
    <summary type="text">Sự cố chỉ để lại &quot;timeout&quot; trong nhật ký ứng dụng được điều tra một tầng sâu hơn bằng cách nhìn các gói tin thực sự đi trên dây. Ngay cả khi không cài được Wireshark trên máy chủ, pktmon và netsh trace sẵn có vẫn bắt được. Bài viết hướng dẫn cách tách bắt gói và phân tích tại hiện trường.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Bắt gói tin"/>
    
    <category term="pktmon"/>
    
    <category term="netsh"/>
    
    <category term="Wireshark"/>
    
    <category term="Mạng"/>
    
    <category term="Xử lý sự cố"/>
    
    <category term="TCP/IP"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Chiều sâu bộ nhớ Windows (phần 1) — Khoảnh khắc địa chỉ ảo trở thành RAM vật lý: page fault từ đầu đến cuối</title>
    <id>https://comcomponent.com/vi/blog/windows-memory-internals-page-fault/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-memory-internals-page-fault/"/>
    <published>2026-08-20T00:00:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    
    <summary type="text">Bài viết nối VirtualAlloc, VAD, bảng trang, TLB, demand-zero và hard fault để giải thích khoảnh khắc một địa chỉ ảo được gán RAM vật lý.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Quản lý bộ nhớ"/>
    
    <category term="VirtualAlloc"/>
    
    <category term="Page fault"/>
    
    <category term="VAD"/>
    
    <category term="Giám sát hiệu năng"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Đọc mã lỗi Windows — cấu trúc ba lớp Win32, HRESULT và NTSTATUS</title>
    <id>https://comcomponent.com/vi/blog/windows-error-codes-win32-hresult-ntstatus/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-error-codes-win32-hresult-ntstatus/"/>
    <published>2026-08-20T00:00:00+00:00</published>
    <updated>2026-08-20T00:00:00+00:00</updated>
    
    <summary type="text">Khi 0x80004005 xuất hiện, hãy tách nó trước khi tìm. Bài viết trình bày ba lớp Win32, HRESULT và NTSTATUS, mẫu 0x8007xxxx, và cách tra với err.exe cùng PowerShell.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Mã lỗi"/>
    
    <category term="HRESULT"/>
    
    <category term="NTSTATUS"/>
    
    <category term="Win32 API"/>
    
    <category term="Khắc phục sự cố"/>
    
    <category term="Gỡ lỗi"/>
    
    <category term="Phát triển Windows"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Bình luận đề thi Registered Information Security Specialist, Xuân 2024 (Reiwa 6), câu hỏi buổi chiều Q1 — JWT alg=none, ủy quyền API và giảm thiểu tạm thời bằng WAF</title>
    <id>https://comcomponent.com/vi/blog/sc-exam-r6s-pm-q1-api-security/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/sc-exam-r6s-pm-q1-api-security/"/>
    <published>2026-08-06T10:00:00+00:00</published>
    <updated>2026-08-06T00:00:00+00:00</updated>
    
    <summary type="text">Lấy câu hỏi 1 buổi chiều của kỳ thi Registered Information Security Specialist Xuân 2024 (Reiwa 6) làm tình huống, bài viết này giải thích alg=none của JWT, ủy quyền API, Mass Assignment, tấn công vét cạn mã xác thực bốn chữ số, và giảm thiểu tạm thời bằng WAF.</summary>
    
    
    
    <category term="Registered Information Security Specialist"/>
    
    <category term="Chuyên viên bảo mật đã đăng ký"/>
    
    <category term="API"/>
    
    <category term="Bảo mật API"/>
    
    <category term="JWT"/>
    
    <category term="Xác thực"/>
    
    <category term="Ủy quyền"/>
    
    <category term="WAF"/>
    
    <category term="Log4Shell"/>
    
    <category term="An ninh thông tin"/>
    
    <category term="Lỗ hổng"/>
    
    <category term="IPA"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">&quot;Mức dùng bộ nhớ&quot; của Windows thực sự nghĩa là gì? — Đọc đúng Working Set, Private Bytes, Commit và tệp trang</title>
    <id>https://comcomponent.com/vi/blog/windows-memory-usage-working-set-commit/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/windows-memory-usage-working-set-commit/"/>
    <published>2026-08-04T01:00:00+00:00</published>
    <updated>2026-08-04T00:00:00+00:00</updated>
    
    <summary type="text">Cột Memory của Task Manager, Working Set, Private Bytes và Commit không phải cùng một con số. Bài viết này giải thích quan hệ bộ nhớ ảo và vật lý trên Windows, vai trò của tệp trang, và các chỉ số cần xem khi điều tra áp lực bộ nhớ hoặc rò rỉ.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Phát triển Windows"/>
    
    <category term="Quản lý bộ nhớ"/>
    
    <category term="Working Set"/>
    
    <category term="Private Bytes"/>
    
    <category term="Commit"/>
    
    <category term="Tệp trang"/>
    
    <category term="Giám sát hiệu năng"/>
    
    <category term="Khắc phục sự cố"/>
    
    <category term="Sysinternals"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Thực hành đa luồng tốt nhất: bản Java — quy ước thời đại virtual thread</title>
    <id>https://comcomponent.com/vi/blog/multithreading-best-practices-java/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/multithreading-best-practices-java/"/>
    <published>2026-08-02T01:30:00+00:00</published>
    <updated>2026-08-02T00:00:00+00:00</updated>
    
    <summary type="text">Trong Java, thực hành đã ổn định của đa luồng là không tạo thread trực tiếp mà dựa trên ExecutorService và virtual thread. Bài viết nêu các nguyên tắc thực tế: chọn synchronized hay ReentrantLock, dừng hợp tác qua interruption, thao tác nguyên tử trên ConcurrentHashMap, và EDT của Swing.</summary>
    
    
    
    <category term="Đa luồng"/>
    
    <category term="Java"/>
    
    <category term="Ứng dụng nghiệp vụ"/>
    
    <category term="Điều tra lỗi"/>
    
    <category term="Thiết kế"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Thực hành tốt nhất về đa luồng: Bản C — Viết an toàn theo cách Win32 API</title>
    <id>https://comcomponent.com/vi/blog/multithreading-best-practices-c/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/multithreading-best-practices-c/"/>
    <published>2026-08-02T01:20:00+00:00</published>
    <updated>2026-08-02T00:00:00+00:00</updated>
    
    <summary type="text">Cách tiếp cận đã ổn định cho đa luồng trong C với Win32 là tạo luồng qua _beginthreadex, khóa SRW và biến điều kiện, hàm Interlocked, cùng thiết kế dừng xây trên sự kiện dừng cộng WaitForMultipleObjects. Bài cũng bàn nguy hiểm của TerminateThread và ràng buộc của DllMain.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Đa luồng"/>
    
    <category term="C"/>
    
    <category term="Win32 API"/>
    
    <category term="Ứng dụng nghiệp vụ"/>
    
    <category term="Điều tra lỗi"/>
    
    <category term="Thiết kế"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="vi">
    <title type="text">Thực hành tốt nhất về đa luồng: ấn bản C++ — loại bỏ sự cố bằng cấu trúc với RAII và jthread</title>
    <id>https://comcomponent.com/vi/blog/multithreading-best-practices-cpp/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/vi/blog/multithreading-best-practices-cpp/"/>
    <published>2026-08-02T01:10:00+00:00</published>
    <updated>2026-08-02T00:00:00+00:00</updated>
    
    <summary type="text">Trong C++, đa luồng là thế giới mà data race chính là hành vi không xác định. Bài viết lần theo bẫy hàm hủy std::thread, thiết kế cơ chế dừng với jthread và stop_token, tránh deadlock bằng scoped_lock, vai trò đúng của atomic, và cách chọn giữa thư viện chuẩn và API đồng bộ Win32.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Đa luồng"/>
    
    <category term="C++"/>
    
    <category term="Visual Studio"/>
    
    <category term="Ứng dụng nghiệp vụ"/>
    
    <category term="Điều tra lỗi"/>
    
    <category term="Thiết kế"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
</feed>
