Java

JSFが道を誤っていなければ違う世の中になっていたかもしれない

JSFは当初、JavaEE標準のWebフレームワークとして大きな期待を受けて登場しました。かなり話題になっていましたし、1.0がリリースされる前から書籍もたくさん出ていました。しかし、海外ではどうかわかりませんが、少なくとも日本ではあまり使われることはな…

JSPでスクリプトレットを禁止する

昔からJSPでスクリプトレットを禁止するオプションがあればいいのに…と思っていたのですが、JSP 2.0からweb.xmlでスクリプトレットの使用を禁止できるようになっていたんですね。最近知りました。 以下のような感じで、scriptlet-invalidをtrueに設定してお…

2WaySQLが使えるDBアクセスライブラリ

Javaのフレームワークは、フロント部分はいいものがいろいろあると思うのですが、DBアクセス周りはHibernateもiBatisも正直微妙で、これが決定版!というものがありません。 個人的にはS2JDBCが使いやすいと思うのですが、Seasar2に依存しています(実際には…

neo4jを使ってみる その4

マイコミジャーナルで書いた記事も公開されていますが、記事には書いていないことや個人的な所感もあるので、この日記での「neo4jを使ってみる」シリーズはもう少し続けます。 今回はjo4neoというグラフをオブジェクトにマッピングするライブラリを試してみ…

Javadocを印刷したい

まあ正直Javadocは印刷してどうこうするものではないと思いますが、やんごとなき事情により印刷したいケースというのもあるわけで、そんなときのためのツールとしてPDFDocletというものを教えてもらいました。 http://pdfdoclet.sourceforge.net/ その名の通…

neo4jを使ってみる その3

先日のエントリでも少し触れましたが、neo4jの拡張コンポーネントパッケージApocというものを使うと(主にLuceneを使用して)インデックスからノードを検索することができます。一発でノードを引くことができるのでグラフデータベースとしてはなんだか邪道な…

neo4jを使ってみる その2

ノードとノードをつないでグラフを作ってみます。 ノード間のリレーションはRelationshipオブジェクトで表現されます。試しに社畜と会社の関係を表してみましょう。 // 関連のタイプを表現する列挙型 public enum MyRelationshipTypes implements Relationsh…

neo4jを使ってみる その1

neo4jは組み込み型のグラフデータベースエンジンとのこと。 http://neo4j.org/ グラフ(ネットワーク)データベースではノードとリレーションでデータを表現していきます。リレーショナルデータベースと違って各ノードは自由なスキーマを持てるのと、検索す…

JavaでQRコードを作成するライブラリ

GAEのニコカレに携帯向けのQRコードを出したいなーと思って探してみました。実際に試していないので良し悪しはわかりませんが、とりあえず2つ発見。 http://qrcode.sourceforge.jp/index.html.ja http://www.swetake.com/qr/java/qr_java.html あとはGoogle …

JSP-ELで不便なところ

先日書いた、EL関数のオーバーロードができなかったり、配列リテラルがなかったりする件も不便ですが、文字列の結合ができないという点もかなり不便だったりします。 文字列結合のつもりで ${bean.property1 + bean.property2}なんて書いたりすると、プロパ…

JSPのEL関数では引数違いの関数を定義できない

JSPのEL関数は簡単に実装できて非常に便利なのですが、引数の異なる同名の関数を定義することができません。 たとえば以下のようなTLDはTomcatにデプロイしただけで「functions-1.1.0-SNAPSHOT.jar の中の関数名 message が重複しています」と怒られます。 <function> <name></name></function>…

久しぶりにSwingプログラミング

久しぶりにSwingでプログラミングをしていてTableTree的なことをやりたかったので、これまた久しぶりのSwingXにあるJXTreeTableを使ってみました。 JTableなどでもそうですが、JXTreeTableではJXTreeTable本体に加えてデータを表すTreeTableNodeと、それを表…

ステップ数の差分を測定するツールを作ってみました

個人的にはいかがなものかと思いますが、世の中のシステム開発ではなにかとステップ数が基準になることが多いです。んで、新規の開発の場合は単純にステップカウンタでステップ数を測定すれば規模が出せるのですが、改修案件の場合は既存のコードに手を入れ…

OSCacheの設定ファイルリファレンス

OSCacheではキャッシュの振る舞いに関する設定をクラスパスルートのoscache.propertiesという設定ファイルで行います。以前の日記で一度書いたのですが、消えてしまったのでメモを兼ねてもう一度書いておきます。ちなみにOSCacheの設定ファイルリファレンス…

OSCacheのディスクキャッシュに要注意!

少し前にOSCache(オープンソースのJavaキャッシュライブラリ)のバグで悩まされたことがあったので書いておきます。たぶん以下のバグレポートが該当のバグだと思います。 http://jira.opensymphony.com/browse/CACHE-309 OSCacheはメモリキャッシュとディス…

JBoss Seamを触ってみるテスト

わけあって今度はSeamをいじっているのですが、難しいですね…。seamコマンドで自動生成したCRUDアプリを参考にいじっていてなんとなく感じを掴めてきました。画面はFaceletsなので(個人的に以前触っていたことがあったので)そんなに違和感がないのですが、…

今日のJavaCVS

グラフを表示できるようにしてみました。特にブランチが入り乱れている場合についてはあまりテストしてないので不具合があるかも…。cvs logの出力をパースしてグラフを作成しているのですが、出力がバラバラなんですよねぇ。そういうものなのでしょうか。 各…

今日のJavaCVS

先日、アルファバージョン公開しました。手元ではさらに開発を続けています。 ブランチを作成できるようになった マージができるようになった リストビューにオプションが表示されるようになった リストビューの日付をYYYY/MM/DD HH:MI:SS形式にした まだ検…

今日のJavaCVS

文字列をすべてプロパティファイルから取得するようにした。 主要なアクションにアイコンを設定してツールバーをつけた。

今日のJavaCVS

ツリービューにポップアップメニューをつけたのと、CVSの出力文字列に対してWinCVS風に色をつけるようにしてみました。フォントも設定できるとよいですね。 あと、CVSコマンドを実行するスレッド周りの実装を変更。わすれないようにTODOをメモしておきます。…

今日のJavaCVS

リストビューの部分にポップアップメニューをつけてみました。あと、ツリービューで選択したディレクトリに対してコマンドを実行できるようになりました。そろそろ普通に使えるレベルには達してきていると思います。 今回は結構、全体を考えながら作っている…

今日のJavaCVS

編集済ファイルのアイコンを変えるようにしたり、リストビューからファイルを選んで外部エディタを起動できるようにしたり。あと、今まではローカルのリポジトリで試していたのですが、実際にSourceForge.jpのCVSにコミットできることを確認しました。 他に…

今日のJavaCVS

statusとdiffを実装。いちおう、CVS管理下かどうかでアイコンを変えるようにしてみましたが、ファイルを編集してもアイコンは変わらないのでかなり紛らわしいです。コマンドの実装自体はダイアログを作って、CVSコマンドを文字列で組み立てて、という感じで…

今日のJavaCVS

commit、updateに加えてlogコマンドを実行できるようになりました。あとはActionや各種ダイアログの抽象化。先は長いですなぁ。実装はまだ全然先になると思うけど、グラフはどうしようか。表示だけならCvsGraphを使うのが簡単そうだけど…。

JavaによるクロスプラットフォームなGUIアプリケーション

個人的には有力な選択肢だと思います。バイナリ互換性と、JREをインストールするだけで動くというところがよいです。もちろん不満もありますが…。

Swing製CVSフロントエンド

updateとcommitができるようになりました。遊びで作り始めたんですけど、ちょっと熱が入ってきたかも。インターフェースはWinCVSを真似していますが、WinCVS(gCVSもそうですが)はメニューなどごちゃごちゃしていて、いまひとつ使いにくい(というか、わか…

今日のPerlIDE

ステータスバーにファイル名(フルパス)と文字コード、改行コードを表示するようにした。あとカーソルのポジションも表示するつもり。まだIDEから文字コードや改行コードを指定して保存することはできないです。 久々にJava同好会のWikiに書いているJFaceサ…

今日のPerlIDE

Perlスクリプト以外のファイルは構文チェックを行わないなど、細かいところを直しただけ。文字コードや改行コードはステータスバーに表示したり、ファイルの保存時に指定できたりしないといけない。一通り機能を実装し終えたらもう一度最初から作りなおそう…

JFaceのUndoManager

Undo、Redoは簡単に実装できます。まず以下のような感じでUndoManagerとTextViewerを関連付けします。 import org.eclipse.jface.text.*; ... TextViewer viewer = new TextViewer(); // 99回までアンドゥ可能 DefaultUndoManager undoMgr = new DefaultUndo…

今日のPerlIDE

久々に手をつけました。UNDO、REDOを実装。ソースがかなりごちゃごちゃしてきた・・・。作り直そうかなー。