«前月 最新 翌月» 追記

netail.net

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

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


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

_ 日記CGI

そろそろ,古いデータを HTML 化していこうかな,と思ったがそうすると現在の検索機能のような記事ピックアップが働きにくくなる.久しぶりに機能強化しようかしら.……もちろん,国際会議が終わってからだけど.

_ Visio

展示用に Power point のスライドをVisioでポスター化.Power Point 中でスライドを選択してコピー,Visio に移動して貼り付けるだけでいいので,非常に便利.ppt スライドオブジェクトとかいう感じのオブジェクトとして扱われているらしく,OLE以来伝統のダブルクリックで編集可能になる.

_ 発練

プレゼンの練習.先生と,社会人Dの人に聞いてもらって色々コメントをもらう.これを反映して明日に備えることに.


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

_ ポスター

学科サーバ室の EPSON MC-7000 でA1ポスターを印刷.だいたい1枚10分くらいで,仕上がりがきれい.ロール紙がどのくらい残っているかは検知できないので(システム的に難しいので仕方ないが),ポスターの途中で紙が途切れると,そこまでの印刷がまったく無駄になってしまう悲しさがある.

_ 出張準備

出張の準備をするために大学に.ゴールデンウィークだけあってか,大学も閑散としている.

_ 電子図書館

阪大の電子図書館を使うとIEEE Transactionなど有名どころはほとんど何でも取れるらしい.全然利用してないので知らなかった.紙ベースのものが研究室にあるせいかもしれないが.


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

_ ICSE

テレビのチャンネルを適当にまわしてたら,なぜか風雲たけし城の英語吹き替え版をやってた.うーむ :-)

_ ICSE

夕食はステーキハウス.$30程度でかなりいい肉が食えた.疲れさえなければ赤ワイン+肉+つまみ類でがんばるのに…….その点だけはちょっと残念.

ポートランド,日本に比べると少し涼しいかも.時々ぱらぱらと小雨が降るのは,そういう土地柄らしい.

_ ICSE

何とかホテルに無事到着.タイムゾーンが?8なので時間が逆戻りしている(まだ4日の夕方).

とりあえずレジストレーションは終わったが,明日の朝8時半からチュートリアル.忙しくなりそうだ.


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

_ ICSE

二日目の食事はシシカバブなど.私はウージという羊の肉をスパイスをまぶして焼いたものを食べてみた.やわらかくてすごくおいしい.これで$13なら安いかも.

こっちの朝になって,なんと論文が論文誌に採録になった通知が届いていた.問い合わせても返答がなかったので不安だったが,よかった…….この辺に採録のラインがあるのね,というのはなんとなく分かった気がする.


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

_ Jeda

ハードウェア記述系の言語Jedaでもアスペクト指向な記述が可能らしい…….複数の部品に要求される特性を記述できるなら便利かもしれない.しかし,この言語要素はAspectJの変種で,特にハードウェア記述言語だからという特殊なアスペクトがあるわけではないらしい.

ちなみに,日本語マニュアルでは pointcut はそのままポイントカットとされていた.pointcut に適切な訳語ってないものかなぁ.join point が結合点,pointcut は結合基準といったところか.誰か訳語の統一とかしてくれないものだろうか.

_ ICSE

三日目はタイ料理屋さんでカレー,四日目はステーキ.肉類全般に美味しいので満足.ちょっと値段的に高い店が連続しているが…….

発表も無事終わったし,アスペクト指向関連の研究で有名なGail Murphy と直接話せたのがよい経験だった.作ってるツールをくれ!という人がいたのでメールアドレスを教えてもらったが,調べてみるとUniversity of Minnesota の助手さんだった.Donglin Liang, プログラム解析系のテーマをやっているらしい.http://www.cs.umn.edu/faculty/dliang.html


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

_ ICSE

ICSEが終わったので,サンフランシスコで1日観光.Stanford 大学で昼食.Teriyaki Bowl (Shitake Mashroom and Tofu) がとても不味かった.その後,CS専攻の歴史的資料の展示,Memorial Church と Hoover Tower を見て,大学内の本屋さんと近所の電気屋 Fry's に立ち寄った.期待に反して,ユニークな品物というのは特になかった.

夕食はジャズの生演奏が聞けるMaibock, Gordon Biersch Brewery Restaurant で食べたが,自家製ビールが美味しかった.屋外で食事できるのがいい感じ.

