Học cấu trúc dữ liệu & giải thuật mà chỉ đọc sách thì khô lắm — phải nhìn nó chạy từng bước mới thấm. Hồi đi học mình hay mở visualgo.net, nhưng nó tiếng Anh và chỉ quanh quẩn algorithms. Thế là mình làm T-DSA Interactive Visualizer: web app mô phỏng trực quan không chỉ DSA mà cả systems lẫn networking — tổng cộng 69 chế độ, mở lên là dùng ngay, không cần cài đặt.
Mở app là vào thẳng visualizer (mặc định là Docker Lifecycle), giao diện tối kiểu "engine room" với điểm nhấn neon, có chuyển sáng/tối và chuyển VI/EN. Toàn bộ 69 modes chia 3 nhóm lớn:
COMPUTER SYSTEMS (12 chế độ): CPU & memory, HDD/SSD, RAID 0/1/5/6/10, Docker Lifecycle, Kubernetes Cluster, Git Data Flow, chiến lược branching Gitflow...
NETWORK & SCALE (21 chế độ): mô hình TCP/IP 4 tầng, OSI 7 tầng, DNS, Router Hop, HTTP/3 & QUIC, CDN, Zero Trust, các thuật toán cân bằng tải (Round Robin, Least Connections...), Kafka (pub/sub, consumer groups), các chiến lược cache (LRU, LFU, FIFO, Write-Through/Back/Around)...
ALGORITHMS & DATA (36 chế độ): quy hoạch động (Knapsack), tham lam (Activity Selection), chia để trị, Stack/Queue/Linked List, BST/AVL cùng 3 kiểu duyệt cây, BFS/DFS, 6 thuật toán sort (Bubble, Selection, Quick, Insertion, Merge, Heap), Binary/Interpolation Search, HashMap/HashSet/Bloom Filter, cho tới database internals (B-Tree, R-Tree, LSM-Tree, Columnar Storage...).
Mỗi mode đều có chung một bộ điều khiển: play/pause, bước tới/bước lui từng bước, reset, thanh chỉnh tốc độ, đếm số bước — và điểm mình thích nhất là lời thuyết minh tiếng Việt cho từng bước chạy. Ví dụ chạy Quick Sort với dãy "64, 25, 12, 22, 11, 90, 55, 33": cột nào đang so sánh thì sáng đỏ, pivot sáng xanh, bên trên hiện chữ "So sánh 55 với Pivot 33", "Hoán đổi 64 và 25"... rồi "Hoàn tất Quick Sort." Người mới học đọc theo là hiểu ngay thuật toán đang làm gì, không cần giỏi tiếng Anh.
Thử thêm Build BST: nhập 50, 30, 70, 20, 40, 60, 80, mỗi lần chèn nó giải thích "Do 30 < 50, chèn vào nhánh TRÁI", có cả lịch sử thao tác và nút test truy vấn ("TÌM THẤY! Khóa 40 nằm tại đây."). Còn mode Docker Lifecycle thì mô phỏng cả vòng đời: gõ "node:18-alpine" bấm docker build là image xuất hiện trong local storage kèm log CLI ra Daemon rồi tới Host OS, bấm docker run là container "sống" hiện ra với port, network namespace, cgroups.
Nói thẳng điểm trừ để anh em khỏi bảo mình tự khen: mode Docker còn 2 bug — build image có tag (node:18-alpine) thì nó strip mất tag chỉ lưu "node", sau đó run bằng tên đầy đủ là báo không tìm thấy image; và có lúc 1 click docker run lại đẻ ra 2 container. Vài chỗ còn typo ("DOKCER", "COROUPS"), bật EN thì log với narration vẫn tiếng Việt, mục "Concurrency" bị trùng 2 lần trong sidebar. Mấy cái này mình sẽ fix dần.
So với visualgo.net thì bên đó sâu hơn ở từng thuật toán (có pseudocode chạy song song, bài bản sư phạm hơn). Còn T-DSA ăn ở chỗ rộng: Docker, K8s, Git, RAID, Kafka, database internals — mấy thứ visualizer thuần algorithm không bao giờ đụng tới — mà lại thuyết minh tiếng Việt. Mỗi module là một bài minh họa tương tác chắc tay, chứ không phải simulator chuẩn reference.
Ưu điểm:
- 69 modes, phủ từ DSA tới systems, networking, database
- Thuyết minh tiếng Việt từng bước — học sinh VN đọc là hiểu
- UI dark đẹp, có light theme, chuyển VI/EN, deep-link từng mode (?mode=quick)
- Mở web là dùng, không cài đặt
Nhược điểm:
- Vài bug nhỏ ở mode Docker, vài typo, bản EN chưa dịch hết
- Cây BST render hơi nhỏ so với khung hình
- Mỗi module đi rộng hơn là đi sâu (chưa có pseudocode chạy đồng bộ như VisuAlgo)
Ai nên dùng: sinh viên CNTT đang học DSA, hệ điều hành, mạng máy tính — đặc biệt ai ngại đọc tài liệu tiếng Anh; dev muốn ôn nhanh intuition về infra (RAID, Kafka, LSM-Tree...) trước phỏng vấn. Mở link bên dưới là vọc ngay.