nDiki : YAML

2004年3月22日 (月)

[ Perl ] YAML

人間があとでチェックする必要がでてきそうなデータを serialize するのに、YAMLをチョイスしてみる。

とりあえず Perl モジュールで、LoadFile / DumpFile してみる。

[ 3月22日全て ]

2004年5月19日 (水)

YAML Perl モジュール

データファイルをYAMLで扱おうと思い、YAML Perl モジュール (0.35)でちょこちょこと実験。

日本語がことごとく quote される。

ある UTF-8 で書かれたファイルを読み込んで YAMLで Dump したら、日本語の部分がことごとく quote される。 これはいただけない。

 my $ESCAPE_CHAR = '[\\x00-\\x08\\x0b-\\x0d\\x0e-\\x1f]';

で判別している。手抜きではないか。 さてどうしたものか。

と考えていたら、よく考えたら Perl 5.8.x だとバイト単位ではなく文字単位で正規表現マッチングさせられるんだったことを思い出した。 手抜きだなんて思って失礼しました。

データファイルを読んで utf8::decode してから YAML で Dump するようにしたらクオートされなくなった。Good.

Perl 5.6 系だとどうすればいいんだろ。 YAML.pm を直接書き換えて

 use utf8;

を追加すれば期待通りにはなるのだが、ちょっと嫌だな。

sequence をインラインで

短い sequence は

 - a
 - b
 - c

ではなく

 [a, b, c]

の形式で出して欲しい。YAML.pm のチェックしたところ

 my $y = YAML->new;
 $y->InlineSeries(5);
 print $y->dump($data);

のようにインラインにしてよい上限の個数を指定すればよいことを知る。


[ UTF8 フラグ ]

[ 5月19日全て ]

2004年5月20日 (木)

YAML Perl モジュールPerl v5.6

やっぱり YAML.pm に

 use utf8;

を追加するしかないかな。

しかし YAML Perl モジュール(0.35)のドキュメントを良く読んでみると

 BUGS & DEFICIENCIES
        ...
        Unicode
            Unicode is not yet supported. ...

と書いてあるではないか。 やはり手抜きであった。

[ 5月20日全て ]

2004年8月30日 (月)

YAMLJava

Java 用の良さそげな YAML ライブラリが見あたらない。 実装する余裕もなさそうなので、YAML 採用は見送りかなぁ。

YAML を使うなら Ruby か。

[ 8月30日全て ]

2004年9月2日 (木)

趣味のYAML

YAMLJava実装にいいのがないので、プロジェクトでは使わないように変更するという報告をミーティングでした。

YAMLを使うというのは趣味とかでしょ?

いやまあ完全には否定しませんが。 一応いろいろ検討した結果、表現に適していると判断したから選択したんだけどね。

[ 9月2日全て ]

2004年9月3日 (金)

YAMLJava実装を書く

プライベートで書く事にした。 Eclipse 3.0 も入れたし、即実装開始。 えーと、まずはBOMの処理か。

しかし今だに Java のパッケージングの慣習がわからない。 make dist にあたるものは無いのか? まだ Ant ではスタンダードなスタイルは確立されていないの?

[ 9月3日全て ]

2004年9月9日 (木)

ANTLR

やっぱり手でYAMLのパーサを作成するのが面倒なので(FIRSTとかFOLLOWとか入力バッファ処理とか)、やっぱりジェネレータを使う事を検討。 Java だと ANTLR あたりか。

YAMLだと文脈に応じて、インデント用空白列トークンの長さをかえて認識しなければならないのでそれがうまくできるかどうかがポイント。

まずはインストール(Eclipse 用のプラグインも入れておく)。 ちょっとずつマニュアルも読み始める。

[ 9月9日全て ]

2004年11月18日 (木)

YAML.pm 0.35 のバグ

PerlYAMLライブラリ YAML.pm 0.35 が不完全である事は知られているが、どうやらバグを踏んだらしい。 書き出したYAMLファイルが自身で読み込めない。

しょうがないので YAML.pm をロードしてから 0.35 なら問題サブルーチンを再定義して対応する予定。

[ 11月18日全て ]

2005年11月21日 (月)

定型書式で内容を記述していくのに便利な形式は?

要求仕様書LaTeX で書いている。 要求と仕様の組をまとめて longtable で記述しているのだが、 LaTeX らしい繁雑さがあってちょっと効率が悪い。 マクロを定義すればある程度書きやすくなると思うが、それでもそこそこまでな気がする。

