プログラミングやWeb開発をしていると、「.yaml」や「.yml」という拡張子のファイルを見かけることはありませんか?
これは、システムやアプリの設定ファイルなどによく使われる「YAML(ヤムル)」という形式です。
でも、「JSONと何が違うの?」「インデントって何?」と聞かれると戸惑ってしまう人も多いかもしれません。
この記事では、YAML形式の基本構造・特徴・メリットとデメリット、使いどころまでを初心者にもわかりやすく解説します。
開発現場だけでなく、設定ファイルや構成管理に触れる機会のある方は、ぜひ参考にしてください!
🔸 YAML(YML)形式とは?
読み方と正式名称
「ヤムル」と読みます。
正式名称は YAML Ain’t Markup Language(マークアップ言語ではないYAML)という再帰的な略語です。
以前は「Yet Another Markup Language」と呼ばれていましたが、現在の意味が主流です。
いつ・誰が開発したの?
YAMLは2001年、Clark Evans氏らによって開発されました。
人間にも読みやすい構成ファイルの形式として、JSONの代替として多くの場面で使われています。
簡単な仕組み(インデント+階層構造)
YAMLはインデント(字下げ)で階層を表現するスタイルで、見た目がとてもスッキリしています。
server:
host: localhost
port: 8080
user:
name: suzuki
admin: true
:
でキーと値を表現- スペースでネスト(階層)を作る
- 配列は
-
を使って表現する
fruits:
- apple
- banana
- orange
🔸 YAMLのメリットとデメリット
メリット
✅ 人間にとって非常に読みやすい
カンマや波カッコがないため、初心者でも直感的に読めます。
✅ 構造がシンプルで柔軟
入れ子構造(ネスト)がきれいに書けて、設定内容の整理がしやすいです。
✅ 多くの開発・構成ツールと互換性あり
Docker、Kubernetes、GitHub Actionsなどの設定ファイルで広く採用されています。
デメリット
⚠ インデントミスに厳しい
空白の数が合わないとエラーになりやすく、気づきにくいミスに注意が必要です。
⚠ 大型ファイルにはやや不向き
複雑すぎる構造では逆に読みにくくなることがあります。
⚠ 仕様がやや緩い
自由度が高いため、ツールごとに厳密な書き方が異なることもあります。
🔸 YAML形式はこんなときに使おう!【おすすめ用途】
✔ プログラミングやアプリ構成の設定に
サーバー構成、フレームワークの環境設定などで多用されます。
✔ CI/CDツールの設定に
GitHub ActionsやCircleCIなどの自動化ツールでのワークフロー記述に。
✔ DockerやKubernetesの構成管理に
コンテナ管理における設定ファイルとして事実上の標準になっています。
🔸 YAMLと他の拡張子の違いは?【比較でわかる特徴】
項目 | YAML(.yaml/.yml) | JSON(.json) |
---|---|---|
可読性 | ◎ とても読みやすい | △ 記号が多く視認しづらい |
階層の書き方 | インデント | カッコ({})とカンマ |
書きやすさ | ◎ 空白で整理できる | △ タイプ量が多め |
コメントの可否 | 可能(# ) | 不可 |
🔸 知っておきたいYAMLの注意点・豆知識
🧩 .yaml
と.yml
の違いは?
どちらも同じ形式。3文字制限がある古い環境では .yml
が使われていましたが、現在はどちらでもOKです。
🔍 インデントには「スペース」が必須
Tabキーではなく、スペース2つ or 4つで揃えるのが基本です。
🛠 コメントは #
で書ける!
設定の意図や説明を残しておけるのも便利なポイント。
🔸 まとめ|YAMLはこんな人・用途におすすめ!
YAML形式は、設定ファイルをわかりやすく記述したい人や、構成管理ツールを扱う開発者にとって必須の知識です。
JSONよりも見やすく、柔軟な構造で書けるため、インフラからアプリケーションまで広く使われています。
最初はインデントのルールに戸惑うかもしれませんが、一度慣れれば強力なツールに。
読みやすさと実用性を兼ね備えたYAML、ぜひ活用してみてください!
コメント