YAMLとは、"YAML Ain't Markup Language"(再帰的な頭文字な取り方)の略で、人間に優しいデータシリアライゼーションフォーマットです。JSON(JavaScript Object Notation)やXML(eXtensible Markup Language)と目的が似ていますが、これらのフォーマットよりも読みやすいと感じるエンジニアが多いです。
もっと簡単に言うと、YAMLは人間が読み書きしやすいように構造化された方法でデータを書き出す記法です。設定ファイル、異なるデータ構造を持つ言語間のデータ交換、データストレージによく使われます。
-
)で示されます。この例では、名前、年齢、職業の3つのデータを持っています。名前はYamada Taro
、年齢は30
、職業はEngineer
です。
果物であるApple
、Banana
、Cherry
という3つの項目を含むリストです。
この例は、Tanaka Hanako
という人物(person
)を表しています。彼女の名前と年齢、そして住所を表しており、それ自体がキーと値のペア(都道府県、市区町村、郵便番号)のセットです。
YAMLをファイルキャビネットの中身を書き出す方法と想像してください。
キャビネットのそれぞれの引き出し(キー)にはラベルがあり、その引き出しの中にはファイルやさらに小さな引き出し(値)があります。ラベルと構造を見ることで、複雑な指示を必要とせずに、中に何が入っているかをすぐに理解することができるというわけです。
これがYAMLの長所であり、システムに利用するのに最適な理由です。YAMLはシンプルで人間にとって理解しやすいように設計されているので、設定や他のデータを用いたタスクを記述するためによく使われます。