Đề cương khóa học
Ngày 1 — Nền Tảng Python Robust & Công Cụ
Tính năng Python hiện đại và Kiểu Dữ liệu
- Cơ bản về kiểu dữ liệu, generics, Protocols, và TypeGuard
- Dataclasses, frozen dataclasses, và tổng quan về attrs
- Bí quyết sử dụng pattern matching (PEP 634+) và cách dùng chuẩn mực
Chất lượng Mã Nguồn và Công Cụ
- Công cụ định dạng mã và linter: 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à Bao Gói
- Quản lý phụ thuộc với Poetry và môi trường ảo
- Bố cục gói, điểm vào, và các thực hành tốt nhất về phiên bản
- Xây dựng và phát hành gói đến PyPI và các registry riêng
Ngày 2 — Mô Hình Thiết Kế & Thực Hành Kiến Trúc
Mô Hình Thiết Kế trong Python
- Các mô hình sáng tạo: Factory, Builder, Singleton (phiên bản Pythonic)
- Các mô hình cấu trúc: Adapter, Facade, Decorator, Proxy
- Các mô hình hành vi: Strategy, Observer, Command
Những Nguyên Tắc Kiến Trúc
- Các nguyên tắc SOLID áp dụng cho mã nguồn Python
- Kiến trúc Hexagonal/Clean và các ranh giới
- Các mô hình tiêm phụ thuộc và quản lý cấu hình
Tính Mô Đun và Reuse
- Thiết kế mã thư viện so với mã ứng dụng
- Các API, giao diện ổn định, và phiên bản ngữ nghĩa
- Xử lý cấu hình, bí mật, và cài đặt cụ thể cho môi trường
Ngày 3 — Đồng Thời, Async IO, và Hiệu Suất
Đồng thời và Song song
- Các nguyên lý cơ bản về luồng và tác động của GIL
- Song công và pool quy trình cho các tác vụ CPU-bound
- Khi nào sử dụng concurrent.futures so với multiprocessing
Lập Trình Async với asyncio
- Mô hình async/await, vòng lặp sự kiện, và hủy bỏ
- Thiết kế thư viện async và khả năng tương tác với mã sync
- Các mô hình IO-bound, backpressure, và rate limiting
Định Mức và Tối Ưu hóa
- Công cụ định mức: cProfile, pyinstrument, perf, memory_profiler
- Tối ưu hóa các đường đi nóng và sử dụng C-extensions/Numba khi phù hợp
- Đo đạc độ trễ, thông lượng, và sử dụng tài nguyên
Ngày 4 — Kiểm Thử, CI/CD, Quan Sát, và Triển Khai
Các 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
- Công cụ 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ác cổng chất lượng vào GitHub Actions/GitLab CI
- Xây dựng container có thể tái tạo với Docker và multi-stage builds
- Sự quan sát ứng dụng: logging cấu trúc, metrics Prometheus, và tracing
Bảo Mật, Củng Cố, và Thực Hành Tốt Nhất
- Kiểm tra phụ thuộc, SBOM cơ bản, và quét lỗ hổng
- Các thực hành lập trình an toàn cho việc kiểm tra đầu vào và quản lý bí mật
- Củng 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 Hợp & Đánh Giá
- Lớp thực hành nhóm: thiết kế và triển khai một dịch vụ nhỏ sử dụng mô hình từ khóa học
- Kiểm thử, kiểm tra kiểu, bao gói, và ống dẫn CI cho dự án
- Xem xét cuối cùng, đánh giá mã, và kế hoạch cải tiến hành động
Tóm Tắt và Bước Tiếp Theo
Yêu cầu
- Kinh nghiệm lập trình Python trung cấp mạnh mẽ
- Familiarity with object-oriented programming and basic testing
- Kinh nghiệm sử dụng dòng lệnh và Git
Đối Tượng Học Viên
- Lập trình viên Python cao cấp
- Kỹ sư phần mềm chịu trách nhiệm về chất lượng và kiến trúc mã nguồn Python
- Các trưởng kỹ thuật và kỹ sư MLOps/DevOps làm việc với mã nguồn Python
Đánh giá (5)
Việc có nhiều bài tập thực hành hơn sử dụng dữ liệu tương tự như chúng ta dùng trong các dự án của mình (hình ảnh vệ tinh ở định dạng raster)
Matthieu - CS Group
Khóa học - Scaling Data Analysis with Python and Dask
Dịch thuật bằng máy
Tôi nghĩ giảng viên rất am hiểu và trả lời câu hỏi với sự tự tin để làm rõ hiểu biết.
Jenna - TCMT
Khóa học - Machine Learning with Python – 2 Days
Dịch thuật bằng máy
Đánh giá rất tốt về sự chuẩn bị và chuyên môn của giảng viên, giao tiếp tiếng Anh hoàn hảo. Khóa học mang tính thực hành cao (bài tập + chia sẻ các ví dụ về trường hợp sử dụng)
Monika - Procter & Gamble Polska Sp. z o.o.
Khóa học - Developing APIs with Python and FastAPI
Dịch thuật bằng máy
Giải thích
Wei Yang Teo - Ministry of Defence, Singapore
Khóa học - Machine Learning with Python – 4 Days
Dịch thuật bằng máy
Giảng viên phát triển khóa học dựa trên tốc độ của người tham gia
Farris Chua
Khóa học - Data Analysis in Python using Pandas and Numpy
Dịch thuật bằng máy