文書の中にレコードの並びが書けて、レコードの並びの中に文章が書きやすいそんなフォーマットはないものかなぁ。

  • LaTeX + マクロ
    • 整形は綺麗。
    • 記述が繁雑になりがち。\マクロ名とか {} とか。
  • DocBook
    • 仕様デカスギ
    • 以前使ってみたことがあるが、手で書くのにはしんどい。
  • XML
    • 構造的な情報の表現には良いのだが、手で書くのはしんどい。開きタグも閉じタグも。
    • 普通の章節や、マークアップのルールを考えなければならない(定義するか借りてくるか)。
    • LaTeX等へのコンバータを書く必要あり。
  • YAML
    • レコードの並びだけだったら良いが、文書の他の要素を一緒に書くのには適さない。
    • ある程度の構造やボリュームがあると、思ったほど手書きしやすくない。
    • YAML Perl モジュールで痛い目にあっている。

Wiki に慣れきっている自分にとっては Wiki 文法のような感じで記述できて、一部に定型レコードの並びが書けて、そこの整形ルールだけ定義してあげれば LaTeX に変換できるとかそういった感じがのものが欲しい。 定型レコードの部分は RFC822 のヘッダみたいな感じで良くで、値の部分に長めの文章を複数行で書けるものがいい。

構造化テキスト用フォーマット、あるいはWiki フォーマットをアレンジするのがいいかもしれないな。 このあたりのフォーマットは、ソーステキストのままでも十分読み易いことを意識して定義されているので書くのは楽。

  • reStructuredText
    • いいらしい。
    • HTMLLaTeXXML へのコンバータがある。
    • 拡張性も考慮されているらしい。
    • でも Python
  • Markdown
  • WiKicker (Wiki)
    • かなり書き慣れている。
    • レコードの並びの書き方を考える必要あり。
    • 複数行にまたがる処理を書くのが面倒。
    • 自分で書いているシステムなので中身は何でも知っている。
    • マイナー。

レコード部分とは関係ないけれど reStructuredTextMarkdown の「アンダーラインのあるテキストを見出しとする」っていうのはいいな。 普段メールプレーンテキストでちょっと文書を打つときに使っているスタイルと一緒だ。

要求仕様書用に使うかどうかは別として、要チェック。

[ 11月21日全て ]

2010年11月1日 (月)

今日のさえずり: 「最初女性だと思っていました」

2010年11月01日

  • 09:59 面接1箇所目10:00になった。
  • 11:13 今日新しく入社されている人に思いっきりアカばれしてた。というかモロに会社名も実名も出していて全然隠してはいないので、今まで新しくきた人が何も言ってこなかった方が不気味。
  • 11:14 「最初女性だと思っていました」ゴメンナサイ、オトコで。ネカマでもないです。
  • 11:19 2つ目の面接は15:00に決定。そして要安全ピン。
  • 11:24 Norton Internet Security 2010 で 2011 へのアップデート案内ダイアログが出たのでアップデート。何かマップがスパイ基地みたいで楽しい。
  • 12:16 安全ピン入手した。
  • 12:23 ついでにトミカも入手。
  • 12:41 ヨド Edy 初チャージした。
  • 12:49 幕の内弁当 398円。
  • 15:46 「勧告的ロック」を検索しようとして「韓国的ロック」で検索してしまったが、それなりにヒットした。
  • 17:08 \index{親!子}って毎回書くの面倒臭い。なんかいいマクロはないものか。 #LaTeX2e
  • 17:15 idx ファイルを書き換えるスクリプト書けばいいか。
  • 18:12 YAML ファイルとして書いておいた索引語変換辞書を読み込んで idx ファイルを置換する Perl スクリプト書いた。 RT @Naney: \index{親!子}って毎回書くの面倒臭い。なんかいいマクロはないものか。 #LaTeX2e
  • 19:32 spモードメールアプリがシビレるぐらい重くなってきた。
  • 22:44 目の前に広辞苑第六版があるので「たほいや」など調べてみた。
[ 11月1日全て ]

About Me

Naney Naney

Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

About nDiki

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。

#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Other Notes

ナレッジベースアプリケーション Obsidian で書いているノートの一部を notes.naney.org で 公開しています。

最近検索されている記事

月別インデックス
Process Time: 0.145879s / load averages: 0.44, 0.39, 0.34
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker