YAML (ヤムル) とは | 意味や読み方など丁寧でわかりやすい用語解説

作成日: 更新日:

YAML (ヤムル) の読み方

日本語表記

ヤメル (ヤメル)

英語表記

YAML (ヤムル)

YAML (ヤムル) の意味や用語解説

YAML(YAML Ain't Markup Language)は、データ記述に用いられるファイルフォーマットだ。設定ファイルやデータ交換フォーマットとして広く利用されており、JSONやXMLと並んで、現代のシステム開発における重要な技術の一つと言える。 YAMLの最大の特徴は、その可読性の高さだ。インデント(字下げ)とシンプルな記号を用いることで、人間が直感的に理解しやすい構造になっている。プログラミング言語Pythonの影響を強く受けており、コードのように記述できる点が、他のデータフォーマットと大きく異なる。 YAMLファイルは、基本的にキーと値のペアで構成される。キーはデータの内容を表す名前、値はキーに対応する実際のデータだ。キーと値のペアは、コロン(:)で区切って記述する。例えば、「name: John」という記述は、「name」というキーに対応する値が「John」であることを意味する。 複数のキーと値のペアをまとめる場合は、インデントを用いる。同じレベルのキーは、同じ数のスペースでインデントする。親子関係を表現する場合、子要素は親要素よりも深くインデントする。このインデントによって、データの構造が視覚的に明確になる。 YAMLでは、リスト(配列)と辞書(ハッシュ、連想配列)という2つの基本的なデータ構造を表現できる。リストは、複数の要素を順番に並べたもので、各要素はハイフン(-)で始まる行に記述する。辞書は、キーと値のペアをまとめたもので、前述のようにコロンで区切って記述する。これらのデータ構造を組み合わせることで、複雑なデータ構造も表現可能だ。 YAMLは、JSONと互換性がある部分がある。JSONの多くはYAMLとして解釈できる。しかし、YAMLの方がより柔軟な記述が可能で、コメントやアンカー、エイリアスといった高度な機能も備えている。 コメントは、シャープ(#)記号で始める行に記述する。コメントはYAMLパーサによって無視されるため、ファイルの内容を説明したり、メモを残したりするのに便利だ。 アンカーとエイリアスは、YAMLファイル内で同じデータを繰り返し記述するのを避けるための機能だ。アンカーは、特定のデータに名前(ラベル)を付ける機能で、アンパサンド(&)記号と名前を使って定義する。エイリアスは、アンカーで定義したデータを参照する機能で、アスタリスク(*)記号とアンカー名を使って参照する。これにより、データの重複を避け、ファイルサイズを削減できる。 YAMLは、様々なプログラミング言語で扱うためのライブラリが提供されている。Pythonでは PyYAML、Rubyでは YAML、Javaでは SnakeYAML などが代表的だ。これらのライブラリを使用することで、YAMLファイルを読み込んだり、YAML形式でデータを書き出したりすることが容易になる。 設定ファイルとしての利用例としては、Docker Composeのdocker-compose.ymlファイルや、Kubernetesのマニフェストファイルなどが挙げられる。これらのファイルでは、アプリケーションの構成やデプロイメントの設定をYAML形式で記述する。 データ交換フォーマットとしての利用例としては、APIのリクエストやレスポンスでYAML形式のデータを用いることが考えられる。特に、設定情報や構造化されたデータをやり取りする場合に、YAMLの可読性の高さがメリットとなる。 YAMLを使用する際の注意点としては、インデントの重要性が挙げられる。YAMLパーサは、インデントのレベルによってデータの構造を判断するため、インデントが正しくないとエラーが発生する。スペースとタブを混在させるとエラーの原因になるため、インデントにはスペースのみを使用することが推奨される。 YAMLは、可読性が高く、柔軟なデータ構造を表現できる強力なツールだ。システムエンジニアを目指す上で、YAMLの基礎知識を習得しておくことは、必ず役に立つだろう。設定ファイルの記述やデータ交換など、様々な場面で活用できるYAMLを使いこなせるよう、積極的に学習を進めてほしい。

YAML (ヤムル) とは | 意味や読み方など丁寧でわかりやすい用語解説