11 điểm bởi hongminhee 2025-07-09 | 2 bình luận | Chia sẻ qua WhatsApp

Định nghĩa của stack đi ngược số đông

  • Triết lý phát triển cố ý chọn công nghệ thay thế thay vì công nghệ chủ lưu
  • Khái niệm đối lập với stack tiêu chuẩn, do tác giả tự đặt tên
  • Lựa chọn của tác giả:
    • Ruby: Rails → Sinatra + DataMapper
    • JavaScript: Prototype → MooTools
    • Python: Django → Werkzeug + SQLAlchemy
    • Hiện tại: React/Next.js → Solid/SolidStart

Sự trưởng thành đến từ khó khăn của stack đi ngược số đông

  • Không có câu trả lời trên Stack Overflow nên phải tự phân tích mã nguồn → hiểu biết sâu sắc về công nghệ
  • Ít người dùng nên thiếu hỗ trợ từ cộng đồng → trưởng thành thành người đóng góp mã nguồn mở, cảm giác thành tựu khi PR được merge
  • Kinh nghiệm của tác giả:
    • Mức độ trừu tượng thấp của Werkzeug → có được năng lực xây dựng framework in-house
    • Quá trình bị gọi là "mò mẫm vất vả" → kiến thức nền tảng có thể áp dụng với bất kỳ stack nào
  • Lợi ích: chiều sâu thấu hiểu kỹ thuật có được trong quá trình giải quyết vấn đề

Lợi thế của người đến sau

  • Trải nghiệm các thiết kế được tạo ra để nhận ra và cải thiện vấn đề của stack tiêu chuẩn
  • Ví dụ: fine-grained reactivity của Solid (tránh overhead virtual DOM của React)
  • Lợi ích bất ngờ: hiểu được "vì sao" của công nghệ và rèn được cảm quan thiết kế kiến trúc tốt hơn

Giá trị ẩn của stack lắp ghép

  • Stack tiêu chuẩn: bộ quà tổng hợp tiện lợi
    • Rails(CoC), Django(Batteries Included), Next.js(full-stack)
  • Stack đi ngược số đông: chọn từng linh kiện và tự lắp ráp thủ công
    • Trường hợp của tác giả: Sinatra + DataMapper + Haml + Sass
    • Sự gian nan trong việc cấu hình từng thành phần và nối middleware
  • Lợi ích: hiểu trọn vẹn cơ chế vận hành bên trong của công nghệ và sự tương tác giữa các tầng

Bài học lịch sử

  • Stack tiêu chuẩn của hôm nay cũng từng là stack đi ngược số đông của ngày trước (Rails → lựa chọn thay thế cho Java, React → lựa chọn thay thế cho Backbone.js)
  • Lợi ích: vị thế người tiên phong khi trải nghiệm và thấu hiểu sớm công nghệ sẽ trở thành chủ lưu trong tương lai

Cơ hội nghịch lý trong thời đại LLM

  • Ưu thế của stack tiêu chuẩn được củng cố hơn (ChatGPT thành thạo Next.js, nhưng chưa giỏi SolidStart)
  • Lợi ích: chuyên môn ở những vùng mà LLM chưa làm tốt sẽ trở thành năng lực cạnh tranh khác biệt hơn nữa
  • Con đường trưởng thành để trở thành kỹ sư thực thụ, không chỉ là người dùng framework

2 bình luận

 
gjen6s 2025-07-09

Tôi chưa từng nghĩ SQLAlchemy là kiểu “ngược đời”, nên thấy khá lạ.

 
krepe90 2025-07-09

Có lẽ ý bạn là nói về Werkzeug hơn là SA. Vì thường người ta dùng Flask hoặc FastAPI mà. Ngay cả ORM mà cũng đi ngược số đông thì không dễ lắm.