0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「YAMLってなんか聞いたことある…」という方たちへ

Posted at

YAMLとはマークアップ言語じゃない!

YAMLとは、
"YAML Ain’t Markup Language"(YAMLはマークアップ言語じゃない!の略)の略語です。
名前の定義に名前がある再帰的なやり方がかっこいいですね。

YAMLは人間にとって読みやすいデータ記述フォーマットの1つで、設定ファイルやデータの構造を簡潔に書くためによく使われます。
HTMLやXMLのように、文章をコンピュータに理解させるためテキストにタグや記号などを埋め込むマークアップ言語とは異なります。

もっと簡単にいうと、設定ファイル界の「手書きメモ」みたいな存在です。

ざっくり特徴3選

ざっくりと3つの特徴だけ覚えておきましょう。

  • とにかく見やすい
     → もうXMLやカッコだらけのJSONに怯えなくていい。
  • スペースで階層を表現
     → インデントが命。でもタブは禁止!(鬼のルール)
  • 設定ファイルによく使われる
     → 開発者がこっそり編集してるファイルの正体がYAMLです。

何に使われてる?

実はあなたの知らないところで、こんな風に使われています。

  • アプリやツールの設定ファイル
  • Kubernetes(クラウドでアプリを動かす)の構成管理
  • GitHub Actionsで「自動でテストしてね」と指示するスクリプト
  • Ansibleで「このサーバー、こうしておいてね」とお願いするファイル
    など。

👨‍💻「いや、それってJSONでよくない?」
🤖「いやいや、YAMLは“人間が読む”ためにあるんだよ。」

YAMLを実際に書いてみよう。

実際に書いてみると、JSONとの違いがわかりやすいです。
まずは、YAMLで人の情報を書いてみましょう。

user:
  name: "田中太郎"
  age: 30
  skills:
    - Python
    - Azure
    - Databricks

見やすくないですか?
「田中太郎さん、30歳、クラウドとかデータ分析できそうだな」って、一瞬で伝わります。

これをJSONで書くと……

{
  "user": {
    "name": "田中太郎",
    "age": 30,
    "skills": ["Python", "Azure", "Databricks"]
  }
}

😇「いや、JSONさん……君も悪くないんだけど、カッコ多すぎ」

YAMLのシンプルさ、可読性が高いことがわかルカと思います。

ただし、YAMLは見やすい分ちょっとしたこだわり屋さんでもあります。
スペースの数、改行の位置――そういう細かいところを気にします。
少しスペースがずれると表示されなかったりします。

YAML vs JSON vs XML

「マークアップ言語と言えば、なんかJSONとかXMLってのも聞いたことあるけどそれらとは違うの?」
と思う方もいるかと思います。

これらは一般的に使用されるデータ形式として、それぞれ独自の特徴を持ち、異なるアプリケーションシナリオに適しています。

以下の項目で比較してみます。

項目 YAML JSON XML
読みやすさ ◎(人間向け) ○(まあまあ) △(目が疲れる)
書きやすさ ○(スペース命) ◎(カッコ多いけど簡単) △(タグ閉じるの大変)
構造の表現力 ◎(柔軟) ○(入れ子構造得意) ◎(属性とか扱える)
よく使われる場所 設定ファイル、インフラ定義 API通信、Webアプリ 古めのシステム、Office製品など
初心者フレンドリーさ

覚えやすいよう三兄弟をキャラで例えるとこんな感じです。

🟡 YAMLくん(末っ子)
 → 見た目で勝負!感覚派。メモがうまくて、人に伝えるのが得意。几帳面だけど、ちょっと神経質(タブ禁止とか)。

🟢 JSONくん(次男)
 → 真面目で合理主義。カッコは多いけどルールはシンプル。パソコンと仲良し。API界の人気者。

🔵 XMLさん(長男)
 → 昭和生まれのベテラン。礼儀正しいけど、口調が堅い。昔は最強だったけど、今はちょっと距離感ある存在。

もっと詳しく知りたい方はこちらも参考になるかと思います。

あなたのPCでもすぐYAMLを見つけらるはず

あなたのすぐ手の届く範囲にも、すでにYAMLはいます。
試しに、以下の場所を探してみてください。

Mac編(Finderで探す)

  1. Finderを開く
  2. 「このMacを検索」を選ぶ
  3. 🔍 検索欄に: *.yml または *.yaml と入力
  4. 「種類:その他 → プレーンテキストファイル」にすると探しやすいかも

Windows編(エクスプローラーで探す)

  1. エクスプローラーを開く
  2. 上の検索窓に: *.yml または *.yaml と入力
  3. ユーザーフォルダ(C:\Users\あなたの名前)から探すとヒットしやすいです

見つけたファイル例:

  • docker-compose.yml:Dockerという開発ツールの設定
  • .github/workflows/deploy.yml:GitHubでの自動処理の設定
  • vite.config.yaml:Webフレームワークの設定(Viteなど)

最後に:YAMLと仲良くなろう。

YAMLは 「とにかく書いてみる」 のが一番!
あなたの使ってるアプリにも、もしかしたら.ymlファイルが眠ってるかも?
設定ファイルを開いて「うわっ、なんか出た!」とならずに
「あ、なんだ〜これYAMLじゃん!」とドヤりましょう。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?