«前月 最新 翌月» 追記

netail.net

自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.

最近のお知らせ (古いものはこちら)


2002-12-01 古い日記からの変換データ [長年日記]

_ XSLT

Xalan -o hoge.html test.xml test.xslt とやってXSLT をざくっと XML に適用しようとしたら,「euc-jp に対応する文字コードフィルタがないよん」とエラー.仕方がないので UTF-8 に直して通した.しかし,クライアントサイドでは UTF-8 編集のエディタがいくつもあるが,サーバ内で編集しようとすると微妙にエディタがない.emacs も標準では UTF-8 通らないのか.

iconv -f utf-8 -t euc-jp file > file-euc するのとMule-UCS セットアップするのとどっちが楽なんだろう…….とりあえず iconv でしのぐことにする.

_ 紅茶

ディコム100g を缶に展開したら,あふれた.100g のわりに茶葉が多い.でも以前は入ってたってことは,前に比べて空気などが入って密度が下がってるってことなのかな?

仕方がないので,あまった分(10gくらい?)を全部使ってぜいたくにお茶を淹れてみた.強い香りにくらくら ;)

_ 紅茶

お誕生日プレゼントでもらったアッサムを飲みきってしまったので,例によってレピシエで紅茶を物色.アッサムはいくつか新しいものも見かけたが,茶葉の外見だけでディコムを選択,100g 購入.ついでにもうひとつ何を買おうか迷った挙句,ウヴァ・ハイランズを選択.とりあえず 50g.これでダージリン,ウヴァ,アッサム,ライチの四種類がストック.

クリスマスシーズン向けのブレンド「キャロル」「クリスマスリース」などが販売されていたが,甘そうな香りはミルクティー向きかな?以前,「キャロル」はいまいち消費しなかったことがあるので,今回はこの系統は見送ることにする.

_ 読書

「妖女サイベルの呼び声」を読みながら電車に揺られてお出かけ.

途中でいつものように本を購入.最近買いすぎかも.高野史緒「アイオーン」(早川書房)J・グレゴリィ・キイズ「錬金術師の魔砲」(上・下,早川書房)

_ C++

久しぶりに C++ でサンプルコードを記述.あまりに久しぶりだったので,メンバの可視性指定子(public, private) の書き方を Java と間違えた.

また, Packet p; または Packet p = Packet(); と書く初期化式をPacket p(); と書いたら,どうも関数プロトタイプ宣言と間違われたのか,ひたすら「p はaggregate typeじゃないよ」と怒られて困った.しかし,C++ は実体・ポインタ・参照を思い通りにコントロールできるという点が面白い.全部オブジェクト参照という Java や Ruby も好きなんだけど,たまには C++ のような高機能な言語に触れておかないといけないなぁ.


2002-12-02 古い日記からの変換データ [長年日記]

_ XSLT

XML から HTML を生成した日付が必要なので,Xalan に -p オプションで date コマンドの結果を渡すようにした.

Xalan -p date `date +%Y/%m/%d`とすると,"2002/12/02" というような文字列を数式とみなして割り算をしようとして失敗.色々調べて実験したが,結局

Xalan -p date "string(\"`date +%Y/%m/%d`\")"

というように string("2002/12/02") をパラメータとして渡すことに成功.

_ 読書

パトリシア・A・マキリップ「妖女サイベルの呼び声」を読了.色々な人が推薦してるのを見たことがあったけれど,それに同意したくなるいい作品だった.

ファンタジー作品で,名前によって相手を支配する力,っていう設定はある種のお約束だけれど,それをメインにしているところが「ラプソディ」との違いだろうか.名前を呼んでも答えない伝説の鳥ライラレンの正体,エンディングまできて「こいつか」とやられた気分.

関係ないけど,憎悪と復讐に身を委ねる人の様子,また,それを手伝うためにあるいは忠告するために頑張る人たちの様子をきちんと描写しているのがよいなぁ.

_ XSLT

なんとか AspectJ の記事を XML ベースに交換.日本語記事のほうは変換に成功したので,あとは,英語版の記事のほうも同時に生成するように修正する必要があるが,まあ何とかなるだろう.


2002-12-03 古い日記からの変換データ [長年日記]

_ Java

dW: 【Javaの理論と実践: スレッドはどこへ消えた?】http://ibm.com/jp/developerworks/java/021129/j_j-jtp0924.html

