Liên hệ với chúng tôi
 Thời gian kéo dài 28 Giờ học

Đề cương khóa học

Ngày 1 — Nền tảng Python vững chắc & Công cụ

Các tính năng Python hiện đại và Phân loại kiểu dữ liệu

  • Cơ bản về phân loại kiểu, generic, Protocols và TypeGuard
  • Dataclasses, dataclasses đóng băng (frozen dataclasses) và tổng quan về attrs
  • Trò khớp hoa văn (Pattern matching - PEP 634+) và cách sử dụng thông dụng (idiomatic)

Chất lượng mã nguồn và Công cụ

  • Trình định dạng mã và trình kiểm tra lỗi (linters): black, isort, flake8, ruff
  • Kiểm tra kiểu tĩnh với MyPy và pyright
  • Các hook pre-commit và quy trình làm việc của nhà phát triển

Quản lý dự án và Đóng gói

  • Quản lý phụ thuộc với Poetry và môi trường ảo (virtual environments)
  • Bố cục gói, điểm vào (entry points) và các thực hành tốt nhất về phiên bản hóa (versioning)
  • Xây dựng và xuất bản gói lên PyPI và các registry riêng tư

Ngày 2 — Mẫu thiết kế & Thực hành kiến trúc

Mẫu thiết kế trong Python

  • Mẫu sáng tạo (Creational patterns): Factory, Builder, Singleton (biến thể theo phong cách Python)
  • Mẫu cấu trúc (Structural patterns): Adapter, Facade, Decorator, Proxy
  • Mẫu hành vi (Behavioral patterns): Strategy, Observer, Command

Nguyên lý kiến trúc

  • Nguyên lý SOLID áp dụng cho các cơ sở mã Python
  • kiến trúc Hexagonal/Clean và các ranh giới (boundaries)
  • Các mẫu tiêm phụ thuộc (dependency injection) và quản lý cấu hình

Độ module hóa và Tái sử dụng

  • Thiết kế mã thư viện so với mã ứng dụng
  • API, giao diện ổn định và phiên bản hóa ngữ nghĩa (semantic versioning)
  • Xử lý cấu hình, thông tin bí mật (secrets) và cài đặt cụ thể theo môi trường

Ngày 3 — Đồng thời, IO bất đồng bộ và Hiệu suất

Đồng thời và Song song

  • Nền tảng lập trình luồng (threading) và các tác động của GIL
  • Multiprocessing và các pool tiến trình cho các tác vụ ràng buộc CPU
  • Khi nào nên sử dụng concurrent.futures so với multiprocessing

Lập trình bất đồng bộ với asyncio

  • Các mẫu async/await, vòng lặp sự kiện (event loop) và hủy bỏ (cancellation)
  • Thiết kế thư viện bất đồng bộ và khả năng tương tác với mã đồng bộ (sync)
  • Các mẫu ràng buộc IO, áp suất ngược (backpressure) và giới hạn tốc độ (rate limiting)

Lấy hồ sơ (Profiling) và Tối ưu hóa

  • Công cụ lấy hồ sơ: cProfile, pyinstrument, perf, memory_profiler
  • Tối ưu hóa các đường nóng (hot paths) và sử dụng các phần mở rộng C/Numba khi phù hợp
  • Đo độ trễ, thông lượng và mức độ sử dụng tài nguyên

Ngày 4 — Kiểm thử, CI/CD, Quan sát tính (Observability) và Triển khai

Chiến lược kiểm thử và Tự động hóa

  • Kiểm thử đơn vị và fixtures với pytest; tổ chức kiểm thử
  • Kiểm thử dựa trên thuộc tính với Hypothesis và kiểm thử hợp đồng (contract testing)
  • Mô phỏng (mocking), monkeypatching và kiểm thử mã bất đồng bộ

CI/CD, Phát hành và Giám sát

  • Tích hợp kiểm thử và cổng chất lượng (quality gates) vào GitHub Actions/GitLab CI
  • Xây dựng các container có thể tái lập với Docker và các bước xây dựng nhiều giai đoạn (multi-stage builds)
  • Quan sát tính của ứng dụng: nhật ký có cấu trúc (structured logging), chỉ số Prometheus và theo dõi (tracing)

Bảo mật, Gia cố và Thực hành tốt nhất

  • Thẩm định phụ thuộc, cơ bản về SBOM và quét lỗ hổng
  • Các thực hành lập trình an toàn cho xác thực đầu vào và quản lý thông tin bí mật
  • Gia cố thời gian chạy: giới hạn tài nguyên, quyền người dùng và bảo mật container

Dự án tổng kết (Capstone) & Rút kinh nghiệm

  • Phòng lab nhóm: thiết kế và triển khai một dịch vụ nhỏ sử dụng các mẫu từ khóa học
  • Kiểm thử, kiểm tra kiểu, đóng gói và pipeline CI cho dự án
  • Rút kinh nghiệm cuối cùng, phê bình mã và kế hoạch cải thiện có thể thực hiện được

Tổng kết và Các bước tiếp theo

Yêu cầu

  • Kinh nghiệm lập trình Python ở cấp độ trung cấp vững chắc
  • Quen thuộc với lập trình hướng đối tượng và kiểm thử cơ bản
  • Kinh nghiệm sử dụng dòng lệnh và Git

Đối tượng tham gia

  • Lập trình viên Python cấp cao
  • Kỹ sư phần mềm chịu trách nhiệm về chất lượng mã và kiến trúc Python
  • Trưởng nhóm kỹ thuật và kỹ sư MLOps/DevOps làm việc với các cơ sở mã (codebases) Python

Số người tham gia


Giá cho mỗi học viên

Đánh giá (2)

Các khóa học sắp tới

Các danh mục liên quan