Những Điều Nhỏ Tháng 12 - nói dối e blog

Những Điều Nhỏ Tháng 12

Tháng này làm khá nhiều việc lặt vặt. Nhân dịp cuối năm, tổng kết lại cho vui.

Về việc tối ưu hóa Client của trò chơi Đại Mộng Tây Du, tôi từng đề xuất một giải pháp trước đó. Sau khi tôi sửa đổi một vài chi tiết ở thư viện底层 của engine 2D, đa số công việc còn lại đều do đồng nghiệp xử lý. Kết quả cuối cùng khá khả quan khi hiệu năng được cải thiện đến mức chấp nhận được.

Tôi dành vài ngày nghiên cứu giao thức XMPP. Dù đã từng tiếp cận 2 năm trước, nhưng lĩnh vực mã nguồn mở phát triển quá nhanh. Vì vốn yêu thích ngôn ngữ Lua, tôi đặc biệt chú trọng vào phân tích mã nguồn của Prosody. Thiết kế cực kỳ rõ ràng, dễ đọc và dung lượng cũng không hề cồng kềnh.

Về lỗi nhỏ trong tiện ích mở rộng Chrome của từ điển Youdao, tôi có góp ý vài điều. Qua đó quen được bạn đang phụ trách dự án, nên tôi đã gửi bản sửa lỗi do mình viết. Thực ra chỉ là một đoạn mã JavaScript nhỏ, đọc qua cũng chỉ mất vài phút. Phải công nhận thái độ đón nhận góp ý của các bạn Youdao thân thiện hơn nhiều so với nhóm Popo.

Trò chuyện với bạn ấy, chúng tôi nảy ra ý tưởng tạo một nhóm chat XMPP. Thực ra ý tưởng này đã có từ lâu nhưng chưa triển khai. Dùng kết hợp Prosody và xmppy, chúng tôi đã xây dựng thành công một con bot hỗ trợ chat nhóm. Dù vậy, hứng thú dần qua đi sau vài hôm trải nghiệm.

Vài ngày trước ở Thượng Hải tham gia hội thảo SD, tôi có dịp trò chuyện với anh Tiền Hoành Vũ. Hóa ra anh đã phát triển dự án tương tự một cách nghiêm túc suốt gần 2 năm trời. Trong khi tôi chỉ có chút nhiệt huyết nhất thời, chứng minh tính khả thi là đủ rồi.

Cũng trong tuần qua, tôi tập trung hoàn tất việc di chuyển dữ liệu cuối cùng trên codingnow.com. Vì bên cơ quan trong nước liên tục催促, yêu cầu tôi trực tiếp ra Bắc Kinh làm thủ tục đăng ký. Với tính lười biếng cố hữu, tôi nhiều lần bị nhắc nhở có thể chặn IP đang dùng máy chủ liên thông tại Bắc Kinh. Đành lòng tôi chuyển dữ liệu sang Linode. Dù sao việc chuyển đổi này迟早也要 thực hiện mà.

Chuyện này khiến tôi suy nghĩ về công nghệ máy ảo. Trong lúc trà dư tửu hậu với đồng nghiệp, chúng tôi bàn luận sâu hơn về chủ đề này. Nghe nói máy chủ World of Warcraft đang dùng công nghệ trạm làm việc không ổ đĩa. Tôi thấy Đại Mộng Tây Du cũng nên thử áp dụng. Khảo sát sơ bộ, tôi khá ngạc nhiên khi nguyên nhân nghẽn cổ chai chủ yếu đến từ I/O ổ đĩa chứ không phải mạng hay CPU như tưởng tượng ban đầu.

Tôi cảm thấy điều này rất đáng để nghiên cứu sâu hơn. Qua trao đổi kỹ với các kỹ sư phụ trách máy chủ Đại Mộng Tây Du, tôi nhận thấy tiềm năng tối ưu còn rất lớn. Có lẽ sau dịp Tết Nguyên Đán, tôi sẽ viết một bài blog chuyên sâu về vấn đề này.

Vài hôm nay tôi mày mò Redis, tuy nhiên lưu ý rằng máy chủ Đại Mộng Tây Du hoàn toàn không dùng bất kỳ hệ quản trị cơ sở dữ liệu nào (dù SQL hay NoSQL), cũng không áp dụng lưu trữ dữ liệu phân tán. Hệ thống hiện tại vẫn đang sử dụng hệ thống file local. Lý do tôi tìm hiểu Redis thuần túy xuất phát từ sở thích cá nhân. Tôi nhận ra Redis gần như là bản sao hoàn hảo của một hệ thống do tôi tự thiết kế trước đây. Cảm thấy cực kỳ hứng thú, tôi tiếp tục tìm hiểu thêm ZeroMQ. Nhớ cách đây 1 năm đã có đồng nghiệp gợi ý nhưng tôi chưa quan tâm. Nhưng khi tiếp xúc thật, tôi mới thấy đây là thư viện tuyệt vời. Đặc biệt cảm động khi thấy tài liệu chính thức dùng Lua để demo video trực tiếp.

Ghi chép vài điều không liên quan đến công nghệ lắm.

Tôi mới sưu tầm bộ chiến cờ phiên bản tiếng Trung của BattleLore mang tên “Vestero”. Mất đến vài giờ lắp ghép các mô hình. Sau 2 ván chơi thử nghiệm, tôi thấy trải nghiệm rất tuyệt vời. Dưới đây là hình ảnh minh họa: !2010-12-15.22.28.24.jpg

Hy vọng trước Tết vẫn có người cùng chơi. Ai quan tâm xin mời đến nhà tôi, tôi sẵn sàng hướng dẫn luật chơi tận tình.

Lâu nay tôi chưa từng chơi thử TCG (Trading Card Game), dù là tượng đài Magic: The Gathering. Lần này tôi quyết định chọn một tựa game để thử sức. Hiện tại đã xây dựng bộ bài Druid nhỏ, tiếc là vẫn chưa tìm được đối thủ :P

Tôi dự định tổ chức giải thi đấu Galaxy Attack trước Tết Nguyên Đán. Thể thức thi đấu sẽ áp dụng double elimination cho cả 1v1 và 4 người tham gia. Hiện đã có 7 người đăng ký, hy vọng đủ 8 hoặc 16 người để bắt đầu giải đấu.

Cuối cùng, cảm ơn các bạn đã gửi tài liệu về robot cho tôi. Sau Tết tôi sẽ dành thời gian nghiên cứu kỹ hơn :)

0%