翌日は,朝から空港へ行って飛行機に搭乗して帰国.時差と移動時間を足すと28時間くらい移動にかかった.


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

_ 論文

AOSD2003の論文読みの続き.ショートペーパーかと思ってたら,やっぱりこの辺りは Position Paper だったらしい.PDF を印刷してから,2週間以上経っているのでまったく忘れていた.

J. Kienzle, Y. Yu, J. Xiong: On Composition and Reuse of Aspects.

アスペクトは,サービスを提供,要求,除去する.アスペクトが他のアスペクトが要求しているものを提供する場合もあるが,他のアスペクトが要求しているものを除去してしまう場合もある.

依存しているサービス Depends-On 集合 D,除去するサービス Remove 集合 Rから,R が空集合なら保存性がある,D が空集合なら直交している,というように分類する.

また,アスペクト間の優先度などを構成グラフ(Configuration Graph)として,グラフ中の循環(相互依存関係)は分離しよう,とかいうことを説明している.どういう研究に発展するか楽しみ.

_ 論文

B. Tekinerdogan: ASAAM: Aspectual Software Architecture Analysis Method.

こちらは Full Paper.SAAM: Software Architecture Analysis Method というアーキテクチャの評価手法のアスペクト指向への拡張らしい.シナリオを Direct/Indirect で整理し,アスペクト付きシナリオを構築し,アーキテクチャのアスペクトを抽出するというもの.私の仕事とはあんまり関係ないので読むのは保留.

アスペクト指向と一口に言っても,色々やってるなぁ,というのが現在の感想.

_ 論文

さらにAOSD2003論文読みの続き.

I. Brito, A. Moreira:"Towards a Composition Process for Aspect-Oriented Requirements"

要求からアスペクト間の優先度(dominates)関係を決定するプロセスに関する話.興味がないので省略.

_ 論文

A. Gal, M. Franz, D. Beuche:"Learning from Components: Fitting AOP for System Software"

OS などで AOP を使うには信頼性が重要だが,アスペクトはコンポーネントの中身を直接扱うので使いにくい.そこで,コンポーネント側に,interface LockNeeded { void print(); }のようにインタフェース定義を置いておいて,アスペクトはそれらのインタフェースに対してのみ仕掛けることができるようにしよう,というもの.発想としては非常にシンプルで分かりやすい.

_ 論文

A. Colyer G. Blair, A. Rashid:"Managing Complexity In Middleware"

分散ソフトの複雑さを抑えるためにはミドルウェアが重要だが,そのミドルウェア自体の複雑さが問題となっている.そこで,AOSDの "宣言的" 性質を使ってミドルウェアの特性を分解したり,アプリケーションとミドルウェアの結合度を弱めるために使いましょう,という論文.6ページのショートペーパーだし,どっちかというと Position Paper ぽい気配.

_ 論文

AOSD2003周辺論文読みの続き.

W. Schult, A. Polze:"Speed vs. Memory Usage - An Approach to Deal with Contrary Aspects"

C# で dynamic weaving を実装して,メモリ節約アスペクト,分散計算アスペクトを使ってどのくらいシステム性能が変わるかを調べた論文.実データとソースコードが載ってて,ここまで変えられるのか,とちょっと感心.

_ 論文

S. Hanenberg, A. Schmidmeier:"Idioms for Building Software Frameworks in AspectJ"AspectJ のイディオム4種類を紹介している論文.

子アスペクトが親アスペクトのメソッドを実装する Template Advice, 子アスペクトが,動作すべきかどうかを boolean 値で返して,true のときのみアドバイスが動作する pointcut method,複数のアスペクトをチェインさせる Chained Advice,Factory メソッドの実体を定義する Factory Advice.

有効性については今のところ不明.

_ 論文

J. Araujo, P. Coutinho:"Identifying Aspectual Use CasesUsing a Viewpoint-Oriented Requirements Method"

"Vision" という要求分析法があるらしく,それを使って非機能的要求(Non-Functional Requirements)を確定し,複数の要求に絡む要求はaspectual use case として取り出す,とかいう話らしい.あんまり関係ない話のようなので,詳しくは読まないで置いておく.

_ 論文

H. Rajan, K. Sullivan:"Need for Instance Level Aspect Language with Rich Pointcut Language"

