«前7日分 最新 次7日分» 追記

netail.net

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

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


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-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-18 古い日記からの変換データ [長年日記]

_ Libretto

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

_ Java

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

_ さよなら三角

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

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


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-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-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-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 が混在してるせいかなぁ.

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