Seasar Conferenceメモ

GWTのセッション(ひがさん)

  • GWTではサービスごとにServletが必要だが、slim3ではGWTServiceServletのみ登録しておけばよく、各サービスはPOJO(?)で作ればよい。
  • GWTの開発の流れは、?モジュールを作る、?エントリーポイントを作る、?HTMLを用意する
  • HostedModeでテスト このときはJavaのコードのまま。eclipseデバッグ機能が使える。
  • Webモード JavaコンパイルされてJavascriptで動く
  • JSNI Javascript Native Interface => これが原理
public native void sayHello(String str) /*-{
  Javascriptのコード
}-*/;
  • コンパイルするとJavascriptのコードを含んだHTMLができる。ビルドのたびにMD5ハッシュ値がついたファイル名で作成されるのでキャッシュされずにすむ。
  • GWTは各ブラウザごとのJSコードを吐き出している。(処理内に分岐が無いためシンプル&高速)
  • slim3GWTではモデルを共有することができる。(sharedディレクトリ内に作成される.)

BigTable脳 (ひがさん)

  • エンティティの値ごとにインデックスが自動的に作られる(DataStoreがやる)
  • Single Property Index = Kind + Property Name + Value がインデックスのキー、テーブルの"キー"が値となっているインデックスと考えるとわかりやすい。
  • Composed IndexはXML定義で作成できるが使わないほうがいい
  • slim3ではプログラム側で "filter"を実行する便利メソッドを用意している(filter: SQLでいうwhere句)
  • BigTable側で全部できないfilterの組み合わせはばらしてプログラム側でやる。
  • Daoクラスにロジックは押し込めるのがよさそう
  • Joinもプログラム側で (HashSet#addAll)