Thread を使うときに try - catch (RuntimeException) をきちんと使う,また ThreadGroup.uncaughtException に予期せぬエラーが発生した場合の処理を記述しておく,というもの.スレッドが気付かないうちに消えてるのを検出するのには,たしかにこの手の処理が必要かも.今まではあまりちゃんと使ってなかった気がするので,これからは注意してみようかな.

_ JSR

面白そうなもの.JSR (Java Specification Request) 175: Java への metadata 記述追加(C# の attribute に近いもの)の提案.そのうち,何かに使えそう.

JSR 199: Compiler API (javax.compiler package) の追加の提案.コンパイラを呼び出す方法を提供しよう,というものらしい.実行時に class ファイルを置き換えることはできないので,普通にコンパイラとして使うのだろうか?


2002-12-04 古い日記からの変換データ [長年日記]

_ HTML Help

HTML Help の作成に関するメモを書き上げた.まあ,本当にメモ程度の意味しかないが.

_ 風邪

雨の中を走って帰宅したこととは無関係だろうが,微妙に風邪ぎみ?のような気がする.温かいお茶を飲んで,おやつを食べて,念のため風邪薬を飲んで,ゆっくり休むことにする.

_ 論文

ICSE2003に投稿していた論文の reject 通知が返ってきた.reject されたこと自体は悔しいと言えば悔しいが,コメントの中の好意的な発言にちょっとだけほっとした.言われたことをしっかり反映しないと.

それにしても,査読者の三人で,まったく違った意見が聞けるのが面白い.実験結果を「当然の結果だ」とする立場と「面白い事例だ」とする立場.どっちも正しいといえば正しいのだが,ここまでくっきり違ってくるとは.


2002-12-05 古い日記からの変換データ [長年日記]

_ Windows Update

久しぶりに Windows Update を実行.無線 LAN だと微妙に転送速度が遅い.実行開始してからちょっと後悔した.

_ bun45

どうやら,豪日交流基金の人には気に入ってもらえたらしい.これでまた現金収入 :-)

これでまた新しい仕事が出てくるかもしれない.どうなるやら.

_ TA

久しぶりに実験が時間通りに終わった.状態機械の論理設計がメインなのでほとんど道具も使わないし,片付けが非常に楽.実は論理設計をほかの時間に済ませておけば実験自体もかなり早く終わるのだが,みんな気づいてるのだろうか?


2002-12-06 古い日記からの変換データ [長年日記]

_ AspectJ

AspectJ1.1 への移行の影響がajdt (AspectJ Development Tools for Eclipse) にどの程度影響を与えるかが気になってソースを見てみると,AspectJ1.1 でパッケージ構成がかなり変わっていた.

org.aspectj.asm.StructureModel などはそれほど変わってなさそうなのだが…….1.0.6用 AJDT を利用しているコードが1.1で動くかどうかはちょっと怪しくなってきた.

_ AspectJ

1.1になって,実はソースコードに対する aspect weaving も実装としてはバイトコードにコンパイルした後,アスペクトの結合を行うらしい.ソースの情報は保存されるのだろうか?

_ Tera Term Pro

Libretto マシンは ttssh のデフォルト設定が ssh なのにデスクトップのほうは telnet のまま.修正するようなメニューはないし,あれ?とか思ってたら,ini ファイルの [TTSSH] セクションのEnable=0 を Enable=1 にするだけだった.こういう知識の再発見・再発明が多いなぁ…….

_ 指輪物語

久しぶりに時間が余ったのでThe Lord of the Rings Role-Playing corebook を読む.2d6+スキルランク+能力修正が基本の判定だが,職業ごとの能力(Order Abilities) の中に「ダイスをもう1個振って高い目二つを残す」とかさりげなくひどい能力が含まれていることを発見.また,戦闘では基本的に1ラウンド2回行動(回避も1回と数える)だが,Warrior の能力に「行動回数を+1する(最大4まで)」という能力もあったりして,ゲームバランスが疑わしくなってきた.


2002-12-07 古い日記からの変換データ [長年日記]

_ エディタ

複数ファイルを扱えるエディタがほしくて,vector で色々探してみる.SideEditor は複数ファイルをまとめて開くことができるとあったのでちょっと見てみたが,タブエディタのように多数のファイルをきれいに扱えなかったのでダメ.ちょっとよさそうな KNT Editor を導入してみることにする.


2002-12-08 古い日記からの変換データ [長年日記]

_ Al-Mail

