nói dối e blog

"Bẫy" UTF-16 Trên Windows: Bài Học Xương Máu Từ Thực Chiến Sửa Bug Mã Hóa Unicode

Gần đây, tôi đã đóng góp sửa lỗi đồng thời cho hàng loạt dự án mã nguồn mở nổi tiếng - tất cả đều vướng phải cùng một vấn đề: Thiếu sót trong xử lý Unicode trên Windows. Câu chuyện bắt nguồn từ lịch sử hình thành của hệ điều hành này và sự khác biệt trong thiết kế API so với các nền tảng hiện đại.

Bối cảnh lịch sử và hệ quả công nghệ

Windows - với di sản phần mềm hàng thập kỷ - vẫn đang mang theo “túi bom” mang tên UTF-16. Trong khi thế giới đã thống nhất dùng UTF-8 làm chuẩn mã hóa Unicode, Microsoft lại chọn con đường riêng khi thiết kế các API hệ thống dựa trên UTF-16. Chưa hết, họ còn để lại đống hỗn độn với các API ANSI cũ nhằm đảm bảo tính tương thích ngược.

Cuộc Tấn Công Kênh Rò Rỉ Qua Việc Đo Tốc Độ Bộ Nhớ Đệm

Gần đây, một lỗ hổng bảo mật mới đã được phát hiện trên các bộ vi xử lý Intel. Kiểu tấn công MDS cho phép vượt qua hàng rào bảo mật để truy xuất dữ liệu đang được xử lý bởi các tiến trình (hoặc máy ảo) khác đang chạy trên cùng một nhân CPU. Các chuyên gia an ninh khuyến nghị tạm thời vô hiệu hóa công nghệ Hyper-Threading để ngăn chặn nguy cơ rò rỉ thông tin.

Tại Sao Người Lao Động Trí Óc Thực Hiện Hệ Thống Làm Việc 996 Được Coi Là Ngu Ngốc Hoặc Xấu Xí

Tại sao tôi cho rằng những người lao động trí óc áp dụng chế độ làm việc 996 đều thuộc hai loại: ngu ngốc hoặc độc ác?

Xin lỗi vì tiêu đề có phần gây sốc, nhưng thực chất tôi muốn phân tích tận gốc rễ vấn đề về chế độ làm việc 996. Lưu ý rằng tôi đang nói về những người trực tiếp thực thi 996, chứ không phải các ông chủ ép buộc nhân viên làm việc kiểu này. Đây là hai nhóm hoàn toàn khác nhau, và hôm nay tôi muốn tập trung phê phán nhóm thứ nhất.

Chia Sẻ Bảng Dữ Liệu Bất Biến Giữa Các Máy Ảo Khác Nhau

Trong vài năm trở lại đây, tôi đã dành nhiều năm nghiên cứu cách chia sẻ lượng lớn dữ liệu cấu trúc bất biến giữa các máy ảo Lua khác nhau. Đây là nhu cầu thiết yếu đối với các phần mềm dựa trên dữ liệu như game. Trong tựa game “Đại Lục Gió” (tựa game đang vận hành) do chúng tôi phát triển, các bảng dữ liệu do策划 (nhóm thiết kế) tạo ra trên server, sau khi chuyển đổi thành file nguồn Lua đã lên tới 300MB. Khi tải toàn bộ vào máy ảo Lua, lượng dữ liệu này tiêu tốn tới 700MB bộ nhớ.

0%