Lewati ke konten utama

F3 · Modul 13

Otomasi

49 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. Level 5

    Pendalaman

Intinya

  • Otomasi dipilih menurut pemicunya: perintah (make), waktu (cron), atau peristiwa (hook Git); ketiganya membaca kode keluar.
  • make membangun ulang target yang belum ada, lebih tua daripada prasyaratnya, atau prasyaratnya baru dibangun ulang, dalam urutan graf ketergantungan.
  • cron berjalan dengan lingkungan minimal dan jam mesinnya: tulis jalur absolut, alihkan log, dan periksa jadwal UTC dengan date.
  • Hook pre-commit pemindai rahasia membaca isi indeks, aman untuk nama berspasi, dan tidak mencetak rahasianya; karena hook bisa dilewati, rahasia dijaga berlapis.

Sebelum mulai

±4 jam.

Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.

Hasil belajar: menulis Makefile dengan target, prasyarat, resep, variabel, variabel otomatis ($@, $<, $^, $*), aturan pola, dan .PHONY; menjelaskan bagaimana make memutuskan apa yang dibangun ulang dari graf ketergantungan dan cap waktu, lalu menirunya dengan Python (urutan_bangun); membaca dan menulis jadwal cron lima kolom, termasuk aturan tanggal-atau-hari, lingkungan minimal, dan konversi UTC ke WIB; memasang hook Git pre-commit yang menolak .env dan baris mirip kunci rahasia dengan memeriksa indeks, bukan folder kerja; dan memilih antara make, task runner modern, dan framework pre-commit.

Proyek: Perkakas Makmur langkah 13: Makefile, minimake.py (urutan_bangun), hook pre-commit yang menolak .env dan rahasia, dan jadwal cadangan harian (kontrak proyek).

Istilah di modul ini (45)

Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course

Bahan modul

Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.

  • 1 contoh kode
  • 9 berkas latihan + tes
  • 29 berkas data
Lihat isi zip
  • BACA-DULU.txt
  • Makefile
  • patok-git.sh
  • contoh_f3_13_794.py
  • test_f3_13_1.py
  • test_f3_13_5.py
  • test_f3_13_6.py
  • test_f3_13_7.py
  • test_f3_13_2.py
  • test_f3_13_4.py
  • test_f3_13_9.py
  • test_f3_13_3.py
  • test_f3_13_8.py
  • kas/kas-2026-09-01.csv
  • kas/kas-2026-09-02.csv
  • kas/kas-2026-09-03.csv
  • kas/kas-2026-09-04.csv
  • kas/kas-2026-09-05.csv
  • kas/kas-2026-09-06.csv
  • kas/kas-2026-09-07.csv
  • kas/kas-2026-09-08.csv
  • kas/kas-2026-09-09.csv
  • kas/kas-2026-09-10.csv
  • kas/kas-2026-09-11.csv
  • kas/kas-2026-09-12.csv
  • kas/kas-2026-09-14.csv
  • kas/kas-2026-09-15.csv
  • kas/kas-2026-09-16.csv
  • kas/kas-2026-09-17.csv
  • kas/kas-2026-09-18.csv
  • kas/kas-2026-09-19.csv
  • kas/kas-2026-09-20.csv
  • kas/kas-2026-09-21.csv
  • kas/kas-2026-09-22.csv
  • kas/kas-2026-09-23.csv
  • kas/kas-2026-09-24.csv
  • kas/kas-2026-09-25.csv
  • kas/kas-2026-09-26.csv
  • kas/kas-2026-09-27.csv
  • kas/kas-2026-09-28.csv
  • kas/kas-2026-09-29.csv
  • kas/kas-2026-09-30.csv