メールプレビューモードで全角入力モードに移行してしまうとショートカット類がまったく効かなくなってしまう.オフにすれば元に戻る.これはプレビューウィンドウのテキストペインでIMEを禁止にすれば治るバグ……なのかな?

メール読んでる間は普通の人は ALT+漢字 なんて叩かないからいいのかなぁ.誤って叩きやすい位置に IME ON/OFF 入れるほうが悪い?


2002-12-09 古い日記からの変換データ [長年日記]

_ Java

クラスは Class のインスタンスだが,ではインタフェースは?と思って調べてみると,System.out.println(Comparable.class.getClass().getName());の結果はやっぱり Class だった.って,Class.getInterfaces の戻り値が Class[] だから当然か.ちなみに, int.class とすると primitive の int クラスが返ってくる.これ,使えるのかな?

_ ニュース

IBM が Rational を買収したらしい.金出せる会社は強いなー.

_ 買い物

神戸ハーバーランドまでお出かけ.人と一緒に昼食&買い物で夕方までつぶした.あいにくの曇り空で景色はいまひとつ.

新しい携帯用のストラップとマフラーを入手し,ついでに思い切ってコートも新調.bun45 のボーナス支給を当て込んだ買い物をしている ;)

ちなみに昼食はオムレツレストラン「ロムレット」で食べた.場所のわりには値段もそこそこで,店の雰囲気もいいし,けっこう好みかも.検索してみたらwebページ発見.ページを見てきたといえば10%安くなったらしい.事前に見ておけばよかった.http://www.kobe-mosaic.co.jp/shop/309.htm


2002-12-10 古い日記からの変換データ [長年日記]

_ XML

XML ドキュメントの型チェックを行うために,XML Schema に挑戦.xs:element name='hoge' とかいう感じのタグを使ってネスト構造を記述していくだけのようなので,意外と簡単.だが,なかなか厳密に書くのは面倒そうだ.適当に書いてみたが,使わずにとりあえず捨てておく.

http://www.xml.com/pub/a/2000/11/29/schemas/part1.html

_ ぐるなび

イタリア料理のオステリア カラバジオのクリスマスディナーを予約.ささやかとはいえ,パーティのセットアップするのは初めてだなー.ぐるなびから予約の連絡を投げたら,20分ほどで反応が来た.予想より早くてびっくり.

お店のサイトを見てたら,ワインの種類が多いお店なので,楽しみ.ほとんど自分の趣味だけで確定してるなぁ ;)http://www.kes.co.jp/osteria/default.htm


2002-12-11 古い日記からの変換データ [長年日記]

_ AspectJ

AspectJ 1.1 での変化の話を ~tail/aspectj/ に追加.ドキュメントの実体を XML 化したおかげで,新セクションを意味する subsection タグに文章の中身を書いてmake するだけで目次なども自動生成されるし,日付は make 時に XSLT エンジンに渡すので書き換えコストはかなり軽減されていることを実感.

_ 紅茶

地味に紅茶のドキュメントをアップデート.新しい紅茶を仕入れてないのでほとんど変わっていないが,よく飲むようになったウヴァ・ハイランズの評価をちょっと上げた.

_ METRICS2003

METRICS 2003 の web サイトが落ちてるなーと思ってたら,シドニーであった火事のせいらしい.そのおかげで,論文の締め切りが2週間延長.論文出そうか,という話になってたところなのでこれは幸運に感謝すべきなのかな?

_ 風邪

食生活を改善したおかげ……でもないだろうが,かなり風邪から復帰.相変わらず鼻水がひどいので,久しぶりにポケットティッシュを購入.

_ オーストラリア

豪日交流基金の実体がふと気になって調べてみたら,http://www.australia.or.jp/http://www.ajf.australia.or.jp/を発見.けっこうよくできてるサイトで,こういう団体なら bun45 の成果物を見たがるのも分かる気がする.


2002-12-12 古い日記からの変換データ [長年日記]

_ TA

相互通信する二つのシステム内で電源を共有しないと,電源は電位差を保証するけど電圧値を保証しないのでうまく動かない.当たり前だが…….気付かない人は気付かないらしい.

VHDL での状態機械記述も,調べればスマートなサンプルコードが資料に載っているのだが,やっぱり気付かない人は気付かないんだな.

_ Delphi

Delphi で Java の StringTokenizer みたいなのを探していたのだが,こんなサイトを見つけた.微妙な Tips がいくつか紹介されている.そのうち役立つ……かな?

