<   2007年 03月 ( 5 )   > この月の画像一覧

LINUX をインストールした

3月半ばに納品したプログラムは、
実はマシンをお客さんから借りて、開発した。
お客さんは納品後1週間、ちゃんと出来ているか確認するのだが、
その期間も終わったし、
マシン貸与期限が 3/30 らしいので、
マシンを急いで返却しなくてはいけない。

先週末、自宅でダラダラしていたら、
プロマネのNちゃんから電話。
  Nちゃん:xiaoxiaちゃん、来週いつ来る?
  私   :今のところ、行く予定ないけど…
  Nちゃん:マシン返さなきゃいけないんだよねー
  私   :あーわかった、いつでも行くよ(笑)
  Nちゃん:じゃ、月曜日は出張でいないから、火曜日に来てくれる?
ということで、本日、久しぶりに出社。

・別マシンに瑕疵対応用の環境構築(OSインストールから)
・現マシンから動作環境移行
・現マシン初期化
この3つを何とか1日で済ませたい。
済ませないと、明日も出社しなくてはいけない。
ギリギリだけど、明日休みたい!と頑張った結果、
めでたく全部1日で済ませることができた。
無理かと思ったけど、できたじゃん、すごいな俺。

で、最後のマシンの初期化。
初期化しなくても良いんだけど、
RedHat Enterprise Linux 4 ES が入っていて、
この OS はウチで買ったのだから、
このまま返したくないわけなのね。
さて、初期化はどうするかと相談した結果、
初期化じゃないけど、テキトウな OS を上書きしちゃえってことになった(^^;;

Fedora Core のメディアを見つけたので、
入れようかと思ったら、インストーラがあがらない。
CD-ROM ブートできないのかと BIOS も確認したけど、
ちゃんとできるようになってた。
うーん。
しばらく悩んで、別の OS にしようと、
CD-ROM ドライブをあけてみたら、
中に入っていたのは、DVD でした(笑)
気づくの遅っ!!!

返却するだけなので、軽いのでいいやと、
結局 Debian を入れた。
CD-ROM 1枚で入るのね!
RedHat に比べたら、インストールもサクサク軽いし、いいぞ Debian!
2年前に客先に常駐していた時は Debian ばかり使っていたので、
とても懐かしいし。
欲しくなっちゃったなぁ。
今持ってる RedHat つぶして、Debian 入れるかなぁ。

後から思いついたんだけど、
KNOPPIX で起動して format すれば良かったのかも(^^;;

久しぶりに OS インストールして、なんか楽しかったっす。
[PR]
by xiaoxia | 2007-03-27 22:07 | ソフトウェア | Comments(0)

今年のマカロン

a0003075_0452990.jpg今年のホワイトデーのお返しは、
去年に引き続いてマカロン。
マイブームなんだもん。

で、ペルティエと、ピエール・エルメ。
賞味期限が短くて、しかも要冷蔵だそうです。
うひー。

どちらもしっかり甘い系で、なかなか美味。

エルメの方が、重い味です。
ピンク色のがあったので、ベリーかしらんと思ったら、なんとローズ。
バラですわよ、奥様。
ホントにバラの香りでした。
ピスターシュのマカロンは流行りなのかな。
まぁここ数年、スイーツにピスターシュてのは多いけど。

ペルティエの薄い方の茶色はキャラメルかと思いきや、
実はコーヒー。
ほう、これは珍しい。
マカロンに香ばしい味は良く合うので、これも当然美味。

  ■■■

ヒマができたので、先週の金曜日に看板変更。
ミソヂーズに仲間入りしたばかりの後輩Sちゃんと話していて、
「友達に、恐ろしい子!って言われるんですが、何ですか?」と言われて、
軽くショック。
ガラかめを読んだことがないのだそうだ。
読まなくてはいけなくってよ、Sちゃん。
[PR]
by xiaoxia | 2007-03-19 19:53 | ウマー | Comments(2)
前投稿に引き続いて、自動的にperlソースからドキュメントを作ろう企画。

これは何ですか?


Doxygen は強力なドキュメンテーションツールです。
プログラム中に書かれた定義とかコメントとかを解析して、
美しい HTML にしてくれます。
これがあれば、詳細設計書はばっちり。
(設計書って作る前に書くんじゃ?という話はナシ)

しかし、オリジナルの Doxygen は Perl には対応していません。
その代わり、perldoc とか Pdoc とかを使っていたわけですが、
なんつーか、イマヒトツな感が否めません。
そんな Perl に対応してくんないかなーと思っているアナタのために、
エライ人が filter を作ってくれました。

Doxygen
Perl Doxygen Filter

インストール


Doxygen すらインストールされていなかったので、まずインストール。
RedHat EL ES 4 なので、rpm で入れました。
CD 同梱のヤツはバージョンが 1.3.9 と古いので、以下のを入れました。
Fedora Core 3 用ですが、ちゃんと動作しました。
http://cvs.planetsaphire.com/rpms/doxygen/i386/1.5.1/1.5.1-3/

次に、Perl Doxygen Filter のインストール。
前述のリンク先には、素晴らしいことに rpm が用意されています。
これをダウンロードしてインストール。
root# rpm -i doxygenfilter-1.01-1.noarch.rpm

はいおしまい。

使ってみる


  1. 設定ファイルを作成
    設定ファイル(configuration file)ってのを作るらしいよ。
    $ doxygen -g

    カレントに Doxyfile というのが作られます。

  2. Perl用設定を加える
    上記で作られた Doxyfile に設定を加えます。
    ↓これは既存のキーに設定。
    FILE_PATTERNS = *.pm *pl

    ↓これはキーがないので、新規作成。
    INPUT_FILTER = doxygenfilter

    ↓必要があれば、出力先も設定しとく。
    ディレクトリは先に作っておいたら良いと思うよ。
    OUTPUT_DIRECTORY = /home/myname/public_html/doxygen

    日本語で出る。
    OUTPUT_LANGUAGE = Japanese

    HTMLがフレーム対応になるらしい。
    GENERATE_TREEVIEW = YES


    コンソールが使えるなら、
    doxywozard という便利ツールもあるらしい。

  3. 実行
    これでOK。
    Doxyfile はデフォルトのファイル名なので、指定しなくても良い。
    $ doxygen Doxyfile



ソース中のコメントの書き方とかコツとか


POD 形式ではなくて、javadoc みたいに書くのね。
サンプルは
/usr/share/doc/doxygenfilter/examples/
以下にインストールされるので、それを見ながら書く。

私はこんな感じに書いてみた。
## @method bool select ( scalar sql, arrayref res_array )
# SELECT 文を実行し、結果を配列に格納する。
#
# @param sql    : [in] select SQL 文
# @param res_array : [out] DBからの結果を格納する配列のリファレンス
# @return 成否の真偽値
#
# エラー内容は $self->{'DBH'}->error で参照可能。

# 未定義値が返れば成功。
sub select ($$) {
...


★ 関数定義の行の $sql は scalar sql と変換してくれるんだけど、
\@res_array は arrayref とは変換してくれない。
@res_array だと list res_array にしてくれるんだけどね
(list よりは array にして欲しいんだが)。
じゃリファレンスを戻した形なら良いのかと、
@$res_array なんて書くと、 list_or_scalar array になります。
全然違っうっちゅーねん!!!
なわけで、自分でゴリゴリ書くのが良さそう。
一見、perlっぽくないコメント。
@INC/Doxygen/PerlFilter.pm の munge_parameters 関数に
手を入れると、対応できそうなんだけどね。
(実は結局手を入れてしまったwww)

★コメント中は HTML タグも効くので、
pre タグや br タグを使うと見やすいです。

★関数の定義と、出力される分類の対比はこんな感じ。
(ドキュメントがないから、ソース読んじゃったよ…)
## @method -> Public Object Methods
## @cmethod -> Public Class Methods

この method とかの後に、private をつけると、
Private なメソッドとして出力される。
protected とかもOK。
例えば、こんな感じ。
## @method private -> Private Object Methods


★この行頭 ## 2個ってのがミソみたい。
# 1個だけだと、なんか違う動きになる。

★同じディレクトリに、別の実行ファイルがある場合、
実行ファイルの中をクラス化してなかったりすると、
同じ名前の関数があれば、片方が無視されてしまうみたい。
1つのディレクトリ中に、複数の実行ファイルができるって、
よくあることだと思うんだけどなぁ。
exec_01.pl と exec_02.pl を作って、
その中に main て関数を作ったんだけど、
クラス化していなかったので、片方がエラーになっちゃって、
exec_01.pl の main しか、ドキュメントに反映されなかったのね。
エラーメッセージを出す設定にしてあれば、
こんなメッセージが出ます。
exec_02.pl:32: Warning: member main belongs to two different groups.
The second one found here will be ignored.

↓こんな風に、最初にパッケージ宣言すると大丈夫っぽい。
パッケージ宣言したら、ちゃんと ## @class を入れておきましょう。
## @class
# exec_01 class
package exec_01 ;
&main() ;
sub main {
 ...
}
## @class
# exec_02 class
package exec_02 ;
main() ;
sub main {
 ...
}


★マークアップの指定方法が @hogehoge なんだが、
これがまた perl のリスト変数とかぶるんだよねぇ。
コメント中に \@hoge のようにリストのリファレンスなんか書くと、
doxygen 実行時に waring が出る。
この @ をエスケープするには、@@ のように2つ重ねると良いみたい。
だから、表示上 \@hoge を出したい場合は、
\\@@hoge と書かなくてはいけない。
doxygen の表示上はいいけど、ソースを見ると一瞬「?」となる。

感想


Pdoc よりは良いかなぁ。
javadoc みたいな記述方法なので、
馴染みがあって、書いていて気持ち良いし、
ソース中のコメントが、自分にも見やすい。

以下の2つも後から入れておくと、
include (use) のツリーの絵が出て楽しいよー!
  graphviz-2.12.tar.gz
  global-5.4.tar.gz
インストール後は、doxygen を再インストール(再make)した方が吉かも。
最初から入れる場合は、doxygen は最後に。

perldoc、Pdoc、Doxygen と使ってみたけど、
どれも帯に短しって感じ。
まぁタダだから、文句は言えないか。
一番キレイなのは、この Doxygen かな。
[PR]
by xiaoxia | 2007-03-14 21:23 | プログラム言語 | Comments(1)

[perl] Pdoc を使ってみる

これは何ですか?


Perl のソースから、ドキュメントツリーがコマンド1つで簡単に作れます。

オフィシャルページだと
名前を入れろとか言われてうるさいので、
ここからダウンロード。
http://sourceforge.net/projects/pdoc
今のところ pdoc-1.1.tar.gz だった。

ソース中のドキュメントは POD 形式で入れておくこと。

インストール:UNIX系


解凍して make する。
README などは同梱されていないので、適当にやってみたが、
できたので良しとする。
make test はないんだね(^^;;

$ tar xvzf pdoc-1.1.tar.gz
$ cd pdoc-1.1
$ perl Makefile.PL
$ make
$ su
root# make install
root# cp -p scripts/perlmod2www.pl /usr/bin


最後の1行は、こうやっとくとラクチン、という話。
やらなくても良いけど。

インストール:Win系


解凍したら、Pdoc ディレクトリ以下を、
ごっそり c:\perl\lib に移動。
perlmod2www.pl を c:\perl\bin 以下に移動。

ファイルがあるだけで動いちゃうのが、
インタプリタ言語の良いところ(^-^)

使ってみる


手っ取り早く。

$ mkdir ~/public_html/pdoc
$ perlmod2www.pl -source perl_src -target ~/public_html/pdoc

perl_src には、perl のソースのあるトップディレクトリを指定。
-source の引数も、-target の引数も、
実在するディレクトリであること。

Use of uninitialized value in concatenation (.) or string at /usr/bin/perlmod2www.pl line 806.

とか、ワーニングが出るけど、気にしない。
気にしなくても大丈夫だから。

これで、
http://localhost/myname/pdoc/
からドキュメントが見られる。
まぁ便利。

Win系の場合もこんな感じに動かせる。
perl c:\perl\bin\perlmod2www.pl -source "." -target "."

これを batch に書いておくと、
ソースを書き換えても、クリックだけで HTML が作られる。

オプションの説明やサンプルについては、ここが詳しい。
Pdoc - PC説教講座

そのほか


上記ページにあるオプションのほかに、
ソースを見ると、以下のようなオプションがあるっぽい。
英語のドキュメントだと、
これらのオプションについてもちゃんと説明が入っているので、
バージョンが上がって、拡張されたのだろう。

-conf:解凍したアーカイブの pdoc/data/config.example みたく
       設定を書いたファイルを指定しろと。
-style:'css' か 'html' を指定するらしい。
-css:スタイルシートファイル名を指定するようだ。
       サンプルを見ると、どうやら絶対パス。
       当然ながら html でアクセスできるファイルを指定しる。
-css_url:スタイルシートを url で指定する場合。
        -css オプションよりこっちの方が強いらしい。
        どうせ -css でも html からアクセスできるところしか
        指定できないんだから、こっちで指定した方が簡単じゃないの?

config.example の中身はこんな感じなんだが、
[start] と [end] のセットで指定するんだろうな。
[HTML][PerlBegin][begin][start][<font color="#0000ff"><b>]
[HTML][PerlBegin][begin][end][</b></font>]
[HTML][PerlBegin][content][start][]
[HTML][PerlBegin][content][end][]
[HTML][PerlGlobal][name][start][]
[HTML][PerlGlobal][name][end][]
[HTML][PerlGlobal][value][start][]
[HTML][PerlGlobal][value][end][]
[HTML][PerlIsa][start][<b><font color="#0000ff">]
[HTML][PerlIsa][end][</font></b>]


感想


個人的にはいまいち。

(1)
通常、メインは *.pl で書いて、
モジュールを *.pm で書くと思うのだが、
どうもモジュールの *.pm の方しか見つけてくれない。
メインのドキュメントが作られないって、
なんかすごく中途半端。
指定方法があるんだろうか。
英語が苦手だから、ドキュメントがよくわかんないんだよね(^^;;

(2)
そもそも POD 形式がどうしても好きになれない(笑)
ドキュメントのマークアップが、
「改行+=head」みたいになっているので、
改行ばっかりになり、
なんか見づらい。
emacs の perl-mode が POD に対応してないってのもあるか。
ドキュメント部分に色が付かなくて、
ソースと同じ色になるので、
ソースとドキュメントの区別が付きづらいの。
[PR]
by xiaoxia | 2007-03-13 19:34 | プログラム言語 | Comments(0)

山尾悠子のこと

幻想文学とファンタジー文学は、
厳密には違うのだろうけど、
便宜的に「ファンタジー」と書かせていただく。
ジェフリー・フォード作/山尾悠子など翻訳「白い果実」

ファンタジーを書く人には2種類ある。
1つは、ファンタジー世界の詳細な設定に熱中する人。
通貨がどうとか、地図とか、人々の肌の色や、衣装がどうとか。
それは多分、世界を構築する「神」の楽しみなのだろうと思う。
そちらが楽しくなってしまって、
物語をつむぐことが疎かになるというのが、
シロウトにはありがちなパターン。
もう1つは、ファンタジー世界の設定を使って、
自分の萌えシチュエーションをこれでもか!と繰り出す人。
プロにはこっちが多いと思う。
その世界にハマれば熱狂的なファンになれるが、
ハマれなければ、作者が見えすぎてしまって、
読者おいてけぼり、ということになりかねない。
例えば、長野まゆみとか野亜梓とか。

山尾悠子は、世界を構築することにも興味がないし、
自分の萌えを開陳することにも興味がない。
山尾の興味は多分「ことば」そのものなのだと思う。

昨今の小説は、登場人物の心情の変化で物語が流れる。
トピックとそれに影響される変化、その連続性が前提にあるように思う。
山尾悠子はそれがない。

細切れのエピソードそのものや、連続/非連続であることに意味を持たせる作家もいる。
私の中では、安倍公房とか村上春樹とかが、そのようなイメージだ。
山尾悠子にはそれもない。

それは散文詩のようだ。
いや、本当に散文詩なのかもしれない。
内包された意味とか、整合性とか連続性とか、
そんなものはどうでも良くて、
ひとつひとつの「ことば」を、愛でるように鑑賞するものかもしれない。

   ■■■

山尾悠子「ラピスラズリ」
最初、長野まゆみ系かなぁと思ったんだよね。
人形、鉱物、水、月、とか、
長野が好きそうなモチーフが並んでいたから。
でも違うのよ。
長野は作者の萌えが見えちゃって、苦笑しちゃう事もあるけど、
こちらは全然作者が見えない。
作者もすごく客観的な視点なわけ。

よく少女漫画家が「話が降りて来る」みたいなことを言うけれど、
ああいう感じがするのね。
もうその「世界」が完璧にできていて、
そして山尾だけにはそれが見えていて、
それを「ことば」にしているだけ、みたいな。
そこに山尾はいなくて、
彼女の体を借りて、神話が語られているような。

よりまし、っていうのかな。
「ことば」だけで、人と人ならぬモノの間をつなぐ。
ある意味、本当に彼女はそうなのかも。

   ■■■

山尾悠子作品集成
とまぁ、そんな山尾悠子の小説たち。
これらが70年代初頭に書かれたことが驚き。
ちょっと時代が早すぎたろうね。

元は、幻想文学もファンタジーも同じものだったのかもしれなけど、
今は全然違うニュアンスだよね。
妹尾ゆふ子あたりが、まだ間にいそうな感じがするけど。
今、ファンタジーって言ったら、もう竜と剣と魔法だもんね。
ハリポタとか、指輪とか。
幻想文学って言ったら誰なんだろう。
澁澤龍彦なんか、すごく幻想文学の人なんだけど、本業じゃないしね。
日本にはいないかなぁ。
ダンセイニとか、一時期のラブクラフトとかは浮かぶんだけど。

これを漫画にしたらどうなるかなぁと思ったんだけど、
一瞬、SF漫画家ってことで佐々木淳子が浮かんだ。
彼女は「子宮で考えた」と言われて気分を害したそうだけど、
私もそう思うなぁ。
あのぐるぐるっぷりは。
だから佐々木よりは、
女性性のようなイキモノのにおいを、極力排除できる人がいいかな。
萩尾望都も良いんだが。
意外に、永野譲とかが合いそうな気がする。

音楽にしたらと考えて、谷山浩子が浮かんだ。
あんなにかわゆらしい声でなくても良いんだが、
「幻想」というジャンルに合う詞を書く人って
少ない気がするんだよね。
アルバム「お昼寝宮・お散歩宮」の「夢の濁流」(→歌詞)とか、
かなりイメージが近いと思ったよ。

解説のところを読んでいて、軽くショックだった。
私が好きな(もしくは昔好きだった)作家がずらずらと並んでいたから。
野亜梓を始め、森茉莉、澁澤龍彦、アイリス・マードック、アナイス・ニンなど。
森茉莉と澁澤以外は、ものすごくマイナーじゃないか。

野亜なんて、山尾から呼びかけられてるぞ。
振り返ってみれば、
彼の初期の作品である「銀河赤道祭」とか、レモンTシリーズとか、
そのあたりは、雰囲気がすごく山尾っぽい。
本人曰く「やおいにはまった」後の作品は
エログロだらけになってしまい、
私にはそれが醜悪で悪趣味に感じられて
(思うに、あれはやおいじゃない。気持ち悪いんだもん)、
読めなくなってしまったけど。

マードックも、現代を舞台とした非常に観念的な小説が多く、
柔らかい安倍公房って感じかもしれないが、
意味を求めることそのものを揺るがす点は、山尾に似ているのかもしれない。
世界が既に構築されていて、その描写によって物語をつむぎだすなら、
そこに作家の影はかなり薄くしか(もしくは全く)投影されない。
マードックは、作家自身が作中に出ないことを大事にしていた作家だ。
山尾がそれを意識していたかどうかはわからないが、
結果的に、そんなところも、似ているような気がする。

画家の名前も挙がっていて、
それも私が大好きな画家だったから、これまたびっくり。
バージル・フィンレイとかギュスターブ・モローとか。
モローは有名だから良いとして、フィンレイが出てくるとは。
彼は挿絵画家の方だけどね。
フィンレイといえばラヴクラフト。
ラヴクラフト以外でこの名前見たの初めてだよ(笑)

山尾を知ったのはここ数年のことなんだけど、
辿りつくべくして辿りついたのかもしれない。

これから読む人には、この順番がおすすめ。
・白い果実
・山尾悠子作品集成
・ラピスラズリ
白い果実は、起承転結があるからとっつき良い。
集成より先にラピスを読んじゃったんだけど、
集成を先に読んだ方が、
彼女の世界観とか破滅嗜好なんかがわかって、
より味わい深かったのでは、と思う。
[PR]
by xiaoxia | 2007-03-09 20:00 | 読む | Comments(9)

ダメ女プログラマ&主婦&腐女子&バイオリン弾き


by 小霞