pointcut の種類を Rich/Simple,アスペクトが動作する単位を Type/Instance と区別して,Rich/Instance な言語がほしいよね,というのでプロトタイプを作ってみました,という論文.

instancelevel aspect Equality {アスペクト定義}と定義して,コンストラクタ呼び出しのように動作し,アスペクト初期化時に addObject(引数でもらったオブジェクト) という呼び出しでアスペクトがそのオブジェクトに張り付くらしい.フックを仕掛けてるのと気分的には同じ.

_ 論文

M. Storzer, J. Krinke:"Interference Analysis for AspectJ"

アスペクトによる Introduction,クラス階層の改変機能で,どこのメソッド呼び出しが影響を受けるかを解析する,という論文.計算アルゴリズムが明確に記述されているので,後で参考にするかもしれない.

_ 論文

I. Nagy, M. Aksit, L. Bergmans:"Composition Graphs: a Foundation for Reasoning about Aspect-Oriented Composition"

Composition Graph という中間形式に落とすことで,複数のアスペクト指向の手法を混ぜて使おうという Position Paper.クラスやアスペクトの,メンバー間の関係をグラフに落として,グラフ変換で頑張ろうとしている.それにしても,各アスペクト指向言語の表現をグラフ上の表現に落とす変換ルールを作るのが大変そうだが,逆に,新しく言語を作る人はそのルールさえ作ればあとは共通処理になるので,新しい手法の提案が楽にはなるかもしれない.

_ 論文

ICSE2003 ツール・デモンストレーションに関するまとめ.

M. P. Robillard, G. C. Murphy:"FEAT: A Tool for Locating, Describing, and Analyzing Concerns in Source Code"

Concern Graph の管理ツール.Eclipse プラグイン.Concern に属するメソッド・フィールドの呼び出し関係などを知ることができる.このグラフをアスペクト作成などにも使うことができる.-- GUI表現があると面白いのだが.AspectJ はモジュールとして分けようとするが,FEATでは必ずしもそうする必要はない.このツールに対しては,取り出したものが正しい Concern かどうか,また Concern の粒度はどの程度か,という問題がある.ちなみに,FEAT はダウンロード可能らしい.

S. P. Reiss:"JIVE: Visualizing Java in Action"

プログラムのどのクラスが動作しているかを示すツール.プロファイラの GUI 版のようにも見えなくはない.時系列情報などを保存してるのは少しえらいとも思うが,時系列情報をどの程度取っているのかによっては,コストが微妙なところでもある.

あとは,DRT (Design Recovery Tool) がある.DRT は,GUI 操作から,実行された関数などを記録して重要度の算出などを行って,簡略化されたシーケンス図を表示してくれるのだが,論文のほうにある計算式がまだ把握できてないので保留しておく.

_ 論文

ICSE2003で聞いたプレゼンテーション等のまとめ.

J. Law, G. Rothermel:"Whole Program Path-Based Dynamic Impact Analysis"

全部動的情報から行う影響波及解析.実行トレース(主にメソッドコール?)列を作って,トレース列に2箇所以上同一の系列が出現したら,たとえば "ABCAB" ならば "xCx" + "x -> AB" に変換するという形でSEQUITOR文法という一種の圧縮形式に変換し,その上で影響波及解析を行う.

static forward slicing との比較を行っていて,動的にやった分小さくなっていると主張している.

実は,実行トレースから SEQUITOR 文法に直すときに,過去の系列をすべてパースしたら n^2 に近いアルゴリズムになってしまうはずなので,けっこう苦しいと思うのだが…….

X. Zhang, R. Gupta, Y. Zhang:"Precise Dynamic Slicing Algorithms"

動的データスライシングの話.制御構造を追いかける場合もそれほど差はない,らしい.

ポインタなどの区別は単純に値(アドレス)のマッチングでやっているらしい.実行トレースを出すのに必要なコストは考慮していない.

オンデマンドに必要な部分だけの PDG を構築するというところがポイント.スライス回数が少なければ,かなり高速になる.また,トレース結果をブロックに分解しておく Limit Processing とも比較を行っている. Data Slicing では,80%くらいのブロックは処理せずに済むらしい.

