Blog
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.
Tìm kiếm AI trên toàn site
Truy vấn tìm kiếm được gửi tới Cloudflare AI Search để tạo kết quả. Vui lòng không nhập thông tin cá nhân.
-
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ẹ
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 qu...
-
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
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...
-
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
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.
-
API thread pool Win32 — Đồng thời mà không tạo luồng, với CreateThreadpoolWork
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, w...
-
Named pipe trong thực tiễn — IPC chuẩn của Windows, từ thiết kế đến bảo mật
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ế ...
-
Ứ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
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...
-
DllMain và Loader Lock — Lý do thật sự bạn bị bảo "đừng làm gì trong khởi tạo DLL"
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 ...
-
"Không phản hồi" 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
"Không phản hồi" 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...
-
Thức tỉnh giả — Vì sao biến điều kiện thức "mà không được thông báo" và cách chờ đúng trên Windows
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...
-
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ụ
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...
-
WPR/WPA trong thực tế — Dẫn nhập điều tra hiệu năng toàn hệ thống cho "cả PC chậm"
Các vấn đề hiệu năng như "cả PC chậm" hoặc "khởi động chậm" 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/...
-
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
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...
-
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ý
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, tha...
-
Cạm bẫy font và ký tự Nhật — xử lý JIS2004, IVS và gaiji trong ứng dụng nghiệp vụ
"Ký tự 葛 trông khác trên màn hình và trên biểu mẫu in." "Một ký tự trong tên người không hiển thị." Rắc rối ký tự trong hệ thống nghiệp vụ trở nên xử lý được...
-
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ỏ
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...
-
Chọn tài khoản dịch vụ Windows — LocalSystem, tài khoản ảo và gMSA
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...
-
OneDrive "Tệp theo yêu cầu" và ứng dụng nghiệp vụ — giả định mà chỗ giữ chỗ phá vỡ và cách xử lý
CSV trên máy tính không mở được, hoặc nhập thất bại với "không tìm thấy tệp" — nguyên nhân có thể là Known Folder Move và Tệp theo yêu cầu của OneDrive. Bài ...
-
Cách Windows tương thích ứng dụng hoạt động — chế độ tương thích, shim và Compatibility Administrator
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 Administ...
-
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ì
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ý.
-
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
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 IExp...
-
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
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...
-
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
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.
-
Bắt gói tin trên Windows trong thực tế — chọn giữa pktmon, netsh trace và Wireshark
Sự cố chỉ để lại "timeout" 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 W...
-
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
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ý.
-
Đọc mã lỗi Windows — cấu trúc ba lớp Win32, HRESULT và NTSTATUS
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 Power...
-
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
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, ...
-
"Mức dùng bộ nhớ" của Windows thực sự nghĩa là gì? — Đọc đúng Working Set, Private Bytes, Commit và tệp trang
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 Window...
-
Thực hành đa luồng tốt nhất: bản Java — quy ước thời đại virtual thread
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...
-
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
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 ...
-
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
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à ...