Java
JSFは当初、JavaEE標準のWebフレームワークとして大きな期待を受けて登場しました。かなり話題になっていましたし、1.0がリリースされる前から書籍もたくさん出ていました。しかし、海外ではどうかわかりませんが、少なくとも日本ではあまり使われることはな…
昔からJSPでスクリプトレットを禁止するオプションがあればいいのに…と思っていたのですが、JSP 2.0からweb.xmlでスクリプトレットの使用を禁止できるようになっていたんですね。最近知りました。 以下のような感じで、scriptlet-invalidをtrueに設定してお…
Javaのフレームワークは、フロント部分はいいものがいろいろあると思うのですが、DBアクセス周りはHibernateもiBatisも正直微妙で、これが決定版!というものがありません。 個人的にはS2JDBCが使いやすいと思うのですが、Seasar2に依存しています(実際には…
マイコミジャーナルで書いた記事も公開されていますが、記事には書いていないことや個人的な所感もあるので、この日記での「neo4jを使ってみる」シリーズはもう少し続けます。 今回はjo4neoというグラフをオブジェクトにマッピングするライブラリを試してみ…
まあ正直Javadocは印刷してどうこうするものではないと思いますが、やんごとなき事情により印刷したいケースというのもあるわけで、そんなときのためのツールとしてPDFDocletというものを教えてもらいました。 http://pdfdoclet.sourceforge.net/ その名の通…
先日のエントリでも少し触れましたが、neo4jの拡張コンポーネントパッケージApocというものを使うと(主にLuceneを使用して)インデックスからノードを検索することができます。一発でノードを引くことができるのでグラフデータベースとしてはなんだか邪道な…
ノードとノードをつないでグラフを作ってみます。 ノード間のリレーションはRelationshipオブジェクトで表現されます。試しに社畜と会社の関係を表してみましょう。 // 関連のタイプを表現する列挙型 public enum MyRelationshipTypes implements Relationsh…
neo4jは組み込み型のグラフデータベースエンジンとのこと。 http://neo4j.org/ グラフ(ネットワーク)データベースではノードとリレーションでデータを表現していきます。リレーショナルデータベースと違って各ノードは自由なスキーマを持てるのと、検索す…
GAEのニコカレに携帯向けのQRコードを出したいなーと思って探してみました。実際に試していないので良し悪しはわかりませんが、とりあえず2つ発見。 http://qrcode.sourceforge.jp/index.html.ja http://www.swetake.com/qr/java/qr_java.html あとはGoogle …
先日書いた、EL関数のオーバーロードができなかったり、配列リテラルがなかったりする件も不便ですが、文字列の結合ができないという点もかなり不便だったりします。 文字列結合のつもりで ${bean.property1 + bean.property2}なんて書いたりすると、プロパ…
JSPのEL関数は簡単に実装できて非常に便利なのですが、引数の異なる同名の関数を定義することができません。 たとえば以下のようなTLDはTomcatにデプロイしただけで「functions-1.1.0-SNAPSHOT.jar の中の関数名 message が重複しています」と怒られます。 <function> <name></name></function>…
久しぶりにSwingでプログラミングをしていてTableTree的なことをやりたかったので、これまた久しぶりのSwingXにあるJXTreeTableを使ってみました。 JTableなどでもそうですが、JXTreeTableではJXTreeTable本体に加えてデータを表すTreeTableNodeと、それを表…
個人的にはいかがなものかと思いますが、世の中のシステム開発ではなにかとステップ数が基準になることが多いです。んで、新規の開発の場合は単純にステップカウンタでステップ数を測定すれば規模が出せるのですが、改修案件の場合は既存のコードに手を入れ…
OSCacheではキャッシュの振る舞いに関する設定をクラスパスルートのoscache.propertiesという設定ファイルで行います。以前の日記で一度書いたのですが、消えてしまったのでメモを兼ねてもう一度書いておきます。ちなみにOSCacheの設定ファイルリファレンス…
少し前にOSCache(オープンソースのJavaキャッシュライブラリ)のバグで悩まされたことがあったので書いておきます。たぶん以下のバグレポートが該当のバグだと思います。 http://jira.opensymphony.com/browse/CACHE-309 OSCacheはメモリキャッシュとディス…
わけあって今度はSeamをいじっているのですが、難しいですね…。seamコマンドで自動生成したCRUDアプリを参考にいじっていてなんとなく感じを掴めてきました。画面はFaceletsなので(個人的に以前触っていたことがあったので)そんなに違和感がないのですが、…
グラフを表示できるようにしてみました。特にブランチが入り乱れている場合についてはあまりテストしてないので不具合があるかも…。cvs logの出力をパースしてグラフを作成しているのですが、出力がバラバラなんですよねぇ。そういうものなのでしょうか。 各…
先日、アルファバージョン公開しました。手元ではさらに開発を続けています。 ブランチを作成できるようになった マージができるようになった リストビューにオプションが表示されるようになった リストビューの日付をYYYY/MM/DD HH:MI:SS形式にした まだ検…
文字列をすべてプロパティファイルから取得するようにした。 主要なアクションにアイコンを設定してツールバーをつけた。
ツリービューにポップアップメニューをつけたのと、CVSの出力文字列に対してWinCVS風に色をつけるようにしてみました。フォントも設定できるとよいですね。 あと、CVSコマンドを実行するスレッド周りの実装を変更。わすれないようにTODOをメモしておきます。…
リストビューの部分にポップアップメニューをつけてみました。あと、ツリービューで選択したディレクトリに対してコマンドを実行できるようになりました。そろそろ普通に使えるレベルには達してきていると思います。 今回は結構、全体を考えながら作っている…
編集済ファイルのアイコンを変えるようにしたり、リストビューからファイルを選んで外部エディタを起動できるようにしたり。あと、今まではローカルのリポジトリで試していたのですが、実際にSourceForge.jpのCVSにコミットできることを確認しました。 他に…
statusとdiffを実装。いちおう、CVS管理下かどうかでアイコンを変えるようにしてみましたが、ファイルを編集してもアイコンは変わらないのでかなり紛らわしいです。コマンドの実装自体はダイアログを作って、CVSコマンドを文字列で組み立てて、という感じで…
commit、updateに加えてlogコマンドを実行できるようになりました。あとはActionや各種ダイアログの抽象化。先は長いですなぁ。実装はまだ全然先になると思うけど、グラフはどうしようか。表示だけならCvsGraphを使うのが簡単そうだけど…。
個人的には有力な選択肢だと思います。バイナリ互換性と、JREをインストールするだけで動くというところがよいです。もちろん不満もありますが…。
updateとcommitができるようになりました。遊びで作り始めたんですけど、ちょっと熱が入ってきたかも。インターフェースはWinCVSを真似していますが、WinCVS(gCVSもそうですが)はメニューなどごちゃごちゃしていて、いまひとつ使いにくい(というか、わか…
ステータスバーにファイル名(フルパス)と文字コード、改行コードを表示するようにした。あとカーソルのポジションも表示するつもり。まだIDEから文字コードや改行コードを指定して保存することはできないです。 久々にJava同好会のWikiに書いているJFaceサ…
Perlスクリプト以外のファイルは構文チェックを行わないなど、細かいところを直しただけ。文字コードや改行コードはステータスバーに表示したり、ファイルの保存時に指定できたりしないといけない。一通り機能を実装し終えたらもう一度最初から作りなおそう…
Undo、Redoは簡単に実装できます。まず以下のような感じでUndoManagerとTextViewerを関連付けします。 import org.eclipse.jface.text.*; ... TextViewer viewer = new TextViewer(); // 99回までアンドゥ可能 DefaultUndoManager undoMgr = new DefaultUndo…
久々に手をつけました。UNDO、REDOを実装。ソースがかなりごちゃごちゃしてきた・・・。作り直そうかなー。