もっとも,実行トレースのサイズが 1M ステップとかになってくると,トレースをディスクに書き込んだりするコストや,スライスのサイズ自体が馬鹿馬鹿しいものになる気もするが…….

_ 余談

動的スライスでは,1. データ取得, 2. スライス計算, 3. 表示方法 を頑張らないといけないので,まだまだ課題は多そう.

Hybrid Slicing [Gupta, Saffa, FSE'95] なんてものもあるらしい.動的情報を部分的に使うものらしいので,いちおうチェックしたほうがよさそう.

_ 論文

OOPSLA2003に投稿していた原稿が reject されたので,少し修正して IWPSE に再投稿を試みることに.締め切りまであと一週間というところで決めるあたりが適当ではあるが,原稿の大まかな修正は終えて,とりあえず先生の確認待ち.

_ 論文

情報処理学会論文誌に掲載が決定した論文の原稿をメールで送付.初掲載なので,やっぱりちょっとだけ嬉しい.

_ 論文

IWPC2003 のうち,論文著者が自前で web で公開してるものを集めて読んでみた.主にプログラム解析系.(Program Comprehensionのワークショップなのだから当然だが)

D. Heuzeroth, T. Holl, G. Hogstrom, W. Lowe: "Automatic Design Pattern Detection"

デザインパターン候補を,ソースコードの静的解析+動的解析で抽出する.静的解析の手法としては,既存の各メソッドをパターンの構成要素とみなして(たとえばあるメソッド m を Observer.notify の役割を果たすと仮定して),メソッド役割の組み合わせを探索する.それらに対して,実行時情報でフィルタリングを行う.実験データでは,静的解析で約300程度の候補が発見され,動的解析で20程度まで絞った後,手作業で1~6個程度識別していた.

_ 論文

R. Komondoor, S. Horwitz:"Effective, Automatic Procedure Extraction"

コードからの手続き抽出.break, continue などの goto 系を解決しながら手続き抽出を行う.アルゴリズムはCFG上での計算っぽい.どこまでを手続きとして抽出するか,とかいうのは微妙.

_ 論文

E.B. Duffy, J.P.Gibson, B.A. Malloy:"Applying the Decorator Pattern for Profiling Object-Oriented Software"

Decorator を使って C++ 上でのプロファイリングを実装している.ユーザの記述したクラスと,Profilerクラスを多重継承したクラスを実際には用いる,とうい形式.メモリ・プロファイルには new をフックしているあたりが若干怪しげ.クラスの Clone メソッドなどのコピー時の扱いに,多少困っている様子.これは,コピーコンストラクタで継承クラス部分がコピーされないときの問題と同様.また,継承を用いているため,名前衝突にもちょっと弱い.

_ AspectJ

AspectJ 1.1rc2 リリース.とうとうバイトコード weave +インクリメンタルコンパイルの世界に突入できるらしい.しかし,AJDTの構成がまったく変わってしまうと,AspectJ コードを解析する側にとってはしんどい話だ.

_ Java

無名クラスにはコンストラクタが書けないので不便だなーと思っていたのだが,実は {} だけを用いて初期化処理を書けたらしい. Core Java Technologies Tech Tips, May 6, 2003に掲載のサンプルコードを以下に抜粋しておく.
Comparator cmp1 = new Comparator() {
    {
      System.out.println("object initialization");    
    }       
    public int compare(Object o1, Object o2) {
      int cc = ((Integer)o1).compareTo(o2);
      return (cc < 0 ? 1 : cc > 0 ? -1 : 0); 
    }
};

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

_ お菓子

来客からお菓子をもらった.

明月庵という和菓子屋さんで,鮎菓子とクリーム大福.鮎菓子は普通.クリーム大福は,大福の中身がカスタードクリームになっているもの.味は雪見大福(バニラ)に近い印象がある.


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

_ 読書

研究室にJoseph D. Gradecki, Nicholas Lesiecki 著, Mastering AspectJ: Aspect-Oriented Programming in Java が届いた.目次を眺めた時点で興味を惹かれたのは,Chapter 14: Using AspectJ in the Real World, Appendix C: Other AOP Language Bindings くらいか.時間が取れたときに少しずつ読み進めていくことにする.


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

_ ツール

デジカメで撮影した画像 (jpeg) ファイルを一括縮小するのに,ResizeJPG (author: 関口 洋平) というものをwww.vector.co.jp で拾ってきた.操作性としてはそこそこ.欠点があるとすれば,ウィンドウを大きくしても入力プレース(グリッド)が大きくならないことらしい.

_ Java

今日のはまり.

Java で GUI アプリケーションを書いていたら,setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);を呼び出し忘れていたせいで,ウィンドウを閉じてもプロセスが終了してなかった.

