Bài viết mới nhất

Tổng 2300 bài
Lập trình 22/09/2026 8 phút

Tổng kết sê-ri Bảo mật web: ánh xạ 11 lỗ hổng vào OWASP Top 10, checklist production và cây quyết định review

Mười một bài, mười một lỗ hổng tái hiện trong lab — giờ ghép lại thành một bản đồ dùng được. Bài tổng kết này ánh xạ từng lỗ hổng vào OWASP Top 10:2021 để bạn thấy bức tranh rủi ro, kèm một checklist chạy trước khi lên production và một cây quyết định dán cạnh màn hình khi review code: input vào SQL thì prepared statement, ra HTML thì escape, là id đối tượng thì kiểm sở hữu. Phòng thủ, không tấn công.

Lập trình Go 22/09/2026 10 phút

Connection pool tự viết trong Go: tái dùng tài nguyên tốn kém bằng buffered channel

Connection pool giữ sẵn các kết nối và tái dùng thay vì mở/đóng liên tục. Đo thật trong Go 1.23: một pool dựng bằng buffered channel tái dùng 3 kết nối cho 10 lần dùng, có timeout khi cạn, và nhanh hơn tạo mới mỗi lần hàng nghìn lần khi kết nối tốn 5ms bắt tay.

Kiến trúc hệ thống 22/09/2026 6 phút

Discord lưu hàng nghìn tỷ tin nhắn: chống hot partition, đo THẬT trên ScyllaDB

Discord chứa hàng nghìn tỷ tin nhắn. Bài toán khó: một kênh nóng biến thành một partition khổng lồ. Cách giải: khoá phân mảnh (channel_id, bucket). Bài này dựng THẬT trên ScyllaDB, tạo cả hai schema và dùng nodetool đo trực tiếp: partition nóng 315KB/14.237 cell với đọc 2.106µs, còn bucket chỉ 29KB/1.109 cell đọc 207µs.

Kiến trúc hệ thống 22/09/2026 6 phút

Consistent hashing: cách Amazon Dynamo chia dữ liệu, dựng THẬT trên Redis Cluster

Chia khoá cho N node bằng hash%N nghe hợp lý — cho tới khi thêm một node và gần như MỌI khoá phải chuyển chỗ. Dynamo (2007) giải bằng consistent hashing. Bài này dựng THẬT một Redis Cluster 3 node (16384 hash slot), nạp 20.000 khoá, thêm node thứ 4 và đo trực tiếp: chỉ 24,9% khoá phải dời (~1/N) thay vì ~75% của modulo.

Kiến trúc hệ thống 22/09/2026 6 phút

Uber tìm tài xế gần bạn thế nào: geospatial index chạy THẬT trên Redis GEO

Ghép khách với tài xế không thể so khoảng cách tới cả triệu tài xế mỗi lần. Bài này dựng THẬT một chỉ mục không gian trên Redis GEO (dùng geohash), nạp 500.000 tài xế và đo trực tiếp: GEOSEARCH trả lân cận đã sắp theo khoảng cách, 13.368 truy vấn/giây p50 3,6ms, index 42MB. Và vì sao Uber tự xây H3 lục giác.

Kiến trúc hệ thống 22/09/2026 8 phút

Cloudflare giới hạn tần suất ở biên: dựng sliding window counter THẬT trên Redis

Rate limit ở biên phải chạy cho hàng triệu danh tính mà vừa chính xác vừa cực rẻ RAM. Fixed window cho lọt gấp đôi ở ranh giới; log chính xác ngốn RAM. Bài này dựng sliding window counter kiểu Cloudflare chạy THẬT trên Redis bằng script Lua nguyên tử — đo trực tiếp: fixed cho lọt 200, sliding chặn ở 102; và MEMORY USAGE thật 96 byte vs hơn 1 MB.