openSUSE 入れました

openSUSE 11.1 を入れました。


Ubuntu 8.10 はインストール直後から起動画面がハングしたり画面表示が変だったり、起動中ずっとビープ音鳴ってたりと不安定だったのに、openSUSE 11.1 は凄く快適です。NVIDIA ドライバを入れたらもっと快適になりました。
これで X-Fi ドライバさえ動けばまじで優秀かも。

少し凝ったヘッダを使いたい

最近、日時業務を効率化させたいなと思って空いた時間にツールを作っているわけですが、業務の一つに蓄積した情報を元に PDF を作成する作業が存在します。まぁ、一覧を出力するようなものですね。Java で PDF 出力といえば何なのかなと調べてみたら、どうやら iText というものが有名だそうです。
そんなわけで、最近ちょくちょく iText を触っているわけですが、その中で一つ気になったことがあるのでエントリを起こします。

よくある書類の一例

業務で使うような書類って、ほとんどにヘッダやフッタがありませんか?左上には書類名、右上には最終更新日時、中央下はページ番号、とかとか。

┌────────────────────────┐
│○×仕様書        最終更新者:鎌田   │
│             最終更新日:2008/12/18│
│                        │
│                        │

こんな感じで、書類の作成ってのにはヘッダやフッタがつきものです。こういう PDF を iText を使って出力させたいとします。
iText ではこういうヘッダやフッタを作るときには HeaderFooter というクラスを使います。

HeaderFooter を使うが・・・

実は、HeaderFooter には Phrase しか与えることができません。つまり、左上とか右上のどちらかは実現できても、両方を一緒に指定することはできないんですね。
さて困った。どうしよう、とよく見てみたら、Phrase を継承した Paragraph というクラスがいて、実はこいつには PdfPTable を add することができます!

PdfPTable を使う

PdfPTable が使えるのならこちらのもの。罫線描画のないカラムが2つある表を作り、1つめを左寄せで、2つめを右寄せで作ってしまえば実現できます。
コード例としては下記の通り。

PdfPTable table = new PdfPTable(2);
table.setWidthPercentage(100.0f);
table.getDefaultCell().setBorder(Rectangle.NO_BORDER);

table.addCell(new Phrase("header-1"));

PdfPCell cell = new PdfPCell(table.getDefaultCell());
cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
cell.setPhrase(new Phrase("header-2"));
table.addCell(cell);

Paragraph paragraph = new Paragraph();
paragraph.add(table);

HeaderFooter header = new HeaderFooter(paragraph, false);
header.setBorder(Rectangle.NO_BORDER);

Document document = new Document();
document.setHeader(header);

こんな感じでできますよ!

Apache Continuum をインストールしてみる

いまや id:cactusman らの尽力により、日本では CI (Continuous Integration: 継続的インテグレーション) ツールといえば Hudson が有名かと存じますが、もっと CI を利用することを広めたいと思い、比較対象として皆さんも Apache Commons 等でお世話になっているかと思われる Apache が作っている Apache Continuum を紹介したいと思います。
といっても、自分も CI ツールとしては Hudson の方がいいんじゃないかと思ってるので途中で Continuum の紹介を投げ出すかもしれませんが、できる限り最後まで書きたいと思いますw

続きを読む

誕生日プレゼントをいただきました

エントリ書くのめちゃくちゃ遅くなりました。


id:bose999 をはじめ、id:tagui99id:daisuke-mid:rairairouid:BlackyManid:nacode より誕生日プレゼントをいただきました。
頂いたものはこれです。

USB 接続でほんのりあったかな素晴らしいスリッパです!
さらに、なんかクリスマス仕様だとかでサンタっぽい感じになれるものもついてました。


使い方はごく最近やっとわかったんですが、すごく便利です。
夜寝る前、いつも足が冷たかったんですが、これのおかげで足が温かいまま寝入ることができました。
皆さんありがとうございました><

Commons Proxy を見てみる

id:daisuke-m に「今度 "Apache commons が便利な件 (commons-proxy 編) " を書いて Jiemamy にコントリビュートしろ」と言われたので、とりあえず Commons Proxy って何やねん、ってとこから見ていこうと思います。

続きを読む

応募

はてなブックマークのノベルティセット欲しい!

というわけで、「お気に入り」に登録した中でもさらにおすすめのユーザの id を書かなきゃいけないそうなので、とりあえず羅列。


id:HolyGrail - よくブクマってるのを見る
id:Yoshiori - 殿堂入り
id:yuripop - たまに見かけて興味深いブコメにwktk
id:Yamashiro0217 - 卑猥
id:t_43z - 期待