AI活用の教科書

YAML

YAML Ain't Markup Languageやむる

ひとことで言うと

字下げで構造を表す、人にも機械にも読みやすい設定の書き方です。

📖 もうちょい詳しく

何が新しいの?

ソフトウェアの「設定」を書くための形式のひとつです。プログラムは動かすときに、どのサーバーを使うか、どんな手順で進めるか、といった情報を読み込みます。その情報を、人がそのまま読み書きしやすい形で書けるようにしたのがYAML(ヤムル)です。

どうやって動いてるの?

いちばんの特徴は、行の「字下げ(インデント)」で項目の親子関係を表すことです。左に詰めた行が親、その下を少し右にずらした行が子、というふうに、見た目のへこみがそのまま構造になります。だからカッコや記号が少なく、上から読むだけで「何が何にぶら下がっているか」がわかります。

何ができるの?

アプリの設定ファイル、自動テストや自動公開の手順書(CI/CD)、コンテナという仕組み(Dockerなど)の設定などで、とてもよく使われます。プログラミングそのものを書かなくても、YAMLが少し読めると、ツールの動きを自分で調整できる場面が増えます。

🌱 身近なたとえ

箇条書きの「目次」で例えると分かりやすいです。大きな見出しを左端に書き、その中の小見出しを少し右にずらして並べると、改めて説明しなくても上下関係が伝わります。YAMLはこの「字下げで親子を示す目次」を、そのまま機械にも読ませている形だと考えると近いです。

✅ まず覚えるポイント

  • 設定を人にも読みやすく書くための形式です。
  • 字下げ(インデント)の深さで項目の親子関係を表します。
  • 字下げには半角スペースを使い、タブ文字は使わないのがふつうです。
  • キー: 値 の形で1項目を書き、- で始めると一覧(リスト)になります。
  • ファイルの拡張子は .yml.yaml が多いです。
  • スペースの数がずれると意味が変わるので、そろえることが大切です。

🧭 よくある勘違い

YAMLはプログラミング言語なの?

いいえ、計算や処理の手順そのものを書く言語ではありません。あくまで「設定や情報を並べて表すための形式」です。中身を読み取って実際に動くのは、それを使うツールやプログラムのほうです。

JSONと何が違うの?

表せる内容は近く、お互いに変換もできます。違いは見た目で、JSONはカッコやカンマが多め、YAMLは字下げ中心で記号が少なめです。人が手で書いたり読んだりする設定にはYAML、データのやり取りにはJSON、と使い分けられることが多いです。

字下げはどれでもいいの?

いいえ、ここが間違えやすい点です。スペースの数で構造が決まるので、深さがそろっていないとエラーになったり、別の意味になったりします。タブとスペースを混ぜるのも避けたほうが安全です。

🧩 関連して覚えると楽な言葉

  • JSON: 同じく設定やデータを表す形式で、YAMLと相互に変換できます。
  • CI/CD: 自動でテストや公開を行う仕組みで、その手順をYAMLで書くことが多いです。
  • Docker: アプリを箱詰めして動かす仕組みで、設定にYAMLをよく使います。
  • Infrastructure as Code: サーバー構成をコードとして管理する考え方で、記述にYAMLが使われます。

🏁 ひとことでまとめ

カッコの代わりに字下げで中身を整理する、読みやすさ重視の設定の書き方です。