Kerangka Materi
Hari 1 — Fondasi Python yang Robust & Alat
Fitur Python Modern dan Pengetikan
- Dasar pengetikan, generics, Protocols, dan TypeGuard
- Ringkasan Dataclasses, frozen dataclasses, dan attrs
- Pattern matching (PEP 634+) dan penggunaan yang idiomatik
Kualitas Kode dan Alat
- Formatter dan linter kode: black, isort, flake8, ruff
- Pemeriksaan tipe statis dengan MyPy dan pyright
- Pre-commit hooks dan alur kerja pengembang
Manajemen Proyek dan Pengemasan
- Manajemen dependensi dengan Poetry dan lingkungan virtual
- Tata letak paket, entry points, dan praktik terbaik versioning
- Membangun dan mempublikasikan paket ke PyPI dan registry privat
Hari 2 — Pola Desain & Praktik Arsitektural
Pola Desain dalam Python
- Pola Kreasi: Factory, Builder, Singleton (varian Pythonic)
- Pola Struktural: Adapter, Facade, Decorator, Proxy
- Pola Perilaku: Strategy, Observer, Command
Prinsip Arsitektur
- Prinsip SOLID yang diterapkan pada codebase Python
- Arsitektur Hexagonal/Clean dan batas-batas
- Pola injeksi dependensi dan manajemen konfigurasi
Modularitas dan Pemakaian Ulang
- Merancang kode pustaka vs aplikasi
- API, antarmuka stabil, dan semantic versioning
- Penanganan konfigurasi, rahasia, dan pengaturan spesifik lingkungan
Hari 3 — Konkurensi, IO Async, dan Kinerja
Konkurensi dan Paralelisasi
- Fondasi threading dan implikasi GIL
- Multiprocessing dan process pools untuk tugas terikat CPU
- Kapan menggunakan concurrent.futures vs multiprocessing
Pemrograman Async dengan asyncio
- Pola Async/await, event loop, dan pembatalan
- Merancang pustaka async dan interoperabilitas dengan kode sinkron
- Pola terikat IO, backpressure, dan pembatasan laju
Profil dan Optimasi
- Alat profil: cProfile, pyinstrument, perf, memory_profiler
- Optimasi jalur panas dan penggunaan ekstensi-C/Numba jika sesuai
- Ukuran latensi, throughput, dan pemanfaatan sumber daya
Hari 4 — Pengujian, CI/CD, Observabilitas, dan Deployment
Strategi Pengujian dan Otomasi
- Pengujian unit dan fixture dengan pytest; organisasi pengujian
- Pengujian berbasis properti dengan Hypothesis dan pengujian kontrak
- Mocking, monkeypatching, dan pengujian kode asinkron
CI/CD, Rilis, dan Pemantauan
- Integrasi pengujian dan gerbang kualitas ke GitHub Actions/GitLab CI
- Membangun container yang dapat direproduksi dengan Docker dan multi-stage builds
- Observabilitas aplikasi: log terstruktur, metrik Prometheus, dan tracing
Keamanan, Pengerasan, dan Praktik Terbaik
- Audit dependensi, dasar-dasar SBOM, dan pemindaian kerentanan
- Praktik pemrograman aman untuk validasi input dan manajemen rahasia
- Pengerasan runtime: batas sumber daya, hak pengguna, dan keamanan container
Proyek Capstone & Tinjauan
- Laboratorium tim: merancang dan mengimplementasikan layanan kecil menggunakan pola dari kursus
- Pengujian, pemeriksaan tipe, pengemasan, dan pipeline CI untuk proyek
- Tinjauan akhir, kritik kode, dan rencana perbaikan yang dapat ditindaklanjuti
Rangkuman dan Langkah Selanjutnya
Persyaratan
- Pengalaman pemrograman Python tingkat menengah yang kuat
- Pengenalan dengan pemrograman berorientasi objek dan pengujian dasar
- Pengalaman menggunakan command line dan Git
Audiens
- Pengembang Python Senior
- Insinyur perangkat lunak yang bertanggung jawab atas kualitas dan arsitektur kode Python
- Juru teknis dan insinyur MLOps/DevOps yang bekerja dengan codebase Python
Testimoni (2)
semuanya sempurna
Florin Vrincianu
Kursus - Python Programming Fundamentals
Diterjemahkan Mesin
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