http://delphi.about.com/bltips.htm

_ AspectJ

AspectJ 1.1 の中の bcel って何のパッケージだろう,と思ってたらJakarta プロジェクトの Byte Code Engineering Library だった.http://jakarta.apache.org/bcel

バイトコードインストラクションを抽象的に扱えるので面白そうだが,これを使ってまでやりたいこと,というのは今のところないのでブックマークの肥やしにしておく.

_ AspectJ

アクセスカウンタを久しぶりに参照したら,トップが500弱で AspectJ のところが360ほど.カウンタ設置してからそれぞれ4ヶ月と2ヶ月程度なので,AspectJ の場所のほうが増加率が高いことがわかる.注目されてるのかしら?

_ うつ病

日経BPエキスパートに,うつ病の簡易自己診断が載っていた.SEが,うつ病に陥りやすいという話を踏まえての掲載だろうか.

http://ex.nikkeibp.co.jp/jobnews/topics/index20021212_1.shtml

ちなみに,やってみたら抑うつ傾向はほとんどなかった.まあ楽天的な人間なので当然か ;)


2002-12-13 古い日記からの変換データ [長年日記]

_ Media Player

mp3 player として,scmpx を使っていたが,そろそろ違うものも試してみたくなったのでフリーソフトの KbMedia Player を導入してみた.http://home7.highway.ne.jp/Kobarin/KbMIDI/kbmidi.htm

とりあえず最新のβ版をダウンロードして展開.レジストリに設定を保存するが,終了時に「アンインストール用終了」を選べばレジストリ情報を消してくれるらしい.面白いやり方だ.

_ wonder-net

ラジオプログラムを日曜更新までには聞いておこうということで遅れながらも聴く.

なんとメールが読まれていた ;)


2002-12-14 古い日記からの変換データ [長年日記]

_ NAS

データバックアップ場所として Network attached storage の個人向けはないかなーと思って調べてみたら,I/O Data がそれらしいものを発売していた.解説を読んだ限りでは,組み込み Linux 上で Samba を動かしているだけのような品物らしい.省スペース性にちょっとだけ惹かれる.もっとも,デスクトップPCがある以上,そいつをファイルサーバにしたほうがいいに決まっているのだが…….

_ 人名

この日記というか雑記帳,人名をまったく記述していないことに気付いた.ハンドルくらいなら書いてもいいかなぁとも思うのだが,意外とハンドル・あだ名を持たない人が多い.どうしたものだろう?

_ Eclipse

実装メモ.AJDT, org.aspectj.compiler.base.ast あたりに入っているControlContext が break などのラベル管理,ScopeWalker が変数宣言やメソッド宣言の記録を担当しているらしい.ただ,変数名が実際に指している変数などは AJDT が解決していてVarExpr.getVarDec などで取得可能なので,ScopeWalker 自体は外部から使う必要はなさそう.

Walker クラスから継承して自前で実装するのが基本らしい.

_ Eclipse

プログラムを解析して収集した情報から手ごたえを得たので,研究用ツールの実装を開始.concept proof のために,まず基本的な静的プログラムスライスをやってみることにする.

AspectJ 1.0 ベースでは,基本的に AST の情報から頑張れば,静的解析はいけそう.コンパイル後の AST ノード上では,アスペクトが既に展開されてる節があるのが気になるが…….静的解析としては正しいので問題ない.

とりあえず,メソッド内の通常変数によるデータ依存関係が取れたようなので,ループ文や break文,メソッド呼び出しなどに拡張していくことにする.

それにしても,プログラムスライスツールをスライサと呼ぶのは私だけだろうか……?

_ RPG研

CDと本の貸し借りのために早起き.よく考えたら昼から行けばいいような気がするのだが,ここ最近,昼前まで寝ることが多いので,たまには早起きすることにする.

久々に買ってきた好物のイングリッシュマフィンと紅茶で朝食.他人には優雅だと言われるが,食べてる本人はそうでもない :-)

本とCDだけ回収して,部室に撤収して作業に専念することにする.

_ EasySheet

EasySheet という名前で,プリンタに mm 単位で可読性の高い形式で整然と線や文字列を出力するためのツールを作っていたが,開発途上で停止していたアーカイブを発見.とりあえず使えるという人もいるかもしれないので,ソースつきで公開してしまおうか…….

_ HDD

