Kerangka Materi
Hari 1 — Fondasi Python Kuat & Alat
Fitur Modern Python dan Tipe Data
- Dasar tipe data, generics, Protocols, dan TypeGuard
- Dataclasses, frozen dataclasses, dan overview attrs
- Pola pencocokan (PEP 634+) dan penggunaan idiomatik
- Pemformat kode dan linter: black, isort, flake8, ruff
- Pengecekan tipe statis dengan MyPy dan pyright
- Hooks pre-commit dan alur kerja pengembang
- Pengelolaan dependensi dengan Poetry dan lingkungan virtual
- Tata letak paket, entri poin, dan praktik terbaik versi
- Membangun dan menerbitkan paket ke PyPI dan registry pribadi
- Pola pembuatan: Factory, Builder, Singleton (varian Pythonic)
- Pola struktural: Adapter, Facade, Decorator, Proxy
- Pola perilaku: Strategy, Observer, Command
- Prinsip SOLID yang diterapkan pada kodebase Python
- Arsitektur Hexagonal/Bersih dan batasan
- Pola injeksi dependensi dan manajemen konfigurasi
- Mendesain kode perpustakaan vs aplikasi
- API, antarmuka stabil, dan versi semantik
- Menangani konfigurasi, rahasia, dan pengaturan spesifik lingkungan
- Fundamental threading dan implikasi GIL
- Multiprocessing dan pool proses untuk tugas CPU-bound
- Kapan harus menggunakan concurrent.futures vs multiprocessing
- Pola async/await, event loop, dan pembatalan
- Mendesain perpustakaan async dan interoperabilitas dengan kode sinkron
- Pola IO-bound, backpressure, dan rate limiting
- Alat profil: cProfile, pyinstrument, perf, memory_profiler
- Mengoptimalkan jalur panas dan menggunakan C-extensions/Numba jika sesuai
- Mengukur latency, throughput, dan penggunaan sumber daya
- Pengujian unit dan fixture dengan pytest; organisasi pengujian
- Pengujian berbasis properti dengan Hypothesis dan pengujian kontrak
- Mocking, monkeypatching, dan pengujian kode asinkronus
- Mengintegrasikan pengujian dan gerbang kualitas ke GitHub Actions/GitLab CI
- Membangun kontainer yang dapat direproduksi dengan Docker dan pembuatan multi-stage
- Observability aplikasi: logging terstruktur, metrik Prometheus, dan tracing
- Pemeriksaan dependensi, dasar SBOM, dan pemindaian kerentanan
- Praktik coding aman untuk validasi input dan manajemen rahasia
- Penguatan runtime: batas sumber daya, hak pengguna, dan keamanan kontainer
- Laboratorium tim: merancang dan mengimplementasikan layanan kecil menggunakan pola dari kursus
- Pengujian, pengecekan tipe, pemaketan, dan pipeline CI untuk proyek
- Ulasan akhir, kritik kode, dan rencana perbaikan yang dapat diambil
Kualitas Kode dan Alat
Pengelolaan Proyek dan Pemaketan
Hari 2 — Pola Desain & Praktik Arsitektur
Pola Desain di Python
Prinsip Arsitektur
Modularitas dan Reusability
Hari 3 — Konkurensi, Async IO, dan Performa
Konkurensi dan Paralelisme
Pemrograman Async dengan asyncio
Profil dan Optimasi
Hari 4 — Pengujian, CI/CD, Observability, dan Deployment
Strategi Pengujian dan Otomatisasi
CI/CD, Rilis, dan Monitoring
Kecaman Keamanan, Penguatan, dan Praktik Terbaik
Proyek Capstone & Ulasan
Rangkuman dan Langkah Selanjutnya
Persyaratan
- Pengalaman pemrograman Python tingkat menengah yang kuat
- Keterampilan dalam pemrograman berorientasi objek dan pengujian dasar
- Pengalaman menggunakan baris perintah dan Git
Audience
- Pengembang Python senior
- Ingenieur perangkat lunak yang bertanggung jawab atas kualitas dan arsitektur kode Python
- Kepala teknis dan insinyur MLOps/DevOps yang bekerja dengan kodebase Python
Testimoni (2)
Latihan praktis yang terkait dengan materi benar-benar membantu untuk memahami lebih dalam setiap topik. Selain itu, gaya memulai kelas dengan kuliah dan dilanjutkan dengan latihan praktis sangat baik dan membantu untuk mengaitkannya dengan materi yang telah disampaikan sebelumnya.
Nazeera Mohamad - Ministry of Science, Technology and Innovation
Kursus - Introduction to Data Science and AI using Python
Diterjemahkan Mesin
Contoh/latihan yang sangat sesuai dengan bidang kami
Luc - CS Group
Kursus - Scaling Data Analysis with Python and Dask
Diterjemahkan Mesin