Emacs23に乗り換え

2008年 11月 1日

Emacs22から常用するバージョンをEmacs23へ上げてみる。このバージョンはちゃんとフォントのアンチエリアスがかかり表示がやさしくなる。Emacs22と比べてみれば一目瞭然だ。

Emacs22の表示

Emacs23でのアンチエリアス有り

随分前にEmacs23のアンチエリアスは試してみたが、その時は表示は良くても日本語入力などに問題があり実用的ではなかった。久しぶりに試してみるとAnthyもちゃんと動いている。これなら十分実用に耐えられるだろう。

自分の環境は、Debianなので、sources.listへ以下を追加

#emacs23
deb http://emacs.orebokech.com sid main

公開鍵を利用できないとか言われてしまったら登録してしまおう。

# gpg --keyserver hkp://subkeys.pgp.net --recv-keys A20376BEC03C56DF
# gpg --export -a A20376BEC03C56DF | sudo apt-key add -

続いてインストールだ。

# aptitude update
# aptitude install emacs-snapshot

起動は、emacs-snapshotと入力すれば起動する。まだ開発版のスナップショットだからemacs23じゃない。

因みに、emacsへの日本語入力が、anthy-elへ直接渡らない場合には.Xresourcesへ以下を追加すればEmacsの場合はanthy-elで処理させることができる。

Emacs*useXIM: false

Excelで帳票印刷するなら

2008年 11月 1日

業務アプリケーションを作るとき、帳票は必ずと言って付いてくる。WindowsなクライアントならExcelを使用して帳票を作ってしまうアプローチは割とあると思う。

そうなると普通考える所では、クライアントの業務ロジックでExcelを操作する部分を切り離し、class化したりするわけだが、業務アプリケーションからExcel操作用classを介して帳票フォーマットへ値をセットし印刷指示を出すという流れになるだろう。

さて、業務アプリケーションからExcelの指定の位置へ値をセットする場合、業務アプリケーションでcellの座標を指定させるべきだろうか?否、それでは業務アプリケーションは帳票フォーマットと一体となってしまい、保守性が落ちる。業務アプリケーションと帳票フォーマットの結合を薄くするには・・・

一つには、帳票フォーマットであるExcelがフォーマットだけではなく、もう少しだけアプリケーションのような意味を持てばいい。それは位置に項目名を持つということだ。ただし、帳票フォーマットのcellに直接項目名の文字列を入れるというアプローチはよろしくない。(汚いと思うし)

ではどうするか、結論としてはフォーマットのcellにコメントをつければいい。つまりコメントにはそのcellの名前が付いていて、帳票印刷classでは初期化時にフォーマットに付いているコメントと位置をハッシュなどに保持するわけだ。すると、業務アプリケーションは帳票印刷classに対して、出力する項目名と内容を指示すればよくなるから、帳票フォーマットで位置をずらそうが業務アプリケーションは無修正で良くなる。

言葉だけだが、こんなアプローチもありではないかな?