Programming: 2006年3月アーカイブ
MSでXMLやってるDerekさんのエントリ。何度もいろんなところで言われていることではあるけれど、やっぱり何度聞いてもこれって問題だよなぁと。
だってさ、「hoge & moge」っていうコンテンツが元々あって、それを「マークアップ」したいなあと思って「<strong>hoge & moge</strong>」ってしたらとたんにエラーになるのっておかしくない?マークアップするのにコンテンツを書き換える(&)っておかしくない?いや、抽象レベルを一段上がれば、それは書き換えてるわけじゃないのはわかってるんだけどさ。こんな議論もきっと何度も繰り返されて識者の面々はいいかげんうんざりだろうとは思うけどさ。でもやっぱ直感的じゃないよ。
いや、でもさ、だからってPHPのシリアライザしか読めないデータを流通させるってのは、XMLによって一度否定した過去を繰り返すことにはならないのかな。JSONとか流通してるし、もういいのかな。結局XMLがクロスXXXだね、ってのはそれがテキストであることだけに意義があったわけで、だったらPHPのシリアライズもJSONもテキストだからXMLの意義を損ねていないってことになるのかな。XMLのすごいとこはタグによるツリー構造じゃなくて、それが文字コード問題までもある程度解決した「プレーン」テキストなんであるってことでしかないんだろうか。達人プログラマーにも「テキストにしとけ」って書いてあったし。Atomフォーマットも、XMLではなくJSONで規定したほうがXHTMLだのencodedだのを考える必要がなくて楽チンだったのかもしれないな。
| 達人プログラマー―システム開発の職人から名匠への道 アンドリュー ハント デビッド トーマス Andrew Hunt by G-Tools |
Plaggerで新着Feedを検知したら物理的に通知してくれるモジュールを読んで感銘を受けたのでWindows版を書きました。
22c22,29
< system('/usr/bin/eject') if $self->{count};
---
> if ($self->{count}) {
> if ($^O eq 'MSWin32') {
> require Win32::MCI::Basic;
> Win32::MCI::Basic::mciSendString("Set CDAudio Door Open Wait");
> } else {
> system('/usr/bin/eject');
> }
> }
Yappoさんのブログにコメントしようと思ったのですが、Internal Server Errorで書けなかったのでここで。
