Avatar
Back

Tại sao demo ≠ production

Tại sao demo ≠ production

“Build X trong 10 phút với AI”

YouTube đầy video kiểu này.

Và đa số là nói nửa sự thật.

Demo vs Production

Demo:

  • Chỉ có đường đi đẹp
  • Không xử lý lỗi
  • Không có trường hợp ngoại lệ
  • Không bảo mật
  • Không tối ưu hiệu năng
  • Không có người dùng thật

Production:

  • Xử lý lỗi cho mọi tình huống
  • Bao quát các trường hợp ngoại lệ
  • Bảo mật đúng chuẩn
  • Hiệu năng chấp nhận được
  • Người dùng thật với hành vi thật

Khoảng cách? Gấp 10 lần công sức.

Ví dụ thực tế: Build blog với AI

Demo (phiên bản YouTube):

  1. Tạo app Next.js
  2. Thêm vài component
  3. Deploy lên Vercel
  4. “Xong trong 15 phút!”

Production (thực tế):

  1. Tạo app Next.js (15 phút) ✓
  2. Thêm components (30 phút) ✓
  3. Sửa responsive (2 giờ)
  4. Cài SEO đúng cách (1 giờ)
  5. Tối ưu hiệu năng (2 giờ)
  6. Tối ưu hình ảnh (1 giờ)
  7. Trang lỗi (1 giờ)
  8. Cài analytics (30 phút)
  9. Security headers (1 giờ)
  10. Test đa trình duyệt (2 giờ)
  11. Di chuyển nội dung (tuỳ)
  12. Cài DNS/domain (30 phút)
  13. Cài monitoring (1 giờ)
  14. Viết tài liệu (1 giờ)

Tổng: 15+ giờ, không phải 15 phút.

5 thứ tutorials bỏ qua

1. Xử lý lỗi

Demo: Mọi thứ chạy ngon.

Production: Người dùng sẽ phá vỡ mọi thứ.

  • Input sai
  • Mạng lỗi
  • Trường hợp đặc biệt
  • Tấn công có chủ đích

2. Trường hợp ngoại lệ

Demo: Một loại người dùng, một luồng.

Production:

  • Di động và desktop
  • Mạng chậm
  • Trình duyệt cũ
  • Screen readers
  • Đa ngôn ngữ

3. Bảo mật

Demo: Tin tưởng mọi input.

Production:

  • Kiểm tra input
  • Xác thực (authentication)
  • Phân quyền (authorization)
  • Chống CSRF
  • Giới hạn request

4. Hiệu năng

Demo: Chạy được trên localhost.

Production:

  • Thời gian tải quan trọng
  • Kích thước bundle quan trọng
  • Thời gian phản hồi API quan trọng
  • Người dùng thật có mạng chậm

5. Bảo trì

Demo: Ship xong quên luôn.

Production:

  • Bug sẽ xuất hiện
  • Yêu cầu tính năng mới sẽ đến
  • Dependencies cần cập nhật
  • Monitoring cần theo dõi

Thay đổi tư duy

Từ: “Tôi có thể build X không?”

Sang: “Tôi có thể ship và duy trì X không?”

Build là 20% công sức.

Ship và duy trì là 80%.

Làm sao để rút ngắn khoảng cách?

1. Checklist trước deploy

Có checklist cho production. Kiểm tra mọi thứ trước khi ship.

2. Nghĩ đến production từ đầu

Ngay từ đầu, nghĩ về:

  • Xử lý lỗi
  • Bảo mật
  • Hiệu năng

Không phải “thêm sau”.

3. Học từ việc ship

Mỗi dự án ship = kinh nghiệm.

Ghi lại vấn đề gặp phải. Xây checklist cá nhân.

4. Templates và starters

Có starter templates đã sẵn sàng cho production.

Không build từ đầu mỗi lần.

Kết luận

Demo trong 30 phút dễ.

Ship production mới là kỹ năng thật.

Đừng so sánh mình với tutorials YouTube.

Họ show demo. Bạn cần production.


Trong Tony’s Friends VIP, tôi chia sẻ production checklists và quy trình build thực tế.