«前の日(07-07) 最新 次の日(07-09)» 追記

netail.net

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

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


2002-07-08 古い日記からの変換データ

_ CGI さらに書き換え

On-Demand Loading …というと格好いいが,必要になるまではファイルの中身を参照しないように修正した.これで少し CGI が軽くなる.

_ 日記CGI

二重書き込み防止機能も搭載してみる.

_ CGI 書き換え2

とりあえず Ruby 版稼動テスト.修正機能とかも動いていることを確認する.


2003-07-08 古い日記からの変換データ

_ AspectJ

さらに意見が出てた.これ,どこまで続くんだろう.
  • Aspect には, "abstract" なアスペクトが,pointcut に join point と関連付けられていないという形式と,pointcut は定義されているが処理が定義されていない,という二つの形で存在している.これらを言語上で区別するべきではないだろうか.

_ AspectJ

MLでの議論はまだ続いてる様子.
  • Eclipse AJDT ではマーカーを表示してくれる.タグ付けで「ここでアスペクトが動く」っていうのを書くのはたしかに一見してわかるという利点はあるが,統合開発環境のサポートがないからといって言語が対応するというのは問題なのではないだろうか.
という感じの意見もあったりする.みんな色々考えてるんだなぁ.

_ AspectJ

AspectJ-users メーリングリストで,AspectJ みたいな言語によるアプローチと,Java を拡張するフレームワークとで,どっちがいいんだろう?とかいう感じの話があった.まとめると,だいたい次の通り.

  • アスペクトを複数のファイルに記述するとき,言語的な観点からは,導入する複雑さのほうが本来解決すべき問題の複雑さを超えてしまうかもしれない.
  • JBoss グループでは,メタデータとインターセプタによってAOP を実装しているが,「AOP を実現するツールとしてのメタデータとインタセプタ」が,「AOP とはメタデータとインタセプタだ」ということに置き換わる恐れがある.
  • デバッグのサポートは重要.アスペクトによって,予期せず到達したコードがある場合,「なぜそのコードにたどり着いたか」を知ることが重要となる.
  • pointcut は単純すぎるとアスペクトの記述が難しくなる.たとえば,Control-Flow 記述を省略することでシンプルな言語を作ることはできるが,特殊な実行トレースなどを作るときに苦しむことになる.
  • 補足的なアスペクトを追加するときは Java + XML が妥当に見えるが,アプリケーションで重要な(「補足的でない」)アスペクトを記述するときは,できるだけソースコード中に情報を書きたくなる.補足的なアスペクトだけを見ている人には,フレームワークのほうがわかりやすい.
  • フレームワークのほうが導入しやすいが,使いにくい.フレームワークの動的な側面は,Java がリフレクションで利便性を得たのと同様に,便利な側面がある.
  • XML によるdeployment の記述は,意外と難しい.また,アスペクトの情報が複数のファイルに分散するのも大変.アスペクトを別ファイルに書くくらいなら,xdoclet みたいに@xx という追加タグを埋め込んだほうがマシ.
  • シンプルなフレームワークには魅力がある.しかし,ツールによるサポートなしでは厳しそうに見える.

……といったところ.全体では,AspectJ の方法のほうが良いと思ってる人は意外と多そうだ.Users メーリングリストなんだから当然かもしれないが.

_ スクリプト

ゲーム用のスクリプトを作ってくれーと言われてるので地道に SableCC なんぞを調べているのだが,問題は言語の表現力.どうせ言語を作るなら,できるだけ抽象的に書きたいし,ゲーム向けの,確率テストや乱数発生,計算の扱いなんかを簡単にしてやりたい.どうせ Python/Java からコントロールされることになるのであとは外部関数呼び出し機能くらいか.もう少し仕様を詰めてもらわないと,方針が立たないので保留しておく.


2004-07-08 古い日記からの変換データ

_ [hyCalendar] ヘルプ書き

0.8 向けのヘルプ更新があらかた終了.スクリーンショットの撮りなおしが一番面倒なタスクだが,撮りなおし作業で順番に新機能を使っているとバグに気付く,というようにテストも兼ねられるのでおいしい?

とりあえず問題がなければ明日リリースの予定にしてHTML などの更新作業を始めることにする.Windows 98 対応は,環境が今のところ用意できないので見送り.


2006-07-08

_ [hyCalendar] 1.4.0 での新機能

周期予定の名前の中に「%d」があると,それを現在日(あるいは指定した日付)から何日目にあたるかという数字に置換する処理を実装してみました.「締め切りまであと%d日」とか,「今日から %d 日後」というのが書けるようになります.

数えられるのはただの日数だけです.営業日数とかは数えられません.この手の「特定の日だけを数える」というのをやろうとすると,基準日から目的となる日付まですべての日付を処理する必要があるためです.特定の日付だけを検索・カウントする機能は,用意するにしても別の機能とするつもりです.

_ [ツール] SootとPaddle

プログラム解析ツールを作るべく色々実験中.ポインタ解析の実装であるPaddleを使おうとすると,paddleのnightly-build版は,sootのnightly-buildではなくpaddleのページにあるbuild版と一緒に動かさないとオプション処理に失敗するとか,微妙な関係があるみたい.また,内部で使っているJeddというツールも,Windows用の(たぶん高速な)DLL実装を使いたかったら自前でビルドしろとのこと.まだちゃんと使えるようになるまでは先は流そう.


2007-07-08

_ [hyCalendar][お知らせ] hyCalendar 1.6.1 リリース

編集中のファイルをロックする(他のプロセスからの上書きを禁止する)機構と,報告いただいていた,背景色の変更が即座に反映されない問題の修正を入れました.

ロック機構は,ファイルへの書き込みが可能かどうかをファイルを開いた時点でチェックし,「上書き禁止」である旨をステータスバーに表示します.Windows 98,2000,XP,Vista のどれでも動いてるみたいだったので,問答無用で有効ということにしました(無効にするオプションは付いていません).もし変な挙動をする環境があったらお知らせください.