ページスラッシングを起こし始めたので気付いた.


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

_ 写真

RPG研究会のいちょう祭のときの写真をアップロード.とはいえ,整理する時間がないのでResizeJPG で縮小した奴をそのまま載せただけだったりする.HTML を誰かに書いてもらおうかなぁ.


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

_ 国民健康保険

収入の都合で扶養家族から外れるので,国民健康保険に加入するために市役所まで行ってきた.保険料を計算してみると,けっこう高いことが発覚してちょっとショック.所得税+住民税+保険料+年金で収入の25%ぐらいが持って行かれる予定.

_ DupChecker

TODO は次の通り:・ファイル検査時の進捗表示(ウィンドウのステータスバー or プログレスバーダイアログ).・公開用webページの作成.どうせ大したツールではない(結局4日ほどで書いてしまった)のでソースごと丸投げしてしまうことにする.

_ IE

最近気付いたのだが,IEはURLのリンクをクリックした場合とアドレスバーへ直接入力した場合とで微妙に振る舞いが違うらしい.直接アドレスバーへ入力した場合のみ,ファイルオープンに失敗することがある.サーバ側の Content-Type 情報は無視してる節があるのだが…….

_ Java

重複ファイル検出ツール DupChecker なんてものを作ってみた.

DupChecker.jar

java -jar DupChecker.jar で起動する.ディレクトリ名をリストボックスに Add して,スタートボタンを押すだけでディレクトリ中に存在する重複(内容が同一)ファイルをリストアップするというもの.既存ツールでも別に良いと言えば良いのだけれど,インタフェース的に微妙に不満があり,加えて,Java で GUI を久しぶりに手書きコーディングしてみたかったので自作してみた.

結果のツリービューから,ファイル名を選択してDelete ボタンを押すとファイルが消せる.ファイル単位表示とディレクトリ単位表示とを両方準備してみた.

ちなみにファイル比較は,ファイルサイズとMD5.java.security パッケージの InputDigestStream, MessageDigest クラスを使うと意外と簡単に MD5 計算は実装できた.


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

_ Eclipse

Eclipse パーフェクトマニュアルなんてものが技術評論社から出るらしい.パーフェクトと言ってる時点で信用できないのは私だけだろうか…….6月7日発売ということなので,5月30日発売の IBM 製作の本の内容をどのくらいカバーしてるかが気になる.http://www.amazon.co.jp/exec/obidos/ASIN/4774117463/cst014-22/ref%3Dnosim/250-2699253-4980242


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

_ DupChecker

DupChecker のHTMLを作成した.けど,あまりやる気はない.とりあえず,ソースを JAR につけておくので誰か欲しい人が勝手に取っていくだろう.たぶん. DupChecker 公開ページ

_ 授業

学生の名簿を見てたら,18人くらいいる院生のうち7人ぐらいが知り合い.わりといけてない.

_ 授業

授業の受講者向けにアンケートを作って投げてみた.本文は次のとおり.さて,どう帰ってくるだろう?

Q1. Java に関する経験について教えてください.

1. 知らない2. 使ったことが一度もない3. 授業で使った程度4. 実務,趣味等でプログラムを書いたことがある

Q2. オブジェクト指向について知っていますか.

1. 名前を聞いたこともない2. 知っているが,実践したことはない3. 実践はしているが,オブジェクト指向プログラミング言語は使わない4. オブジェクト指向プログラミング言語を使っている(使っている言語も教えてください)

Q3. 統合開発環境 Eclipse について知っていますか.

1. 知らない2. 名前だけは聞いたことがある3. 他人が使っているのを見たことはある4. 自分で使っている(使っている言語も教えてください)

Q4. アスペクト指向について聞いたことはありますか.

1. 聞いたことがない2. 名前を聞いたことはある3. 概念は知っているが,言語を使ったことはない4. アスペクト指向言語を使っている(使っている言語も教えてください)

_ 紅茶