愛用 Libretto のハードディスク容量が,全体で約9GBのところをあと1GB弱というところまで削られてしまった.いったい何に消費してるんだろう?

多用する Java + AspectJ + Eclipse 環境と,稀に使う Visual Studio 6 Enterprise + MSDN Library とDelphi 6 が混在してるせいかなぁ.

だんだんソフトウェア構成が管理不能限界に近づいている気がするのでテキストファイルにいちおう整理しておく.


2002-12-15 古い日記からの変換データ [長年日記]

_ Java

finally の中に return 文を書いてもいいらしいという話を聞いて,試しに次のようなコードを書いてみた.

try { return 0;} finally { return 100; }

JDK 1.3.1 添付の JVM で実験した結果は,100が返ってきた.正しいと言えば正しいのだが…….気持ち悪いコードだなぁ.こういうコードも仕様としては正しかったりするので,たちが悪い.

_ wonder-net

Wonder Museum 2 が入金受付開始.今までCD収録されてなかった曲が全収録されてるようなので,さっそく払い込み用紙を書いてみる.

ラジオプログラムを久々に更新当日に聴いてみると,またも投稿を読まれていた.感情を込めて読み上げられるのはさすが本職.書いた側も本望♪しかし,読み上げるSAKURA さんがとても嬉しそうで,聞いてる側も嬉しくなりそうだ ;)

_ LAN

家のファイルサーバを久々に起動してデータのバックアップを取る.ファイルサーバ(Linux)と,デスクトップ(Windows)にデータを分散しているが,最近 Linux の使用頻度が下がっているので,Windows のデスクトップに一本化してもよさそうな気がしてきた.デスクトップもDVD見るのとコンパイラ動かすくらいにしか使ってないが,いい加減あやしくなってきたので,どうしたものだか.

Crusoe の CPU パワー不足を補う外付けコプロセッサでもあればLibretto + コプロセッサ + DVD プレイヤー + 外付けディスク で足りるのになぁ,などとないものねだりをしたくなってしまう.


2002-12-16 古い日記からの変換データ [長年日記]

_ wonder-net

Wonder Museum 2 の入金手続きをする.免許の更新やパスポート取得をのろのろやってたのに比べると,行動がはるかに早い.

_ Libretto

部室にて,電源アダプタを家に忘れたことに気付く.コンパイラはディスクアクセス多い上に処理が重くて結果的に電力消費が激しいので,これじゃ開発作業ができない…….仕方ないので,資料集めと設計を行うことにする.

_ 紅茶

ライチ紅茶を飲みきった.後味がいまひとつだったが,以前,レピシエのサクラなどでも,淹れ方によって似たような後味になったので,これも淹れ方のせいかもしれない.香りはよかったので,評価としては悪くない.でも,自分で買ってまでは飲まないかな.

_ Struts

web アプリケーションフレームワーク Struts が,「徐々に普及が進む」と記事に取り上げられていた.http://itpro.nikkeibp.co.jp/members/NOS/ITARTICLE/20021210/1/

これも実は jakarta プロジェクトだったらしい.しかし,普及が進んでるって本当かな?http://jakarta.apache.org/struts/


2002-12-17 古い日記からの変換データ [長年日記]

_ Eclipse

Eclipse をフラッシュメモリから起動してみた.結果は,悲惨なほど遅い.やっぱり読み込みが遅いのが致命的で,プラグインを lazy に読み込みにいくたび処理が止まる.加えて,頻繁にファイルを保存するので,その処理も重い.やっぱりリムーバブル HDD で移動して,C:\Eclipse などにマウントしてしまうのが楽だろうか.

_ Eclipse

どの JRE で実行するかを Preference から与えたつもりが,実行時コンフィギュレーションとしてどの JRE を使うかを変更していなかったので「JREが見つからないよ」エラーが出ていた.ちょっとショック.

_ wonder-net

更新1ヶ月前に投げるって書いておいて2週間遅れた段階で問い合わせてみたら「まだ投げてませんでした」と帰ってきた.こんなことで運営大丈夫かしらん :-)

私が strict に構えすぎなのかな?

_ Eclipse

メニューを追加する方法が分からなくて大苦戦.結局,plugin.xml の中にextension タグを書いて,editorContributiontargetID="org.eclipse.jdt.ui.CompilationUnitEditor"というようにしてどこに追加するかを選び,action タグに実際に実行されるクラスをclass="AspectGraph.actions.SliceCalculation"というように書いておくらしい.で,このクラスが IEditorActionDelegate とか特定のインタフェースを実装していればOK.これをやるだけで1時間以上かかってしまった.


