JSF+AjaxでUIコンポーネント開発 with Shale Remoting (1)

最近のWebアプリケーションの開発(特にスクラッチから作れる案件)では,AjaxによるWeb2.0的なユーザインタフェースを採用することがほとんどではないだろうか。HTMLの標準フォーム部品に加えて,JavaScriptと非同期通信を使ったWebブラウザ上でのインタラクティブな動作が好まれるようになった。逆に言うと,実装者にとっては,例えばJSPを使ってHTMLを組み立てるだけではなく,JavaScriptまで面倒をみないといけなくなる。必要とする知識やコーディングの量が増えてしまうわけで...

錆びないもの

久々に突然,THE YELLOW MONKEYの「JAM」が聴きたくなって,プロモ流しながら自分の部屋で思わず熱唱。 いい曲だ。初めて聴いたときの印象と変わらずにいつも聴くことができる,数少ない曲の一つである。

Children = Kids?

コンポジットなオブジェクトの構造を辿るときに必ずと言っていいほど見られるメソッド,getChildren()。これを変数で受けるとき,あなたなら変数名をどう命名するだろうか? Hoge hoge = …; Collection children = hoge.getChildren(); まぁこれが多数派だろう。僕も今までこうしてた。しかし,JavaServer FacesのSun RIは違った。 Hoge hoge = …; Collection kids = ho...

GlassFishがちょっぴり身近になるらしい

Redhat Linuxの牙城を崩すつもりでいる(だろうと思われる)Canonicalが,Ubuntu(うぶんちゅ?)ディストリビューションにGlassFishをバンドルすることを決定した。 「 Ubuntu maker to distribute Sun’s Java」 - CNET News.com 近い将来,UbuntuをインストールすればGlassFishももれなくついてくる,ということになる。もちろんGlassFishの起動や終了についても,Ubuntuに統合された機構を使って行...

ついにモバイル環境を我が手に取り戻せるのか!?

「 MacBook Proのモバイル通信に救いの手が」- :::kazu-style.com::: やったぁ!久しく1パケットも通信せずに料金だけしっかり払い続けてきたモバイル環境が,僕の手に戻ってきそうだ。Macbook Proを買ってから半年以上,いやぁ,長かった。 でも,もう長期出張,終わっちゃったんだよなぁ。。。orz

全ジョブへの共通情報の渡し方

Quartzによってジョブ(Jobインタフェースの実装オブジェクト)が実行される場合,JobオブジェクトにJobExecutionContextオブジェクトが渡される。これは,サーブレットのServletContextオブジェクトと同様に,実行対象のJobオブジェクトの状況(まさにコンテキスト)の情報が保持されている。 各ジョブのSchedulerへの登録は,Jobクラス(のサブクラス)のクラスオブジェクト(HogeJob.classなど)を登録することになるため,実際に実行対象となるJo...

Quartzでのジョブ重複起動の抑止方法

バッチ処理に欠かすことのできないジョブスケジューラ。特にJavaの場合は,JavaVMというプロセス自体が重厚なために,個々のバッチプログラムをそれぞれJavaVMプロセス起動で実行することは,バッチプログラムの本数が多くなればなるほど非現実的になる。そのために,一つのJavaVM上でのジョブスケジューリングが基本となり,つまり各バッチ処理をプロセスとしてではなく,スレッドとして実行する基盤が欲しくなってくる。 スレッドを使用したことのある開発者であれば,必要最低限なジョブスケジューリング...

実装者を職人にするために

COBOL全盛の時代は,1つのメーカによる統一的な「閉じた」アーキテクチャだったために,ロックされたベンダーが提供する技術情報を身に付けるだけで,多くの案件をこなすことができた。それに,COBOLをやったことのある人ならわかると思うが,OSやデータベースなどによって提供されるサービス(トランザクションモニタやロギングなど)は非常に手厚く,しかも個々のプログラムで全く意識する必要はなかった。1プログラマから考えたら,COBOL全盛時代の方が現在よりも,よっぽどEoDの恩恵に預かることができて...

Teeda - 日本発JSF実装

「 今の最適解とは何だろう?」というエントリにコメントを寄せて頂いた中で,「Teedaは近いんじゃん?」という意見を頂いた。存在は知っていたけど,単なるJSFの1実装に過ぎないという軽い認識しか持ってなかったので,改めてSeasar FoundationのページでTeedaとは何かを見てみた。 「 Teeda - JSF meets DI and AOP -」- Seasar Foundation うん,JSFとDIのシームレスな連携(ManagedBeanのDI管理)によって,Seasa...

メインがこれじゃあオマケじゃん

名古屋でオーダーした「ネギトロ丼定食」。 まるで「スタミナランチBでライスはミニネギトロ丼に変更でお願い」である。恐るべし。