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

netail.net

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

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


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

_ 新幹線

日帰り東京行き.雪のせいで,微妙に新幹線が遅れてる様子だけど,昨日ほどではないようなので一安心.


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

_ Delphi

ツリービューにて,MouseDown でノードのドラッグ開始処理,DblClick でノードの値編集ダイアログを表示,としていたらダブルクリック操作したときは先に DblClick のメッセージが実行されて(MouseDown はキューに入れられて)ダイアログ表示→戻ってきたらドラッグ開始となってしまう.

普通は MouseUp でドラッグ終了するのだけど,DblClick でダイアログを表示するとダイアログが MouseDown を持っていってツリービュー側に MouseUp が届かなくなるみたい.今回はDblClick時にフラグをセットして回避することにした.

_ Calendar

月曜始まりで表示する機能を実装してみる.元々,グリッドのセル単位で描画していたので,グリッドのセル座標から日付の対応付けを行う関数を修正して,逆に日付から座標を計算していた部分も関数としてくくりだして(一箇所しかなかったけど)修正するだけで無事終了.

実装の都合上,任意の日から週を開始することが可能なのだということが判明したけど,さすがに需要もないだろうし,余計なオプションが増えるのもうれしくないので,「カレンダーを月曜始まりにする」オプションだけを追加.

周期予定まわりのインタフェースを書き直しているのもあと少しで終わりそうだし,1月上旬には確実にリリースできそう.できればもう少し早めたいところではあるけど.


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

_ Delphi

ドラッグ中のキーボード状態を取得するのには,KeyboardStateToShiftState というのを使えばいいらしい.VCL ヘルプに載ってないけど…….

CTRL が押されたら DragObject を継承して作ったCopy プロパティを ON にして,Copy プロパティが ON かどうかでドラッグ中のカーソルキーの値を返すようにgetDragCursor をオーバーライドしてみた.

カーソル自体も自作.影は付かないけど,Windows システムカーソルを手本にそれっぽいコピー時用のカーソルを作ってみた.[ツール]-[イメージエディタ]で書いてMYCURSOR CURSOR "ファイル名"const crMyCursor = 1;Screen[crMyCursor] := LoadCursor(hinstance, "MYCURSOR");とするだけ.けっこう簡単でいい.

_ Calendar

周期予定の GUI を大幅修正開始.データ構造はまったく変わってないが,ListView を使うところを TreeView に完全に置換する.


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

_ AOP

AspectJ 使ったリファクタリングで例外構造を抽出する例が新しく載っていた.今回はクラスにローカルな private aspect を作っていたり,インタフェースに実装を追加するアスペクトを一緒にくっつけているところがポイントかな?

http://www.theserverside.com/resources/article.jsp?l=AspectOrientedRefactoringPart2

_ ssh

リモートデスクトップを ssh ポートフォワードする方法を忘れたので調べなおし.以下のサイトのが一番簡単(?).ssh -l username -L 33890:target:3389 serverで接続しておいて,リモートデスクトップでlocalhost:33890 に接続するだけ.Windows 98/Me 互換モードでないと localhost への接続で「このホストへのセッションは既に確立されています」と怒られる.こんなのどうやって気づいたんだろう…….

http://yso.mtk.nao.ac.jp/~yfujita/tips/SSH.htm


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

_ Calendar

欠陥に関する情報を更新.発生してしまうと復帰するのに手間がかかるバグがいくつかあるので,0.6 を早めにリリースしたいところ.

_ クイズ

Windows 2000 の Active Directory 管理などがメインに入ったクイズ.Active Directory を使ったことはないが,何となく答えて60点.234人中34位.http://itpro.nikkeibp.co.jp/free/NT/ITBASIC/20031202/1/


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

_ 論文

APSEC2003 の proceedings を見せてもらったのだが,今回は,読みたいと思うものが少ない.

Jun Han and Ksze Kae Ker:Ensuring Compatible Interactions within Component-based Software Systems,Proceedings of APSEC 2003, pp.436-445 (2003).

インタフェース定義として Rich IDL を使って,それに加えてコンポーネントごとのメソッド呼び出し順序などの規定を記述する言語を追加している.たとえば COMPONENT Account { setupAccount BEFORE (deposit, withdraw);} といった感じ.で,この記述から eFSM を作って実行時にテストしてやろうというもの.

FSM で実現する場合,コンポーネントの「状態」が問題になるが,現実にはインタフェースには状態は現れてこないので,制御に関する条件のほうがユーザには分かりやすい,と言っている.

基本的に記述はあるコンポーネント単体に対して行う(他のコンポーネントに対する条件は限定的にしか記述できない).そのかわり,コンポーネント単体だけで適用できるようになっているので,すべてのコンポーネントに仕様を書かなくても,書いた場所だけチェックしてくれるので導入はしやすい.

_ 論文

メーリングリストに流れてたので拾ってみた.

Bruno Dufour, Christopher Goard, Laurie Hendren, Clark Verbrugge, Oege de Moor and Ganesh Sittampalam:Measuring the Dynamic Behaviour of AspectJ Programs.Sable Technical Report No. 2003-8 (2003).

AspectJ プログラムの動的メトリクスとして,従来から利用可能な

・実行時間

・実行されたバイトコードの命令数

・ロードされたバイトコードサイズ

・確保されたメモリ

に加えて,AspectJ 独自のメトリクスとして

・Tag Mix(実行されたバイトコードが,Javaコード,AspectJコード,CFlow の準備,アドバイスの実行条件のチェックなど,どの種類に属するかという比率を調べる)

・アドバイスの実行条件のテスト回数 (そのうち常に成功しているものや常に失敗しているものの割合)

・コードのカバレッジ(ロードされたうち実行されたバイトコードのサイズ)

を定義している.いくつかのアプリケーションを実行して,これらの値を計測しているのだが,cflow や args などがアスペクトのオーバーヘッドのかなりの割合を占めている様子.

これらはあくまでパフォーマンス上の話のことで,期待していたような実行時の複雑度の話とかではなかった.残念.

_ Calendar

hyCalendar 0.6 用のテストケースの大部分を消化.とりあえず自分で使ってみる段階に入った.

"ドッグフードを食べる" という表現を使うとどうやらそのままの意味にとられてしまうことがあるようなので,さすがに使わないことにする.

_ 読書

E.T.ベル「数学をつくった人びと I」(ハヤカワ文庫)読了.数学の歴史的有名人がどんな人だったかという読み物.

フーリエやラグランジュ,ラプラスといった大学の授業で必ず登場する人々が多い.ソフトウェア工学だとあまり縁がないが.

ライプニッツなどが実は論理学の源流にいるとか,ラグランジュが12進法をやめさせて10進法を推し進めたとか,微妙な知識がいろいろ入っている.

読み物として,面白い本なのだが,この著者,数学者を尊敬しているんだろうなーという(他の法律や哲学や内政での仕事を低く見ているような)言い回しを使っているのでちょっと読んでて疲れる.


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

_ 紅茶

三宮にあるマヒシャ(mahisa) とゆー喫茶店に行く.17:30頃だったのにけっこう混んでる.セイロン系が充実していて,ミルクティー向けに濃い目の紅茶と,焼きたてスコーンが美味しかったので満足.

http://www.o-cha-ya.com/