Episodi

  • Linh Fish Dev Podcast #23: Python xử lý múi giờ đúng bằng zoneinfo — hết lỗi naive/aware trong 5 phút
    Nov 4 2026
    Datetime naive không gắn múi giờ là nguyên nhân của nhiều lỗi lệch giờ khó bắt: không chuyển đổi được đáng tin cậy, và so sánh với datetime aware sẽ ném lỗi ngay. Trong tập này, Linh Fish Dev Podcast #23 giải thích vì sao không bao giờ nên cộng trừ giờ bằng tay, và […]
    Mostra di più Mostra meno
    Meno di 1 minuto
  • Linh Fish Dev Podcast #21: FastAPI validate tham số đường dẫn bằng Path() — chặn ID sai ngay từ cổng API trong 5 phút
    Nov 2 2026
    Tập 21: FastAPI validate tham số đường dẫn bằng Path() — chặn ID sai ngay từ cổng API trong 5 phút. FastAPI tự chuyển tham số đường dẫn sang đúng kiểu, nhưng chỉ kiểm tra kiểu thì chưa đủ: /items/0 hay /items/-3 vẫn lọt qua dù ID trong database không bao giờ âm hay bằng […]
    Mostra di più Mostra meno
    Meno di 1 minuto
  • Linh Fish Dev Podcast #22: Python thay chuỗi if/elif dài bằng match statement — pattern matching trong 5 phút
    Nov 3 2026
    Tập 22: Python thay chuỗi if/elif dài bằng match statement — pattern matching trong 5 phút. Chuỗi if/elif phân loại mã trạng thái hay loại sự kiện càng dài càng dễ sót nhánh, và khi giá trị cần phân loại là một dict lệnh từ API thì việc kiểm tra từng khóa bằng tay khiến […]
    Mostra di più Mostra meno
    Meno di 1 minuto
  • Linh Fish Dev Podcast #24: Django: loại bỏ bản ghi trùng bằng distinct() khi lọc qua quan hệ ManyToMany trong 5 phút
    Nov 5 2026
    Lọc queryset qua quan hệ nhiều tới nhiều có thể trả về cùng một bản ghi nhiều lần: một cuốn sách khớp hai tác giả thì xuất hiện hai dòng, khiến count() báo sai, phân trang lệch và thống kê sai mà không có lỗi nào cảnh báo. Trong tập này, Linh Fish Dev Podcast […]
    Mostra di più Mostra meno
    Meno di 1 minuto
  • Linh Fish Dev Podcast #25: FastAPI: validate query string bằng Query() — chặn tham số sai ngay từ cổng API trong 5 phút
    Nov 6 2026
    Query string là nơi client gửi tham số lọc, phân trang và tìm kiếm, và cũng là nơi tham số sai lọt qua dễ nhất: skip âm, limit khổng lồ hay từ khóa chỉ có một ký tự đều được FastAPI chấp nhận nếu chỉ khai báo tham số trần. Trong tập này, Linh Fish […]
    Mostra di più Mostra meno
    Meno di 1 minuto
  • Linh Fish Dev Podcast #26: FastAPI: nhận dữ liệu form bằng Form() — endpoint login chuẩn OAuth2 trong 5 phút
    Nov 7 2026
    Tập 26: FastAPI nhận dữ liệu form bằng Form() — endpoint login chuẩn OAuth2 trong 5 phút. Tài khoản đúng, mật khẩu đúng mà server vẫn trả lỗi 422: nguyên nhân là client gửi dữ liệu dạng form trong khi endpoint của bạn lại đang chờ JSON. Tập này giải thích vì sao FastAPI mặc […]
    Mostra di più Mostra meno
    Meno di 1 minuto
  • Linh Fish Dev Podcast #27: Django REST Framework: xác thực API bằng TokenAuthentication trong 5 phút
    Nov 8 2026
    Tập 27: Django REST Framework xác thực API bằng TokenAuthentication trong 5 phút. API của bạn đang mở toang nếu bất kỳ ai biết URL cũng đọc được dữ liệu — TokenAuthentication cấp cho mỗi user một token duy nhất, client gửi kèm token trong header Authorization ở mỗi request, và DRF tự xác thực […]
    Mostra di più Mostra meno
    Meno di 1 minuto
  • Linh Fish Dev Podcast #28: Flask hash mật khẩu an toàn bằng Werkzeug trong 5 phút
    Nov 9 2026
    Tập 28: Flask hash mật khẩu an toàn bằng Werkzeug trong 5 phút. Lưu mật khẩu dạng plaintext, hay hash bằng SHA-256 không có salt, đều là những lỗi bảo mật nghiêm trọng mà nhiều tutorial Flask cho người mới vẫn mắc phải. Tập này hướng dẫn hai hàm có sẵn của Werkzeug — generate_password_hash […]
    Mostra di più Mostra meno
    Meno di 1 minuto