Kerangka Materi
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
Persyaratan
- 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
Testimoni (5)
Fakta memiliki lebih banyak latihan praktis menggunakan data yang lebih mirip dengan apa yang kami gunakan dalam proyek kami (gambar satelit dalam format raster)
Matthieu - CS Group
Kursus - Scaling Data Analysis with Python and Dask
Diterjemahkan Mesin
I thought the trainer was very knowledgeable and answered questions with confidence to clarify understanding.
Jenna - TCMT
Kursus - Machine Learning with Python – 2 Days
Very good preparation and expertise of a trainer, perfect communication in English. The course was practical (exercises + sharing examples of use cases)
Monika - Procter & Gamble Polska Sp. z o.o.
Kursus - Developing APIs with Python and FastAPI
Latihannya bagus
Vyshnavi Iyappan - Red Embedded Consulting Sp. z o.o.
Kursus - Unit Testing with Python
Diterjemahkan Mesin
The explaination