アリヤ・ファーストフラッシュが尽きたので,とうとうダージリン・ミリクトン・ファーストフラッシュ.例によって SFTGFOP1 だったりするが,やっぱり美味しい.ミリクトンは今年もいい感じ.輸入量限定なのが非常に残念.

_ 国民健康保険

保険証が届いた.以前のものと比べると,微妙にデザインが違ったりする.こういうのも IC カード化されたりしたら面白いのだが…….


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

_ readme

英語で readme.txt を書く.以前に比べるとまだ少しはスムーズに書けるようになった気はするが,まだ語彙の不足だけはどうしようもない.なんかいい教材とかないものだろうか.

_ 論文

輪講でIWPC2003のRaghavan Komondoor, Susan Horwitz: "Effective, Automatic Procedure Extraction" について説明した.

結局,手続き抽出するときにループ中のbreak や return を扱わないとダメだね,と言ってて実際に成功しているけど,やっぱり一番難しいのは,今回対象外となっている「どこが手続きか」を識別することなのかも.

それに,人間とほぼ同じ出力を出すといっても,それが「良いコード」であるとは限らないというところも問題か.


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

_ TRPG

RPG研のキャンペーン開始.The Lord of the Rings RPG のキャラクター作成をしてきた.以下のフィードバックを獲得.

・職業ごとのedgeリストがない

・職業ごとの能力,種族ごとの能力をまとめた表がほしい

・魔法の見やすいリストがほしい

・キャラクターシートの誤植指摘

・キャラクターシートには盾を書く欄が特にない


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

_ TRPG

The Lord of the Rings RPG の情報を更新.早く日本語版を出してくれればこんな苦労はないのだが…….日本語版が出たら,フレーバーテキストの読みたさに思わず買ってしまうような気がする.版権とか高そうだから難しいのかな? それにしても,キャラクターシートはまだ改良の余地がありそう.キャンペーンでもっとフィードバックを集めよう. games/trpg/

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

_ AspectJ

地味にドキュメントを更新.純粋アスペクト指向言語って,誰か作ってくれないかなぁ.むしろ自分で作るべきだろうか.「アスペクトとは何か」を定義しなおさないといけないのでちょっと大変だ.

_ アーカイバ

特に理由があるわけでもないが,ArchIt からNoah と Explzh の併用環境へ移行した.Noah が ArchIt の代替で,Explzh は加工用.勢いで併用環境になってしまったので,さっさと金を払って Explzh へ一本化するか,それとも Noah でごまかすか.

_ プログラミング言語

プログラミング言語がいくつくらいあるのか,と聞かれたのに正確に答えられなかったので調べてみたら,プログラミング言語リストなんてものを発見.これに載っている範囲で 2350個.でもこれは,Java とかは載ってないようなので,現状ではさらに数が増えてるはず…….

http://cui_www.unige.ch/langlistftp://wuarchive.wustl.edu/doc/misc/lang-list.txt

_ HTML

研究で作ったツールを紹介した英語ページが完成.とはいえ,現状ではまだ非公開なのであまり関係ないか.

_ HTML

HTML を書くたびに HTML-lint を通すというのを繰り返しているせいか,だんだん HTML の仕様に準拠したデータというのが書けるようになってきた.そもそも手書きするな,という話もあるが.

_ Eclipse

ようやく,Eclipse で使われているファイルの意味を理解し始めた.

build.properties -- プラグイン・アーカイブのソース位置などはここで指定する.というか,アーカイブファイルの名前はこれによって決定される様子.

build.xml -- 「Create Plug-In JAR」を選ぶと自動生成される.

default.lst -- 単なるファイル名の一覧だと思っていたのだが,Build Configuration Editor で開くことで,build のコンフィギュレーションを設定できる.ここに変なデータが指定されていると,思い通りのファイルがロードされない,ということが起こる.

plugin.xml -- 言うまでもないが,プラグイン情報を格納したXMLファイル.


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

_ namazu

oucc.org サーバに namazu を入れる.apt-get install しただけなのだが,Debian 自体ほとんど使わないので怪我のもとかも.

それにしても,namazu2 と namazu2-index-tools が分離しているのはどのくらいの意味があるのだろう?最初,namazu2 だけ入れて mknmz が入ってないのですごく不思議だった.


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

_ Java

今日のはまり.

