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

Day 1 — Robust Python Foundations & Tooling

Modern Python Features and Typing

  • Typing basics, generics, Protocols, and TypeGuard
  • Dataclasses, frozen dataclasses, and attrs overview
  • Pattern matching (PEP 634+) and idiomatic usage

Code Quality and Tooling

  • Code formatters and linters: black, isort, flake8, ruff
  • Static type checking with MyPy and pyright
  • Pre-commit hooks and developer workflows

Project Management and Packaging

  • Dependency management with Poetry and virtual environments
  • Package layout, entry points, and versioning best practices
  • Building and publishing packages to PyPI and private registries

Day 2 — Design Patterns & Architectural Practices

Design Patterns in Python

  • Creational patterns: Factory, Builder, Singleton (Pythonic variants)
  • Structural patterns: Adapter, Facade, Decorator, Proxy
  • Behavioral patterns: Strategy, Observer, Command

Architectural Principles

  • SOLID principles applied to Python codebases
  • Hexagonal/Clean Architecture and boundaries
  • Dependency injection patterns and configuration management

Modularity and Reuse

  • Designing library vs application code
  • APIs, stable interfaces, and semantic versioning
  • Handling configuration, secrets, and environment-specific settings

Day 3 — Concurrency, Async IO, and Performance

Concurrency and Parallelism

  • Threading fundamentals and the GIL implications
  • Multiprocessing and process pools for CPU-bound tasks
  • When to use concurrent.futures vs multiprocessing

Async Programming with asyncio

  • Async/await patterns, event loop, and cancellation
  • Designing async libraries and interoperability with sync code
  • IO-bound patterns, backpressure, and rate limiting

Profiling and Optimization

  • Profiling tools: cProfile, pyinstrument, perf, memory_profiler
  • Optimizing hot paths and using C-extensions/Numba where appropriate
  • Measuring latency, throughput, and resource utilization

Day 4 — Testing, CI/CD, Observability, and Deployment

Testing Strategies and Automation

  • Unit testing and fixtures with pytest; test organization
  • Property-based testing with Hypothesis and contract testing
  • Mocking, monkeypatching, and testing asynchronous code

CI/CD, Release, and Monitoring

  • Integrating tests and quality gates into GitHub Actions/GitLab CI
  • Building reproducible containers with Docker and multi-stage builds
  • Application observability: structured logging, Prometheus metrics, and tracing

Security, Hardening, and Best Practices

  • Dependency auditing, SBOM basics, and vulnerability scanning
  • Secure coding practices for input validation and secrets management
  • Runtime hardening: resource limits, user rights, and container security

Capstone Project & Review

  • Team lab: design and implement a small service using patterns from the course
  • Testing, type-checking, packaging, and CI pipeline for the project
  • Final review, code critique, and actionable improvement plan

Summary and Next Steps

Yêu cầu

  • Strong intermediate-level Python programming experience
  • Familiarity with object-oriented programming and basic testing
  • Experience using the command line and Git

Audience

  • Senior Python developers
  • Software engineers responsible for Python code quality and architecture
  • Technical leads and MLOps/DevOps engineers who work with Python codebases
 28 Giờ học

Số người tham gia


Giá cho mỗi người tham gia

Đánh giá (5)

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

Các danh mục liên quan