2002-12-18 古い日記からの変換データ [長年日記]

_ Libretto

研究費用でノートパソコンを買い換えようと目論む.そろそろ Libretto ともおさらばかも?

_ Java

今日のはまり.Object[] map.values().toArray() はHoge[] にキャストできない.Hoge[] を確保してからObject をキャストしながら個別に代入する必要がある.考えてみれば当たり前なのに,なぜか思いつかなかった.

_ さよなら三角

ふと思い立って「さよなら三角」の本文を調べてみた.バリエーションがたくさんあったのにちょっと驚いたが,私が知ってるバージョンに一番近かったものを忘れないうちにメモ.

さよなら三角 またきて四角四角はとうふ とうふは白い白いはうさぎ うさぎははねるはねるはかえる かえるは緑(あおい) 緑はやなぎ 柳はゆれるゆれるはゆうれい ゆうれいは消える消えるは電気 電気はひかるひかるはおひさま おひさまはまるい まるいはドーナツ ドーナツはおいしいおいしいはおにぎり おにぎりは三角さよなら三角 またきて四角


2002-12-19 古い日記からの変換データ [長年日記]

_ C#

C Magazine のεπιστημηさんの記事で,C# の delegation の実装例が載っていた.

delegate void update(int value);
event update changed; // -- update オブジェクトの集合
changed(count); // -- changed に格納された update を呼び出す
// -- printer オブジェクトの print メソッドは update のシグネチャを満たす
changed += new update(printer.print); 

とかいう感じ.これ,感触としてはAspectual Collaboration の expected インタフェースなどとすごく近いような気がする.ちょっと感心.

_ テーブル

高さ可変のテーブルを調べてもなかなか見つからないなーと思ってたら,どうやらリフティングテーブルという名前で調べないとダメだったらしい.そんな言葉,使ったことがないので知らなかった.


2002-12-20 古い日記からの変換データ [長年日記]

_ AspectJ

AspectJ のサイトが,いつの間にやらeclipse.org に移動してしまっていた.メーリングリストのアーカイブを見るのにニュースグループのアカウントがいるらしいので,さっそく申請.

_ リンク

アスペクト指向についてリンク集がないかなぁと探してたら,Mix Juice の一杉さんのサイトにあったものを発見.http://staff.aist.go.jp/y-ichisugi/ja/mj/soc.html

関連研究がいっぱいリンクされていて,たいへん参考になる.見習わないといけないかも.

_ Eclipse

落とし穴をひとつ発見.って,AspectJ でないので書く場所がない.

ファイルの絶対パス名から,それがプロジェクト内のどのファイルかを取得しようと,プロジェクト内のファイルを表現するFile(java.io.File ではない)を使って実装しようとしていたのだが,project_root.getFile(filename) で絶対パスを与えてオブジェクトを探しても,実際にはプロジェクト内のものとはみなされない.プロジェクト内部のファイルは標準では相対パスで保存してるためだろうか.

それ自体は特に問題ではなかったのだが,この絶対パスを与えて作った File オブジェクトに対するファイルの絶対パスを受け取る File.getLocation() の戻り値が,与えたはずの元のパスではなく,なぜか Workspaceのディレクトリ + ファイルのフルパスとなるような意味のないパスが生成されてしまっていて,しばらくはまった.たしかに,通常の File は相対パスを格納しているからその実装は分からなくもないが…….

結局,ワークスペースのあるディレクトリの位置をWorkspaceRoot や Project といったオブジェクトが保持していてくれたので,そのディレクトリ分を絶対パスから削って取得することになった.


2002-12-21 古い日記からの変換データ [長年日記]

_ 実体参照

HTML あるいは XML を書いているときに使う実体参照で,&(アンパサンド)とバッククォートをよく間違う.TeX が癖になりすぎだろうか,と自分でも思うのだが未だに直らない.単純なテキストエディタでなく,もうちょっと高機能なエディタを使ったほうがいいのかなぁ.


2002-12-22 古い日記からの変換データ [長年日記]

_ 領収書

バイト代の領収書をメールで送る.電子署名とか何も付けてないし,こんな偽造が簡単にできるような領収書でいいのかなぁ.本来の,領収したことを伝えるという意味はなしているが…….

電子署名については調べておくことにしよう.

