OpenOffice.org XML Essentials が公開されている。Impressの部分も出ているので、要チェックだ。
Impress file to SVG
OpenOffice BASIC を使って Impress のファイルからSVGファイルを生成するスクリプトを記述してみた。Visual Basic for Application と文法やオブジェクトのAPIがかなり似ているのでけっこう何とかなりそうな感じだ。StarOfficeのBASICに関する日本語ドキュメントがあるので、そちらも参考にしながらやればよさそうだ。
ちょっと残念なのが、結局マクロなのでアプリケーション的なインタフェースにするのがちょっと難しいというところだろうか。とりあえず、sxi2svg.sxw というWriterファイルにマクロを登録して作成した。これを開いて書いてある通りにすれば使用できる。 [ダウンロード] … [名前をつけて保存]でダウンロードしてください。
JTC2004 Ja-Jakarta BOF
大盛況でした。みなさまお疲れ様でした。かなり体にきてますが、楽しかったです。
sample program
ちょっとしたプログラムを作成したので書いておく。
| public class Reverse { private String s; private java.util.Stack stack = new java.util.Stack(); public Reverse(String s_) throws Exception { if (s_.length() < 1 || 1000 < s_.length()) { throw new Exception(“文字列長が不正です”); } s = s_; } public String execute() { char[] cs = s.toCharArray(); for (int i=0 ; i<cs.length ; i++) { stack.push(new Character(cs[i])); } StringBuffer sb = new StringBuffer(); while (!stack.empty()) { Character c = (Character)stack.pop(); sb.append(c.charValue()); } return new String(sb); } public static void main(String[] args) { try { String s = “0123456789”; Reverse rev = new Reverse(s); String rs = rev.execute(); System.out.println(“入力文字列:”+s); System.out.println(“反転文字列:”+rs); } catch(Exception e) { System.out.println(“エラーが発生しました”); } } } |
Trap
WebアプリケーションをWindowsで開発してもらって、それをFedora Core Linux で動作させるためにインストールをしたのだが、思ったように動作してくれない。URLとして http://hostname/context/controller?cmd=selectみたいなものを入力すると、Windows上ではきちんと動作していたのに、LinuxではgetParameterメソッドでcmd=selectが取得できないのだ。HTMLフォームを使ってPOSTメソッドで送るときちんとパラメータが送られるようだ。この違いはいったい何なのかよくわからないが、結構時間を食ってしまった。
文字コードの問題や文字列の埋め込み問題も発生していて、結構細かいところに多くの罠があって思うとおりに作業が進まなかった。とりあえず、作ってもらったコードはもったいないので授業でリファクタリングしながら紹介でもしていこうかと思う。しかし、なかなかプログラミング技能というのは身に付かないものだ。やっていることが細かいと言えば細かいような気もするが、丁寧にやるべきところで丁寧にやれるかどうかが大きな差だろうなぁとも思った。でも、勢いも大切なので、若いうちは若いらしく力業で強引に行ってもらいたい気もする。まぁ、時間切れにならないように後は資料をしっかりまとめておいてもらえれば、結構満足できるものができあがっていると言えば、そう言えるので、残りの部分をがんばってもらいたいものだ。
そうそう、明日に備えて準備、準備。
Address access control on Tomcat

もえつきました。
とりあえずTomcatでValveを使ってIPアドレスによるアクセス制御をしようとしたがContext単位での指定ができないような気がして、結局ポート番号をずらした2つのTomcatプロセスを起動して対応することにしてみた。
一応動いているように見えるが、もうちょっときちんと調べてみたほうが良さそうだ。あと一週間で研究発表があるがこんな調子で大丈夫だろうか。明日から試用マシンへソフトをインストールして簡単な評価をしたいところだけど、前途多難だ。
クイズの司会もきちんと準備しないといけない。ぼけもつっこみも苦手なので笑いはとれそうもないが、いまさらじたばたしても仕方ないかな。ちなみに写真はぜんぜん関係ないもの。我が家にあった、子供が紙でつくった車。ペーパークラフトって楽しい。
Jakarta Velocity

Jakarta Velocityをちょっとだけさわってみた。テンプレートエンジンとして結構面白そうな使い方ができるようだ。Velocityに含まれるTexenは、Torqueでも使われているようだ。実行にはApache Antが必要なのであらかじめダウンロードしてインストールしておこう。
Velocityのインストールは簡単で、Apache Jakarta Binary Downloadsからvelocity-1.3.1.tar.gzをダウンロードして、展開する。その後、buildディレクトリでantを実行するとbinディレクトリができあがる。テストを実行して成功すればインストールは終了だ。
> cd velocity-1.3.1\build
> ant
> ant -f testcases.xml