2012年12月6日木曜日

YAML入門

3年の羽毛田です.
今日は,学内企業説明会がありました.

今回,RubyでTwitterのクローラを書いてた際にトークンとかをYAMLデータとして,ほかのところに保持して,それを読み込んで使用しました.
Rubyを使って書いたのが初めてで,YAMLがなにかわかっていなかったので,ここでまとめつつ理解を深めようと思います.

YAMLとは

構造化されたデータを表現するためのフォーマットで,目的はXMLと似ています.
特徴として,XMLと比べて書きやすく,わかりやすいという点があります.
Rubyでは,Ruby 1.8から標準ライブラリに含まれています.他にもいろんな言語でライブラリを用いて使うことができるみたいです.
詳しい書き方とかは下のURLを参照してみてください.
http://jp.rubyist.net/magazine/?0009-YAML

例としてXMLより書きやすく,わかりやすいと書いているので,実際に比較してしてみます.

yaml
users:
  - name: haketa
    mail: haketa@example.com
  - name: watanabe
    mail: watanabe@example.com
  - name: nishizaki
    mail: nishizaki@example.com

xml

  
    haketa
    haketa@example.com
  
  
    watanabe
    watanabe@example.com
  
  
    nishizaki
    nishizaki@example.com
  

このようにxmlよりyamlのほうが簡潔に記述することができたと思います.
各種設定ファイルやログファイルなどの用途に向いているみたいです.

調べているとよくXMLと比較されていますが,まったく別ものと考えるのがよいみたいです.

おわりに

私は,今までXMLやJSONについては学んできましたが,今回はじめて,YAMLというものを扱ってみたことで,これからなにかプログラムを書く際に,どのデータ表現をつかってみたらいいのかを考える選択肢がひろがりました.どんどん新しい知識をつけ,その時に適材適所につかっていけるように努力していきたいです.

そういえば,googleのナレッジグラフが日本でも公開されました!
昨日は,タレントの名前とかスポーツ選手の名前で検索をかけると,横にいろんな情報でてきたのに,さっきためしてもなにもでてこなくなってしまった...

1 件のコメント:

  1. คาสิโนออนไลน์ที่น่าเชื่อถือและมีความเป็นมืออาชีพที่สุดในตอนนี้
    โปรโมชั่นGclub ของทางทีมงานตอนนี้แจกฟรีโบนัส 50%
    เพียงแค่คุณสมัคร สล็อตออนไลน์ กับทางทีมงานของเราเพียงเท่านั้น
    ร่วมมาเป็นส่วนหนึ่งกับเว็บไซต์คาสิโนออนไลน์ของเราได้เลยค่ะ
    สมัครสล็อตออนไลน์ >>> Goldenslot
    สนใจร่วมสนุกกับ คาสิโนออนไลน์ คลิ๊กได้เลย
    มีทั้งคาสิโนออนไลน์ หวยออนไลน์ ฟุตบอลออนไลน์ สล็อตออนไลน์ และอื่นๆอีกมากมาย

    返信削除