nói dối e blog

Bộ Quản Lý Bộ Nhớ Nhóm Bạn (Buddy Memory Allocation)

Trong bữa cơm tối hôm nay, một ý tưởng chợt lóe lên trong đầu tôi: cần thiết kế một bộ cấp phát bộ nhớ tùy chỉnh để giải quyết bài toán quản lý pool chuỗi trong bộ nhớ chia sẻ. Đặc điểm yêu cầu của bộ quản lý này là phi xâm nhập - không ghi cookie vào các khối bộ nhớ được cấp phát. May mắn thay, trong trường hợp của tôi, các khối bộ nhớ cần quản lý đều có độ dài là lũy thừa cơ số 2, phù hợp hoàn hảo với thuật toán Buddy Memory Allocation.

Ghi Chú Phát Triển (4): Vòng Lặp Tin Nhắn Agent Và RPC

Tiếp nối từ Ghi chú phát triển 1. Chúng ta sẽ cung cấp một dịch vụ agent riêng biệt cho từng người chơi kết nối đến. Agent này sẽ xử lý các gói dữ liệu do người chơi gửi tới và phản hồi lại kết quả xử lý.

Kiến trúc cơ bản của Agent

Dịch vụ agent là ví dụ điển hình của mô hình xử lý gói dữ liệu (packet-driven). Dù sử dụng framework Erlang hay xây dựng từ đầu bằng ZeroMQ, logic cốt lõi của agent không thay đổi nhiều. Cơ chế hoạt động dựa trên việc:

Ghi Chú Phát Triển (5): Dịch Vụ Cảnh Quan Và Tránh Khóa Đọc Ghi

Tuần này tôi bắt đầu triển khai mô-đun cảnh quan. Vì tất cả các thực thể người chơi (PC) ở phía máy chủ đều hoạt động độc lập dưới dạng các đại lý riêng biệt, việc tách biệt này đòi hỏi một mô-đun trung gian để kết nối chúng. Trong giai đoạn đầu, mục tiêu là xây dựng một dịch vụ cảnh quan đơn giản nhằm đồng bộ hóa trạng thái thế giới mà mỗi đại lý quan sát được.

Ghi Chú Phát Triển (6): Lưu Trữ Dữ Liệu Cấu Trúc Chia Sẻ

Trước khi bắt đầu chủ đề này, đã hơn một tuần trôi qua kể từ bài ghi chú phát triển trước. Tôi dự định sẽ tiếp tục viết các ghi chú phát triển mãi mãi, bởi vì quá trình phát triển chắc chắn sẽ không trải đầy hoa hồng. Những quyết định kỹ thuật, sự từ bỏ và thay đổi ý tưởng có thể xảy ra liên tục. Việc ghi lại công khai hành trình này không chỉ giúp lưu giữ luồng suy nghĩ mà còn là cách tự nhắc nhở bản thân. Không nên sa đà vào chi tiết kỹ thuật đến mức đánh mất tiến độ phát triển sản phẩm. Và một ngày nào đó, khi dự án hoàn thành, tôi có thể tự hào nói với mọi người: “Hãy nhìn xem, sản phẩm của chúng ta đã được xây dựng từng bước như thế này đây. Mỗi mốc son đều chứa đựng biết bao tâm huyết của các kỹ sư phát triển.”

Giao Thức Buffers Cho Ngôn Ngữ C

Dự án Protocol Buffers cho ngôn ngữ C

Tôi luôn cảm thấy chưa hài lòng với thiết kế mặc định của Google Protocol Buffers. Việc sinh ra hàng loạt mã C++ cho mỗi kiểu message đã khiến tôi cảm thấy khó chịu. Ngoài ra, phiên bản chính thức không có hỗ trợ cho C, và các thư viện C do bên thứ ba phát triển cũng không đáp ứng được mong đợi của tôi.

Vấn Đề Monty Hall Và Hộp Cơm Của Tôi

Vấn đề Monty Hall và hộp cơm trưa định mệnh
Bài viết trước về câu chuyện hộp cơm của tôi đã gây ra không ít tranh cãi. Tôi không dám khẳng định kết luận của mình hoàn toàn chính xác, nhưng có vẻ nhiều người thảo luận đã bỏ qua những yếu tố phức tạp của thực tế.

Đây là một sự việc có thật, không phải do tôi bịa đặt để chứng minh quan điểm nào đó. Cá nhân tôi vẫn tin rằng nếu được đổi lựa chọn cuối cùng, kết quả sẽ tốt hơn. Tuy nhiên, tôi không muốn tranh luận thêm về chuyện này :)

0%