_ AOP

Event-based AOP なんてものがあるらしい.

そのやってる当人が aosd-discuss ML に流した URL はこれ.http://www.emn.fr/info/ocm/aop/eaop/tool.html

今度時間があるときに読んでみよう.


2002-12-24 古い日記からの変換データ [長年日記]

_ クリスマス

ハイデルベルグ・クリスマスマーケットに行ってきた.新梅田シティの空中展望台のすぐ側.寒い中,暖かいグリューワインがおいしかった.赤ワインにシナモンやレモンなどを入れたものらしい.子供向けノンアルコールのキンダーグリューワイン(そのままだが)もあって,お酒に弱い人でも楽しめるようになっていたところもポイント.店の前や横に立食用のテーブルがいくつも並んでいて,何となく色々な人と喋るスタイルが私はけっこう好きだったりする ;)

夕方からのライトアップがとてもきれいだし,ドイツの色々な品物が売られていて,にぎやかなお祭りという感じがして面白かった.

夕食はイタリア料理のオステリア カラバジオのクリスマスディナー.テーブルごとにキャンドルが置いてあったりして,けっこう雰囲気にも気を遣っているお店だった.けっこうにぎやかで気楽に入れるところがよいなぁ.予約してなかったら全席埋まってたかも.

グラスワインの赤が標準で常温のフルボディなものだったし,ちゃんとワインの種類によってグラスも違うし,ワインもリスト以外に「その他」で色々頼めるようだし,色々こだわりを感じさせてくれるいいお店だった.

ちょっと値段は高かったが,その価値はあったというのが主観的評価.http://www.kes.co.jp/osteria/default.htm

_ Graphviz

グラフ出力ツール Graphviz を使ってみた.入力として,digraph graph_name { "vertex 1" -> "vertex 2"; "vertex 2" -> "vertex 3" [ label = "hoge" ];}というようなテキストを与えるだけでそのグラフの絵を gif や ps などで生成してくれるので,とても便利.論文書くときなどにはお世話になりそうなツールだ.

_ Eclipse

今日のはまりは org.aspectj.compiler.base.ast.Walker .いわゆる Visitor パターンのインスタンスで,ツリー構造の AST に, ast.walk(walker); と使う.時々ノードによって ast.getChild(1).walk(other_walker) というようにwalker を切り替えるコードを書いていたのだが,walker がそのノード自身も対象とすると思い込んでいたせいで,途中が一段飛ばされるのはなぜだろう?とひたすら悩んでしまった.結局,デバッガで walk の実装を見たときにそのノード自身は対象としていなかったことに気付いた.

教訓は,仕様はきちんと確認しろ,ということだろうか.


2002-12-25 古い日記からの変換データ [長年日記]

_ モジュール整理

パッケージの名前付けで悩み始める.システム内の「ある機能の GUI 部分」とするか「GUI のうち,ある機能を利用するための部分」のどちらにするべきだろう?

前者だと,こう. function1.actions, function1.gui, function2.actions, function2.gui

後者だとこうなる. actions.function1, actions.function2, gui.function1, gui.funciton2

やっぱり「どちらも actions である」ということと「どちらも function1 である」ということのどちらの意味が大きいかで決めるのだろうが,どうやって量るべきだろう?


2002-12-26 古い日記からの変換データ [長年日記]

_ AspectJ

AspectJ を取り扱った今のところ唯一の書籍,Ivan Kiselev: "Aspect-Oriented Programming with AspectJ",Sams Publishing を入手.って研究用だけど.

いくつか良さそうな情報もあったので,サイト上でまとめる予定.

でもこの本,AspectJ 1.0 を対象としているので,1.1 になったときにどこまで役立つのやら.

_ 論文

黙々と論文書き.休みを確保するためなのでわりと全力.

_ 宅急便

「18:00以降でお願いします」といって待ってたら,来たのはなんと21:00.遅いって.届け物はCDサイズのカレンダーなので,ポストに放り込んでほしいと思ったりもする.クロネコヤマトのCDメール便はとても便利なのだが……CDじゃないからダメなのかな :-)


2002-12-27 古い日記からの変換データ [長年日記]

_ 論文

研究会の原稿を先生に渡して,最終チェックをお願いする.他の事務書類は全部預けたので,あとは最悪,実家に帰っても作業可能だ.

これで次の原稿に取り掛かれる :-)

それにしても,「工学博士」っていう表現は使わなくなったのね.全部「博士(工学)」に統一されたらしい.

