netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2002-06-25 古い日記からの変換データ ▲
_ 論文 ▲
Martin E. Nordberg III という人のAspect-Oriented Dependency Inversion(Workshop on Advanced Separation of Concerns, OOPSLA 2002)とゆー論文を読みなおす.
クラス間の依存関係はConcrete -> Abstract, Unstable -> Stableの二つが基本となっていて,Visitor や Observer パターンでは,Abstract -> Concrete, Stable -> Unstable のような逆方向の(好ましくない)依存関係が含まれてしまう.AOP を用いることで,このような依存関係を取り除くことができ,循環参照も解決できるという論文.AOPの有用性をシンプルに言ってくれているような気もする.
_ apache ▲
Apache の新バージョンを動かしてみる.設定ファイルはそのままコピーしたのだが,LoadModule でこけた.原因を調べてみたら, mod_so を組み込み忘れたらしい :-)
Apache の configure オプションで,./configure --enable-module=most --enable-shared=maxとすると,apache core と mod_so (LoadModuleディレクティブ)だけのシンプルなバイナリが作成される.個人的には mod_so くらいデフォルトで組み込んでおいてほしいのだが….
_ AspectJ ▲
aspectj-users で,after (X x, Y y) call(Foo foo(..)) && args(x) && args(y) が複数の引数の場合にうまく動かない,という話が出ていた.この場合は args(x, y) が正解で,args(x) && args(y) だと foo の引数が instanceof X でかつ instanceof Y を満たさないといけない.このあたり,絶対に条件が満たされないようなpointcut でも平気で記述可能なところが,AspectJ の怖いところ.
というか,エラー原因のほとんどがpointcut をうまく記述できないせいでプログラマの思い通りの場所にアスペクトが結合されていない,あるいは予期せぬ場所にアスペクトが結合されている,ということにあるような気がする.
2003-06-25 古い日記からの変換データ ▲
_ AspectJ ▲
実験用に AspectJ のソースがほしくてsorceforge.net を検索してみたら,けっこうたくさん当たった.しかし,実際には Planning フェイズのものも多くて,フェイズが 3 - alpha まで進んでたのは次の二つだけだった.
http://sourceforge.net/projects/barter/http://sourceforge.net/projects/cricketcage/
2006-06-25 ▲
_ [ツール] pukiwiki 1.4.7 へ移行 ▲
日本時間で26日付けでアナウンスされてたのを見て移行してみた.
差分版のほうをダウンロードして,元 wiki を cp -R
で丸ごとコピーしておいた場所で,上書きするとまずそうなcacheディレクトリの中身とFrontPageに相当するファイルとpukiwiki.ini.php
とpukiwiki.skin.php
以外を上書きコピー,pukiwiki.ini.php
はパスワード設定など手写しして,最後にパーミッションの統一取れてないところを直して,動作確認.
あっさり動作してくれたので,古いほうとディレクトリごと差し替えて終わり.古いほうはそのままバックアップとして保存.
それにしても,「最近の更新」リストの中身を壊さないように移行する方法が分からない…….
_ つ [つ cache/recent.dat]
_ いしお [原因判明しました.移行しようとファイルを cp したときに,コピー元じゃなくて「コピー先」のほうを新バージョンに移行..]