2007-08-12
■[Java][Wicket]Wicket 1.3 beta2からWebApplicationの仕様がいろいろ変わっています
Wicket 1.3 beta2が現在取得できる最新リリースなのですが、このbeta2からWebApplicationクラスの使用がいろいろ変わっているため、私のチュートリアルの通りにやってもコンパイルできません。そもそも1.3からWicket ServletがWicket Filterに変わっているので、その部分も既に古くなっているのですが....
ともかく気がついた変更点を列記しておきます。
- configure(モード)の廃止
- 以前はconfigure(Application.DEVELOPMENT)とすることで開発モードにしたりできましたが、1.3 beta2からは「getConfigurationType()」というメソッドをオーバーライドして、Application.DEVELOPMENTかApplication.DEPLOYMENTを返すことで設定するようになりました。
ちなみに、DEPLOYMENTモードにするとwicket:id属性がブラウザに送られるHTMLから自動的に削除されるようになったようです。
- setSessionFactory()の廃止
- configureと同じように、こちらは「newSession(request, response)」をオーバーライドし、独自のSessionオブジェクトを返すことでSessionFactoryと同じことができます。
- getInitParameter(パラメータ名)導入
- web.xmlに書いているWicket Filterのinit-parameter項目を取得するためのメソッドがWebApplicationクラスに追加されています。フィルタ・オブジェクトを取得してそこからとり出す必要はなく、このメソッドで直接取得できます。
他にもいろいろあるかも知れませんが、特に上二つはチュートリアルでも解説している部分が変わっているので、1.3 beta2を使う方はご注意下さい。でも1.3 beta2は安定度といい静的URLの扱いといい、1.2より良いと思うので、なるべくそちらを使ったほうがいいかとも思います。
■[Java][Wicket][java-ja]java-ja「第一回チキチキ そろそろ Wicket について一言いっとくか」の資料を公開します
先日行われたjava-jaのイベント「第一回チキチキ そろそろ Wicket について一言いっとくか」ですが、私はスピーカーをする予定でしたのに、急遽仕事の都合で出席できませんでした(システムトラブル対応でした)。今回の勉強会は私を含め5名が話す予定でしたが、私ともう1名が脱落した結果、yoshioriさん、よういちろうさん、onkさんの3人だけで話すことになってしまいました。
yoshioriさん、よういちろうさん、onkさんの三名で、途中で質問などを交えて受け持ち時間を長くとっていただいて、見事に時間調整して運営してくださったようです。いくつかブログを拝見している限りでは、細かな質疑応答を交えた分、より理解が深まったとの意見もあるようで、良かったです。よういちろうさんのブログでその模様がuStreamで見られます。
三名とも、ご苦労様でした。そして当日になって出席できなくなってすみませんでした。
当日の出席者さんたちのブログを昨日の私の日記に追加していっています。興味のあるかたはご覧下さい。
私も当日までばりばり出席するつもりだったので、資料なども用意していました。今回の資料は細かいところをトークで説明する形になっていたのでそのまま公開してもところどころ意味不明になるのですが、せっかく作ったものなので公開します。
内容としては、サンプルアプリケーションを通してWicketにおけるAjaxサポートを紹介するものです。おなじみのサンプル版RSSリーダーなのですが、Ajaxを使って一画面でフィードの登録、選択、表示ができるようになっています。このアプリケーションを通して、Wicketではリクエスト・レスポンスではなくてイベントを捉えることが重要なんだよ、ということを紹介しようかと思っていました。
あと、Panelによって画面部品をコンポーネント化して共有することで、RSSリーダーくらいならあっさり作れてしまう、というWicketの面白さがテーマですね。最後には、コンポーネントを作って公開しよう、というアピールをしておこうかな、という感じのプレゼンです。
まずはサンプルはこちらのリンクから。ちなみに追加ボタンを押したら開くダイアログには、ブログのURLではなくてフィードのURLを入力してください。不正なURLを入力すると....
追記:ブログのURLでなくてフィードのURLというのは、http://d.hatena.ne.jp/t_yano/ではなくて、http://d.hatena.ne.jp/t_yano/rssの方を入力してください、という意味です。
このサンプルはWicket+Ajaxのよいリファレンスになりそうなので、できたら今後チュートリアル化してみたいです。幸い、前回のチュートリアルでRSSリーダーを作るための基礎知識はすでに紹介済みなので。
資料はこちらをクリックすると、Flash形式で見られます。ちょっとサイズが大きい(3MBほど...)のでダウンロードに時間がかかります。ご注意下さい。
出席できなくてとても残念です。スピーカーの皆さん、本当にご苦労様でした。
■[はてな]はてなのサイドバーに独自の項目を表示するには
私の日記のサイドバーにははてなでおなじみのカレンダーとかの他に、「気になる」「あわせて読みたい」という項目を追加してありますが、この記法についてまとめておきます。
方法はCSSが分かる方なら簡単。といいますかブラウザの「ソースを見る」で見てみれば、どういうスタイルを適用すればあのサイドバーになるのかは一目瞭然です。詳細デザインで下記のようなdivブロックを追加してやればいい。
<div class="hatena-module"> <div class="hatena-moduletitle">ボックスのタイトル</div> <div class="hatena-modulebody"> 内容。 </div> </div>
簡単ですね。私は最近まで「あ、ブラウザでソースみればいいんだ」ということに気がつかなくて、なんだか無理矢理独自のCSSを書いて使ってました。ので情報共有しておきます。
2007-08-10
■[Java][java-ja][Wicket]java-jaの「第一回チキチキ そろそろ Wicket について一言いっとくか」に一言いっとくか
http://java-ja.yoshiori.org/index.php?%E7%AC%AC%E4%B8%89%E5%9B%9E
Abbyの敷居の高さに絶望してみたかった!!! くそう!! あ、Abbyはid:yone098さんの会社です。
あ、新入社員募集中だそうですが、よくわかりません。くそう。
nekopさんとid:yone098さんにDISられるのもそれはそれで。
あとスピーカーの皆さん、是非資料上げて下さい。お願いします。心から。
関連ブログ
- http://mesolabs.com/2007/08/11/java-ja-wicket/
- http://d.hatena.ne.jp/yone098/20070811/1186776981
- http://www.everes.net/2007/aug/11/java-ja-tikitiki-3-wicket/
- http://d.hatena.ne.jp/Isoparametric/20070810/1186758039
- http://d.hatena.ne.jp/Isoparametric/20070811/1186788109
- http://nekop.programmers.jp/diary/?date=20070811#p02
- http://www.rokujyouhitoma.com/javapg/2007/08/post_43.html
- http://www.eisbahn.jp/yoichiro/2007/08/wicket_7.html
- http://d.hatena.ne.jp/fron2007/20070810
- http://d.hatena.ne.jp/monjudoh/20070810/1186951098
- http://www.canetrash.jp/article/51258863.html
- http://yuubouna.wordpress.com/2007/08/13/big-picture-of-swf-and-wicket-event%E3%80%8Cspring-web-flow%E3%83%93%E3%83%83%E3%82%B0%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3%E3%83%BC%E3%81%A8%E7%A4%BE%E5%86%85%E3%81%AB%E3%81%82%E3%82%8Bwicket%E5%8B%89/
(以下発見次第更新予定)
以下はスピーカーの方の資料です。
よういちろうさんのページには、当日の録画映像(ustream)が置いてあります。
2007-08-03
■[Java][Netbeans][maven]Netbeans 6が突然落ちて、それ以降起動しなくなったら
,. -‐'''''""¨¨¨ヽ
(.___,,,... -ァァフ|
|i i| }! }} //|
|l、{ j} /,,ィ//|
i|:!ヾ、_ノ/ u {:}//ヘ
|リ u' } ,ノ _,!V,ハ |
/´fト、_{ル{,ィ'eラ , タ人
/' ヾ|宀| {´,)⌒`/ |<ヽトiゝ
,゙ / )ヽ iLレ u' | | ヾlトハ〉
|/_/ ハ !ニ⊇ '/:} V:::::ヽ
// 二二二7'T'' /u' __ /:::::::/`ヽ
あ…ありのまま 今 起こった事を話すぜ!
『Netbeans 6でXMLをいじっていたら突然落ちて、二度と起動しなくなった』
な… 何を言ってるのか わからねーと思うが
おれも 何が起こったのか わからなかった…
頭がどうにかなりそうだった…
ぬるぽだとかIllegalStateExceptionだとか
そんなチャチなもんじゃあ 断じてねえ
もっと恐ろしいものの 片鱗を味わったぜ…
恐ろしい....この仕様に気がつくのに二日を費やしたけども、分かったあとあまりの理不尽さにコードも付いていない真っ白なマウスを真っ白な壁に投げつけようかと思いましたよ。
私はJavaのコードを書く時は(最近はRubyでもちょっと)Netbeansを使ってます。多数派に背を向けたがる天の邪鬼なので、eclipse全盛期のいまならNetbeansなのです....といいながら3.6あたりから使ってますんで、単に気に入ってるだけかも。
先日、Netbeansが突然落ちました。
?????????
としか思いようがないタイミングで。なんかXMLをちまちま編集してたら落ちたんです。
とりあえず再度起動してみると.....まるでブラクラかと思う勢いでエラーダイアログが表示されて、まともに起動しません。起動したとしてもプロジェクト一覧も表示されず、メニューバーをクリックした途端に落ちます。
とりあえず冷静になってエラーダイアログの「Show Detail」を押してみる。なんだかMaven2プラグインでエラーが出ているっぽい。仕方がないので、まっさらな状態からNetbeans 6を起動して、再度Maven2プラグインをインストール.....落ちた。落ちたよ!!
そういや、前に落ちたのもmaven2プラグインを入れた直後だった気がする.....もしかしてmaven2プラグインがバージョンアップして、しかもバグ内包してたのか????
二日悩んで、突然Netbeansのvar/logsにmessage.logがあることを思い出す。いろいろ見ていると.....なんだかmaven2のsettings.xmlを読み込むのに失敗して、一部プラグインがロードに失敗→それに依存しているライブラリは全部ロードに失敗→連鎖的にNetbeansの環境も崩壊....という流れっぽい。
そう、最初に落ちた時にいじってたXMLファイルというのが、maven2のsettings.xmlだったんですね。repository定義を足そうとおもって、なぜかpom.xmlじゃなくてsettings.xmlをいじっていた。repository定義を消したら直った....
すごく恐ろしい仕組みですよね....エラーダイアログが出てmaven2プラグインが起動できませんでしたよ、ならともかく、netbeans自体がメタメタになってまともに起動しなくなるとは.....
なんだかデバイスドライバがメタメタでブルースクリーンなWindows NTとか思い出したよ。