IntValueMap (自作の int -> Object マップ)が,正しい値を返してないなーと思っていたら,IntValueMap は getKeys で返す作業用オブジェクトをキャッシュしていて,getKeys(int) に拡張したときにキャッシュの値を引数に合わせて正しく更新していなかった.

コレクションが間違ってると,あやしいエラーがいっぱい出る.

_ HTML Help

ふと思ったのだが,メーリングリストのアーカイブをHTML Help 化するっていうのはアリだろうか?一度試してみることにする.

_ MHonArc

MHonArc は 2.6 で日本語の扱いが怪しい,らしい.手元のメールは全部 MHonArc に食わせようとしているのだが(昔から使っている2.4.9で),生成されたインデクス自体がそれほど便利でないので,namazu とかを使うか,生成された HTML をいじるとかしないとやっぱりつらい.

_ Explzh

ライセンスを@pay を使って獲得.どうせ1000円だし.せっかくだし, Becky! の4000円も買ってしまおうかなぁ.そろそろ Al-Mail もファイル数的に限界が近いし.(というかバックアップにかかる時間が長い)

_ RPG

鮎方さんからの指摘を受けて,The Lord of the Rings RPG ルール抄訳の誤植を修正.ついでに,ページのほうには更新履歴もつけてみた.

研究紹介用のwebページ作成と並列で作業を進める.

_ デザインパターン

@ITで,デザインパターンはどこまで使われているか,というアンケート結果が出ていた.http://www.atmarkit.co.jp/fjava/devs/survey/survey0305/survey0305.html

わりと普及してきたという感じではある.そのうち常識になっていくのかも.

でも,自分で使ってみると,実際にプログラムを書くときに,「これはxxパターンの実装だな」と意識できるのは,まだまだ少ない.Observer, FactoryMethod, Template Method, Singleton, Facet くらいか?

_ Eclipse

Eclipse を,並べて使っている2台のマシンで使っているが,一方のマシンではちゃんと動いてたのに,もう一方のマシンでは ${project_loc} 環境変数が解決されないことがある.怪しいのでバージョンを見てみたら,エラーを出すのは 2.0/200209201351 ビルドで,正しく動くのは 2.0/20021018 の新しいビルド.ちょうどバージョン切り替わりのときにインストールしたせいで,二台のマシンでバージョンが違ってたらしい.

_ namazu

namazu と mhonarc の使い方を調べたら,けっこう簡単だった.

ML 配送先のユーザをひとり作って,メールの配送ごとにhttp://www.y-min.or.jp/~nob/ML/mhonarc.htmlに載ってるやり方で出力をディレクトリに出して,そのディレクトリに対してmknmz (ディレクトリ名) を実行すればよい.

人に聞いてみたら,メール投稿ごとに処理を行ってもそんなに重くないらしいとのこと.

_ クイズ

日経ITPro で◆腕試し!プログラミングの基礎知識http://itpro.nikkeibp.co.jp/NSW/0305/とかいうのをやってた.10問で,正答率80%.ちょっと低い.メモリ管理と,浮動小数点の機構について引っかかった.情報系の人間としては,やっぱり100%,せめて90%は取りたいところ.


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

_ ウィルス

ウィルス作成講座を大学の授業でやるとかいう話に対して色々賛否両論起こっているらしい.http://www.zdnet.co.jp/news/0305/29/ne00_virus.html

ウィルスやその他サーバへの攻撃などの話では,コンピュータ倫理学(Computer Ethics) での「たとえば病院のサーバがダウンして,死者が出た場合, その責任を取れるのか?」という話なんかもあるので実はそうそうウィルスやワームを作られてはたまらないのだが,正しい原理を学んでおかないと誤った情報を信じて行動してしまう可能性もあるので,悩ましいところではある.

そのうち,ネット家電等に感染するウィルスとかが出てくると本当に死者が出る可能性はある……かな?

_ Eclipse

2.1 ではエディタの extension point が変わってるらしくて,2.0 で動いてたものが移行できない.困ったものだ.移行ツールとかないのかなぁ.

_ ツール

研究用プロトタイプを web に置いたとDonglin Liang にメールを送った.さて,どうなることやら?

_ Eclipse

