YAML
YAML (YAML Ain't Markup Language)
Format serialisasi data yang mudah dibaca manusia yang menggunakan indentasi dan sintaks minimal untuk merepresentasikan struktur data, banyak digunakan untuk file konfigurasi dan format pertukaran data.
Detail Teknis
Spesifikasi YAML (1.2): superset ketat dari JSON. Tipe skalar: string (polos, tanda kutip tunggal, tanda kutip ganda), integer, float, boolean (true/false/yes/no — ya! 'yes' adalah boolean), null (~, null, kosong), stempel waktu. Koleksi: pemetaan (key: value), urutan (- item), dan bersarang melalui indentasi (hanya spasi, tab dilarang). Fitur lanjutan: anchor (&name) dan alias (*name) untuk referensi, tag (!type) untuk tipe kustom, beberapa dokumen (pemisah ---), string multi-baris (| untuk literal, > untuk terlipat). Gotcha: 'Norway problem' (NO diurai sebagai false), indentasi sensitif, kerentanan injeksi YAML melalui !!python/object (nonaktifkan pemuat yang tidak aman). Parser: PyYAML (safe_load diperlukan), js-yaml, SnakeYAML, go-yaml. Alternatif: TOML (lebih sederhana, lebih ketat), JSON (lebih ketat, kurang dapat dibaca). Kasus penggunaan umum: Docker Compose, GitHub Actions, Kubernetes, Ansible, CI/CD pipeline.
Contoh
```javascript
// YAML: web API example
const response = await fetch('/api/resource');
const data = await response.json();
console.log(data);
```