フリーキーズ | 独学プログラミング

YAMLとは

最終更新日

YAMLとは、"YAML Ain't Markup Language"(再帰的な頭文字な取り方)の略で、人間に優しいデータシリアライゼーションフォーマットです。JSON(JavaScript Object Notation)やXML(eXtensible Markup Language)と目的が似ていますが、これらのフォーマットよりも読みやすいと感じるエンジニアが多いです。

もっと簡単に言うと、YAMLは人間が読み書きしやすいように構造化された方法でデータを書き出す記法です。設定ファイル、異なるデータ構造を持つ言語間のデータ交換、データストレージによく使われます。

YAMLの基本原則

  • インデントは重要: YAMLでは、構造はインデントによって定義され、通常はスペースを使います。データの階層構造を見やすくするためです。
  • キーと値のペア: YAMLにおけるデータの基本的な単位はコロンで区切られたキーと値のペアです。
  • リスト: リストは各アイテムの前にダッシュ(-)で示されます。

YAML記法の例

単純なキーと値のペア

name: Yamada Taro
age: 30
occupation: Engineer

この例では、名前、年齢、職業の3つのデータを持っています。名前はYamada Taro、年齢は30、職業はEngineerです。

リスト

fruits:
  - Apple
  - Banana
  - Cherry

果物であるAppleBananaCherryという3つの項目を含むリストです。

入れ子構造

person:
  name: Tanaka Hanako
  age: 25
  address:
    pref: Fukuoka
    city: Itoshima
    zip: 810-0000

この例は、Tanaka Hanakoという人物(person)を表しています。彼女の名前と年齢、そして住所を表しており、それ自体がキーと値のペア(都道府県、市区町村、郵便番号)のセットです。

YAMLを用いた例え

YAMLをファイルキャビネットの中身を書き出す方法と想像してください。
キャビネットのそれぞれの引き出し(キー)にはラベルがあり、その引き出しの中にはファイルやさらに小さな引き出し(値)があります。ラベルと構造を見ることで、複雑な指示を必要とせずに、中に何が入っているかをすぐに理解することができるというわけです。

これがYAMLの長所であり、システムに利用するのに最適な理由です。YAMLはシンプルで人間にとって理解しやすいように設計されているので、設定や他のデータを用いたタスクを記述するためによく使われます。