最近気付いたのだが,Eclipse は起動時のカレントディレクトリにworkspace を作るらしい.だから,ショートカットで「作業時のディレクトリ」を固定しておかないと,エクスプローラで最後に開いたディレクトリにworkspace が作られてしまう.親切なんだか不親切なんだか,微妙なところだ.

_ Eclipse

Eclipse 2.0 用に作ったプラグインが動かないのは,2.1 でパッケージ構成が変わったせいらしい.困ったもんだ.

_ 暗号

暗号化してファイルを保存するエディタ EDエディタを使ってみる.いちおう,きわめて類似した平文を同じパスワードから2個暗号化して差分を取って,X+Y - (Z+Y) = X-Z が出てくる!なんてことがないことだけ見て,脆弱な暗号システムではないことを確認.

単に,リムーバブルメディアにプライベートなデータを置いておくときの用心程度なら,この程度で十分のはず.実際のところ,暗号を壊されるよりもパケットやキーボードを監視されるほうがよほど怖いので,手間としてもこのあたりが限界だろう.

_ 講習会

講習会自体は,他人任せなのでどうでもよいのだが :-)終わったあと,新入生へ夕食をご馳走するのが大変.

約1ヶ月で,既に合計で8千円くらいおごってる.以前は,おごるのは4月だけ,とかいう感じだったのに,みんな寛容になったものだ.

それにしても,おごるのはいつまで,とある程度は切ってやらないと,収入の少ない人にはきついはずなのだが…….6月の間ずっとおごる,とかなってしまうと,おごりだけで1万5千円くらいと試算.これって,自炊とかしてる人なら一ヶ月分の食費くらいに相当するはず.私はRAで十分に稼いでるから平気だけど,みんな大丈夫なのかな?

_ クレジットカード

クレジットカードの代金明細が到着.出張で使った金約9万が入ってるので,けっこう大きい.現金で払った飛行機代や,現地で使った分とあわせると,出張で28万円程度飛んだことになる.もちろん,大部分は支給はされるのだが,大幅に口座の残高を減らされるのは気分としてはよくない.


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

_ javadoc

JavaDoc2HtmlHelp がほしくて探しているのだが,見つからない.もしかして誰も作ってないのか?HTMLがたくさんあるとかさばるし,ローカルにあると検索できないし,というので困ってるので,作ってみようかな.既にHTMLだから,インデクス抽出と目次さえ作ればいいんだし.

_ Eclipse

無事プラグインが移行できたところで,勢いに任せて 2.1 に移行することにする.

2.1 で追加されている機能を読んでみて,私が惹かれたものだけピックアップすると,・エディタのキーバインディングの変更・Quick Fix 機能の追加 変数名の変更の伝播,catch 節とthrows 節の連動 実装する必要のあるメソッドの雛形の自動生成・スレッドのデッドロック検出・各種リファクタリングの強化 ローカル変数→フィールドへの昇格, 選択したメソッド群からのインタフェース作成といったところか.(授業で紹介する用にメモっておく)

こんなの見ちゃうと,移行せずにはおれない :-)

_ Eclipse

今日のはまり.Eclipse 2.1 では,org.eclipse.jdt.internal.ui.javaeditor のPaintManager, IPainter がorg.eclipse.jface.text に移動していて,また, IPositionManager はorg.eclipse.jface.text.IPaintPositionManager というaddPoisitionManager のかわりに managePosition,removePositionManager のかわりに unmanagedPosition というメソッドにインタフェースが変わっていた.逆に言うと,変わっていたのはそこだけ.それらを直したら,コンパイルが無事通った.AJDE, AJDT も(いちおうは)動いてるみたいではある.

extension point が解決できないというのは単にコンパイルしくってただけだったらしい.早とちりもいいところだ.

_ Eclipse

Eclipse 2.1 のソースコードサイズは,Java ファイルを単純に find して String.count('\n') したら2465989 だった.さすが.

_ ICSE

ICSE 2003 参加費用のクレジットカード明細が届いた.1USD == 122.299JPY だそうで, 375USD は 約 46000JPY.ヒルトンホテルとかを借りてるから,こんな値段になるんだろうか.学生価格で本会議が200USDだと,チュートリアルの175USDがぼったくりに見えないこともない.どうせ支給されるんだけど.

_ 授業

元先輩に(メール上でだが)先生と呼ばれた.非常にいけてない.こっちが飛び級・相手が休学で追い越してるので,学年的には上ではあるが.