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

Tổng kết: khung tư duy chọn thuật toán — khi nào Big-O quyết định, khi nào thực tế thắng

Mười một bài, mười một phép đo thật trong Docker. Bài tổng kết này nối tất cả thành một bảng số liệu và một checklist thực dụng: cần gì thì dùng cấu trúc nào, khi nào Big-O là yếu tố sống còn (heap top-k 247 lần, Dijkstra 210 lần, memo 4 triệu lần), và khi nào hằng số với cache mới là thứ quyết định (insertion thắng quicksort ở N nhỏ, duyệt cột chậm 14 lần dù cùng O(n²)).

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

Tổng kết Elasticsearch: khi nào nên dùng, khi nào SQL là đủ — checklist cho backend

Mười một bài, mười một phép đo thật trong Docker. Bài tổng kết này nối tất cả thành một bảng số liệu và một checklist thực chiến: Elasticsearch giỏi gì (tìm toàn văn nhanh hơn LIKE, aggregation 1 triệu bản ghi trong 28ms, bulk 74k doc/giây), không giỏi gì (transaction, JOIN, đếm chính xác), và những cạm bẫy đo được cần tránh.

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

Tổng kết đồng thời PostgreSQL: khung tư duy và checklist tránh bug concurrency

Mười một bài, mười một phép đo thật bằng nhiều phiên psql đồng thời. Bài tổng kết này nối tất cả — MVCC, bốn mức cô lập, lost update, write skew, khóa hàng, deadlock, bloat, vacuum, HOT, WAL, SKIP LOCKED — thành một bảng số liệu và một checklist thực chiến: cần đảm bảo gì thì dùng gì, cạm bẫy đồng thời nào cần tránh, và vì sao mọi thứ bắt nguồn từ MVCC.

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

Tổng kết sê-ri WebSocket và realtime đo thật: khung bốn câu hỏi để chọn polling, SSE hay WebSocket, sáu thứ không được bỏ qua dù chọn gì, và checklist vận hành với từng con số đã đo trong 11 phần, từ 27 KB mỗi kết nối tới p99.9 59 ms

Phần cuối gom 11 phần thành khung bốn câu hỏi: dữ liệu đổi bao lâu một lần, chiều lên có dày không, mất một thông điệp thì sao, bao nhiêu kết nối trên bao nhiêu máy. Mỗi nhánh có số đã đo: polling 1 giây 486 ms và 8,4 KB mỗi phút, SSE và WebSocket 0,3 ms và 1,3 KB, 27 KB RSS mỗi kết nối, Redis thêm 0,4 ms, ring buffer 100 KB cho mọi client, session 83 KB mỗi client. Sáu thứ bắt buộc dù chọn gì: write deadline, cô lập goroutine ghi, ping pong, số thứ tự, không cấp phát trong đường nóng, cấu hình proxy. Checklist vận hành ba nhóm: giới hạn hệ thống, timeout và nhịp, chỉ số phải theo dõi.

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

Tổng kết sê-ri bảo mật kết nối: checklist mười hai phần với từng con số đã đo, từ ECDSA rẻ hơn RSA bốn lần và AES-GCM nhanh gấp 26 lần khi CPU có lệnh phần cứng, tới slowloris 6,4 Kbit mỗi giây hạ một server quên đặt timeout

Gom mười một phần đo thật thành một checklist hành động, mỗi mục kèm con số đo trên cùng cặp máy aarch64. Cấu hình TLS: ECDSA P-256 cho chuỗi 860 byte và bắt tay 0,54 ms, để Go tự chọn cipher vì AES-GCM nhanh 26 lần khi có lệnh AES. mTLS và xoay: thêm 100 microsecond server, xoay 2.000 kết nối mở không rơi, lùi NotBefore cứu client lệch giờ. Secret và timeout: Redacted cho log và ulimit core 0, bcrypt 12 cho ngưỡng 250 ms, ghim thuật toán JWT, luôn đặt ReadHeaderTimeout vì slowloris 6,4 Kbit mỗi giây đủ hạ server. Số tuyệt đối tuỳ phần cứng, tỉ lệ thì mang đi được.