F3 · Modul 13
Otomasi
49 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
Level 5
Pendalaman
Intinya
- Otomasi dipilih menurut pemicunya: perintah (
make), waktu (cron), atau peristiwa (hook Git); ketiganya membaca kode keluar. makemembangun ulang target yang belum ada, lebih tua daripada prasyaratnya, atau prasyaratnya baru dibangun ulang, dalam urutan graf ketergantungan.cronberjalan dengan lingkungan minimal dan jam mesinnya: tulis jalur absolut, alihkan log, dan periksa jadwal UTC dengandate.- Hook
pre-commitpemindai 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