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

  • Kualitas Kode dan Alat

    • Pemformat kode dan linter: black, isort, flake8, ruff
    • Pengecekan tipe statis dengan MyPy dan pyright
    • Hooks pre-commit dan alur kerja pengembang

    • Pengelolaan Proyek dan Pemaketan

      • 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

      • Hari 2 — Pola Desain & Praktik Arsitektur

        Pola Desain di Python

        • Pola pembuatan: Factory, Builder, Singleton (varian Pythonic)
        • Pola struktural: Adapter, Facade, Decorator, Proxy
        • Pola perilaku: Strategy, Observer, Command

        • Prinsip Arsitektur

          • Prinsip SOLID yang diterapkan pada kodebase Python
          • Arsitektur Hexagonal/Bersih dan batasan
          • Pola injeksi dependensi dan manajemen konfigurasi

          • Modularitas dan Reusability

            • Mendesain kode perpustakaan vs aplikasi
            • API, antarmuka stabil, dan versi semantik
            • Menangani konfigurasi, rahasia, dan pengaturan spesifik lingkungan

            • Hari 3 — Konkurensi, Async IO, dan Performa

              Konkurensi dan Paralelisme

              • Fundamental threading dan implikasi GIL
              • Multiprocessing dan pool proses untuk tugas CPU-bound
              • Kapan harus menggunakan concurrent.futures vs multiprocessing

              • Pemrograman Async dengan asyncio

                • Pola async/await, event loop, dan pembatalan
                • Mendesain perpustakaan async dan interoperabilitas dengan kode sinkron
                • Pola IO-bound, backpressure, dan rate limiting

                • Profil dan Optimasi

                  • Alat profil: cProfile, pyinstrument, perf, memory_profiler
                  • Mengoptimalkan jalur panas dan menggunakan C-extensions/Numba jika sesuai
                  • Mengukur latency, throughput, dan penggunaan sumber daya

                  • Hari 4 — Pengujian, CI/CD, Observability, dan Deployment

                    Strategi Pengujian dan Otomatisasi

                    • Pengujian unit dan fixture dengan pytest; organisasi pengujian
                    • Pengujian berbasis properti dengan Hypothesis dan pengujian kontrak
                    • Mocking, monkeypatching, dan pengujian kode asinkronus

                    • CI/CD, Rilis, dan Monitoring

                      • 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

                      • Kecaman Keamanan, Penguatan, dan Praktik Terbaik

                        • 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

                        • Proyek Capstone & Ulasan

                          • 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

                          • 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
 28 Jam

Jumlah Peserta


Harga per Peserta

Testimoni (5)

Kursus Mendatang

Kategori Terkait