_ AspectJ

最近,AspectJ のところに置いたカウンタの数字が,非常にいいペースで増えている.何箇所かでリンク貼られたのと,やっぱりGoogleで上位に出るようになったからだろうか.

コンテンツをがんばって更新していかないとな~.

_ 工事

下宿の前でも研究室の側でも工事中.音がとてもうるさい.


2002-12-29 古い日記からの変換データ [長年日記]

_ 大掃除

実家に帰る前に下宿の大掃除.ついでに部室でも大掃除.「1年使わなかったものはこれから1年も使わない確率が高い」という基準でがんがん捨てるものを決めていく.

下宿のほうでは,買った本がかなりたまっているのを実感.部室のほうは,散らかりすぎというか,ゴミが多すぎ.

_ お菓子

人から鳥取旅行のお土産をもらった.鳥取県境港市は水木しげるの故郷ということで「目玉おやじの棒付き飴」.目玉をあしらったブルーベリー味の棒付きキャンディだった.まあ見た目はともかく,普通の味.

これをもらったついでに,天保山マーケットプレースで一緒におやつを食べる.たこ焼きコロッケとかいう一口コロッケの中に蛸が入っているという品を食べて,それからカフェ デュ モンドでベニエを食べた.ベニエは普通に美味しい.パウダーシュガーで手が真っ白になったけど.

で,「なにわ名物開発考社」でたこ焼きゃんでぃとたこ焼きようかんを購入して帰った.

たこ焼きゃんでぃのほうは,「うまい棒のたこ焼き味がずっと続くような感じ」と評される.生姜が素で入っていて,後味がとても悪い.

たこ焼きようかんは,ソースやら海苔やらが全部入ったようかん.味としては,たこ焼きエキスを注入したような羊羹.一言で言うと不味い.これが人気No.1というのは非常に嘘っぽいが……珍しさではトップだから売れるのだろうか.


2002-12-30 古い日記からの変換データ [長年日記]

_ 論文

さっきの論文に関するメモの続き.久しぶりに長い.

アスペクトの結合演算は,Seq, Any, Fst, Cond の4つ.Seq はAspect1 を実行した後に2を実行する.Any はどちでも好きな順序で実行する.Fst は,1,2 の順に実行するが,もし isCrosscutting がセットされたらそこで終了する.たとえば,new Fst( 懸賞当たったら無料アスペクト, 安売りキャンペーンアスペクト );のように左側のアスペクトが効果を発揮したら後者の意味がなくなるような場合に使う.逆に,左側が作動しない限り右側が動作しない Cond というのもある.new Cond( すべての学生に必要なデータ加工, 大学院生専用の追加事項出力 );

pointcut の指定については,regular crosscuts というものを以下の論文で提案しているらしい.F. Douence, P. Fradet, M. Sudholt:``A framework for the detection and resolution of aspect interactions'', Proceedings of the 27th ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering (GPCE), October (2002).今度チェックしてみよう.

_ 論文

実家に帰る途中,新幹線の中,暇なので論文読み.

Remi Douence, Mario Sudholt:``A model and a tool for Event-based Aspect-Oriented Programming (EAOP)''

アスペクト指向プログラミングを,「イベント」を join points として実現しようというもの.実行モニタが,メソッドとコンストラクタの呼び出し・リターンのようなイベントに対して Event オブジェクトを生成し,アスペクトに渡す.(このイベント処理自体はプリプロセッサによって生成される)マルチスレッドに対しては(今のところは)synchronized で対処している様子.

アスペクトは,そのイベントが自分に関係のあるものかどうかを調べ,関係があるなら動作する.この筆者らの実装では,Aspect クラスを継承し,definition メソッドを記述.nextEvent() 呼び出しによって次のイベントを取得する(次のイベントが来るまで nextEvent は実行がブロックされる).event.skip = true; として本来のメソッド呼び出しを飛ばしたりもできるらしい.

アスペクト間の関係,再帰呼び出しについては,アスペクトの中でthis.isRunning = true; とセットすることによってそのアスペクトが起動中であることを示し,再帰呼び出しを防止することができる.

また,アスペクトの設定は,monitor.aspects = new SomeAspect();のように実行時に行うが,ここでaspects = new Seq(new Aspect1(), new Aspect2()); のようにアスペクト間の結合演算を行うオブジェクトを使用できる.動的に結合できるところがえらい.