4 điểm bởi GN⁺ 2025-08-08 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Danh sách chia sẻ các kiến thức bị nguyền rủa thu thập được trong quá trình phát triển Immich
  • Tổng hợp các vấn đề bất ngờ gặp phải trong nhiều môi trường phần mềm và hạ tầng khác nhau
  • Nêu ra các điểm khó với siêu dữ liệu EXIF, xử lý khoảng trắng YAML, PostgreSQL và công cụ/ngôn ngữ
  • Một số vấn đề liên quan trực tiếp đến bảo mật, khả năng tương thích nền tảng, phụ thuộc nguồn mở
  • Tập trung vào trường hợp thực tế và nguyên nhân mà nhà phát triển cần lưu ý

Tổng quan

Đội ngũ phát triển Immich đã công bố các kiến thức bị nguyền rủa mà họ từng trải qua trong quá trình làm dự án, những thứ không muốn gặp lại. Đây là danh sách các bẫy và vấn đề bất ngờ mà họ đã trực tiếp gặp trong quá trình phát triển và vận hành dịch vụ thực tế trên nhiều công cụ, ngôn ngữ và nền tảng khác nhau.

Danh sách kiến thức bị nguyền rủa

  • 4 tháng 6 năm 2025

    • Actions của Zitadel là một tính năng gây rắc rối
    • Tính năng scripting tùy chỉnh mà Zitadel cung cấp dựa trên JS, nhưng lại không hỗ trợ nhóm bắt tên của regex, nên bộc lộ rõ giới hạn
  • 30 tháng 5 năm 2025

    • Microsoft Entra hỗ trợ PKCE, nhưng không ghi nhận điều này trong tài liệu phát hiện OpenID
    • Do đó, một tính năng tồn tại nhưng lại không được client phát hiện
  • 5 tháng 5 năm 2025

    • Kích thước trong siêu dữ liệu EXIF mô tả hình ảnh có thể không khớp với hình ảnh thực tế
    • Sự khác biệt này gây ra lỗi trong cropresize
  • 1 tháng 4 năm 2025

    • Xử lý khoảng trắng của YAML thường hoạt động không như mong đợi
    • Nhạy cảm với định dạng, nên có nguy cơ diễn giải nội dung sai so với ý định
  • 20 tháng 9 năm 2024

    • Tệp ẩn của Windows không mở được bằng cờ w
    • Khi kết hợp với tùy chọn hide dot files của SMB, dễ gây rối loạn lớn trong duyệt và xử lý tệp
  • 7 tháng 8 năm 2024

    • Script Bash có thể gặp vấn đề CRLF
    • Nếu Git tự chuyển đổi tự động từ LF sang CRLF khi checkout, có thể gây lỗi khi thực thi script
  • 7 tháng 8 năm 2024

    • fetch trên Cloudflare Workers mặc định dùng http ngay cả khi đã chỉ định https
    • Điều này có thể gây lỗi mạng như vòng lặp chuyển hướng
  • 21 tháng 7 năm 2024

    • Chia sẻ GPS trên thiết bị di động có thể âm thầm bị xóa khỏi ảnh nếu app không có quyền vị trí
    • Tác động đến độ chính xác của dịch vụ vị trí và quyền riêng tư
  • 3 tháng 7 năm 2024

    • NOTIFY của PostgreSQL chỉ hoạt động trong transaction
    • Khi dùng với socket.io + postgres-adapter, ghi WAL mỗi 5 giây có thể gây tăng tải
  • 3 tháng 7 năm 2024

    • Mỗi lần chạy script npm đều gửi request đến npm registry qua HTTP
    • Vì vậy, dùng script để health check là không hiệu quả
  • 28 tháng 6 năm 2024

    • Trong cộng đồng JavaScript, một số người đã ép thêm 50 gói phụ thuộc cho lý do tương thích ngược
    • Tất cả các gói này đều do một người dùng đó quản lý
  • 25 tháng 6 năm 2024

    • Triển khai bcrypt chỉ sử dụng 72 byte đầu tiên của chuỗi
    • Các ký tự phía sau bị bỏ qua, khiến mật khẩu dài trở nên vô nghĩa
  • 31 tháng 1 năm 2024

    • Đối tượng Date của JavaScript đánh chỉ số năm và ngày từ 1, tháng từ 0
    • Là một cấu trúc dễ gây nhầm lẫn
  • 9 tháng 1 năm 2024

    • Trước Node.js v20.8, trong dự án CommonJS sử dụng tùy chọn --experimental-vm-modules, khi ESM nạp lại module CommonJS
      • xảy ra lỗi segfault và làm Node.js crash
  • 28 tháng 12 năm 2023

    • Giới hạn tham số của PostgreSQL là 65.535
    • Trong bulk insert tập dữ liệu lớn, giới hạn này gây ra vấn đề hiệu năng
  • 26 tháng 6 năm 2023

    • Một số Web API chỉ có thể dùng trong Secure Contexts
    • Chẳng hạn API clipboard chỉ hoạt động ở môi trường https hoặc localhost
  • 23 tháng 2 năm 2023

    • Cài đặt remove của TypeORM ảnh hưởng trực tiếp đến dữ liệu đầu vào
    • Nó xóa luôn cả thuộc tính id của đối tượng gốc

Kết luận

Những kiến thức bị nguyền rủa như vậy thường xuất hiện trong phát triển và vận hành dịch vụ thực tế. Việc nhận diện trước các ràng buộc và vấn đề tiềm ẩn theo từng công cụ, ngôn ngữ và môi trường giúp nhà phát triển cải thiện khả năng khắc phục sự cố và phát triển dịch vụ ổn định hơn.

Chưa có bình luận nào.

Chưa có bình luận nào.