Seasar Conference 2009 White に行ってきました。

午前中に横浜でサッカーの大会があって、
決勝トーナメントまで進んだので行くのが遅れ、
3時からの講演しか聴けませんでした。

Web標準コンテンツ作成ソフトPirka’rの紹介

  • Pirka’r
    • ピリカルと読むらしい。
    • アイヌ語で良い道という意味。IPAで採択されたプロジェクトだそうです。
  • やってること
    • ブラウザ間の差分とか。
    • 互換性の高いWebコンテンツって?
      • HTML
      • CSS
      • JavaScript
    • ブラウザ互換性チェック
      • IE,FF,Safari,,,
      • 三菱総合研究所で初期データ:100件
    • 標準準拠チェック
      • CSS2.1に準拠しているか?
    • マルチブラウザレビュー
      • ピリカルの実行環境上で、複数ブラウザによる閲覧
    • 自動レンダリング機能
    • 多機能エディタ
    • シンタックスハイライト
      • コード補完
      • 構文チェック
  • デモ
    • Eclipse上に複数の種類のブラウザをエミュレートしてーみたいな感じ
  • ~中略~
    • 記憶がない・・・朝早かったからな。。zzz
  • YukataWisdom
    • コードをサーバに収集して開発者が好きなように。
  • Irenka
    • Javaコンパイル時にソリューション

全部まとめてHOTdeploy

  • HotDeployの話
    • 普段、キャストエクセプションが出たりとか、どこまでがHotDeploy対象?とか、
    • よくわかんない部分があったので、一番期待してたセッション。
  • Javaで再起動しないで変更させるもの
    • Seasar
      • リクエストごとにクラスローダーを作る
      • HotDeployをするためのクラスローダー
    • JavaRabel(オープンソースじゃない)
      • 変更を察知してバイトコードを修正
  • SeasarのHOTdeploy
    • 会場内アンケート的にはハマったことある人の方が多い
    • HotDeployの対象は?

     —-
     BOOT
      ↑
     Tomcatとか
      ↑
     アプリ
      ↑
     リクエスト←HOTDeployの対象
     —-

    • キャストエクセプションが出る理由
      • クラス名が同じでも、違うクラスと解釈
      • リクエストよりもスコープが長いオブジェクトは要注意ってことで。
    • アウトオブメモリも出たりするらしい
      • インスタンスがセッションとかで保存されてると
      • いつまでも解放されずに・・・
  • HOTDeployのウソホント
    • JavaRabelはSpringの再起動がいるから使いものにならない?
      • Springの再起動は早い。S2より起動早い。
      • S2はシングルトンでオブジェクトを起動にブワーっと作るから遅い。
      • その分、処理はSpringより早いはずっていう。
    • JavaRabelはメソッドの呼び出しごとにクラスの変更をチェックしてるっぽい。
      • リクエストのたびに全コンポーネントをもってきてるわけではなさそう。
    • S2でも子や孫が多いと20秒とかかかるときがある
    • S2JDBCでジョインしたEntityが不正とか言われることがある
    • リフレクション情報をキャッシュしたりしてもNG
    • ライブラリでそういうのあったりするし。
  • HOTDeploy実装の難しさ
    • クラスローダー型
      • キャッシュしちゃだめ
      • キャッシュのクリア実装が必要
    • セッションの中身はどうする?
      • シリアライズ/デシリアライズとか
  • SeasarのHOTDeployは難しいと思う
    • 問題が起きた時のキリワケが難しい
  • メリット/デメリット
    • Seasar2のメリット
      • パフォーマンス。圧倒的。
    • Seasar2のデメリット
      • 設定ファイルなどHOTDeploy対象外。
      • シングルトンとかのクラスは起動時のみ。
      • 開発者がクラスローダーを意識しないといけない
    • JavaRabelのメリット
      • トラブリにくい。基本再起動してるので。
    • JavaRabelのデメリット
      • 設定ファイルは無理。
      • 親クラスやインタフェースは変えられない
      • バイトコードエンハンストだからね。
    • 両方のデメリット
      • SeasarもJavaRabelもプロダクトが出てきたごとに、
      • 対応しなきゃいけない。。
  • で、kimu-reloadable
    • なんでも変更されたら反映。セッション情報は引継ぐ(自前でシリ/デシリ)
    • 使い方は割りと簡単
      • classesとlibを/dev/に移動。
      • kimu-reloadable.jarを追加。
    • 概要
      • ファイルが変わったらクラスローダ作り直し
      • ServletとFilterは再起動(変更がなければ早い)
      • セッションは自前でシリアライズ・デシリアライズしてくれる
      • 全部のクラスが同じクラスローダなのでキャストエクセプションが出ない
    • 悩まなくていい。Servlet・Filterの再起動があるのでちょっと遅いかもね

ライトニングトークス

  • こんぴろさん
    • デスクトップアプリでビヨっとやったら、Tracに連携されたり。
    • リッチクライアントにはおいしいWebサービスが沢山出てきたね的な。
  • 小原さん
    • オープンソースのコードを見るとモテるらしい
    • メッセージmessageがマッサージmassageになってるとか、
    • ApacheのHTTP系のクラスで、俺はこんなもの作りたくないよ~的な
    • コメントが20行くらい書いてあったり。(uglyhacksとか書いてあった)
  • 三上さん
    • フィクションを自分の事のように語ってくれました
  • HappyRyoさん
    • S2Config
    • いや、これ、使いてー
    • warを作り直さなくても、サーバ上のファイルをDIしてくれる的なもの。
  • 橋本さん
    • エクセルを使ってポン!
    • これも熱い。
    • エクセル書いたデシジョンテーブル(分岐の条件を記載するときに自分は使っています)から
    • ソースコードを自動生成してくれる。
    • booleanとか戻り値の型は指定できないんでしょうか?
  • Yoshiori
    • よく見かける髪の毛赤い人
    • Eclipseのプラグイン入れておくと、どの拡張子ファイルをどれくらいの割合で
    • いじっているのかを可視化できるツール
    • Outputzはサイボウズラボのサービスらしい
  • ソフトバンククリエイティブの人
    • リャマ本の紹介から、出版業界的なこと。

本のプレゼント

  • 一冊も当たらず。
    • Eclipseで学ぶはじめてのJavaは持っているのだけど全然活用してない。
    • そしたら、デモが始まって、英語の辞書を内包してるからスペルミスを教えてくれたり
    • ふかーい分岐とかはポイント表示してくれる。
    • 月曜日会社に持っていって、仕掛けよう。
Eclipseで学ぶはじめてのJava
木村 聡
ソフトバンククリエイティブ
売り上げランキング: 104176
おすすめ度の平均: 3.5

1 クラス名を日本ですか
1 タイトルに偽りあり
4 内容は素晴らしいが例え話が微妙
4 Eclipseの情報をもっと
5 初心者&Macユーザの視点からコメントします。

Seasar2入門
Seasar2入門

posted with amazlet at 09.03.15
ひが やすを
ソフトバンククリエイティブ
売り上げランキング: 16827
おすすめ度の平均: 4.0

4 Java の開発も簡単になりましたね。。。

コメント

タイトルとURLをコピーしました