4月24日(金)に、BPStudy#20が開催されました。
第1部は矢野勉(id:t_yano)さん、第2部は、小泉守義さん(id:moriyoshi)にMCをご担当いただきました。
週末にも関わらず42名の方々にご参加いただきました!
誠にありがとうございます。
まず、第1部は矢野勉さんによるWicket。WicketとはApacheプロジェクトで開発されているWeb層のアプリケーションフレームワークです。説明はWicketの概要的な説明から始まり、コードを中心に説明が進められました。
以下は、矢野さんの説明から私がメモした点をとめどなく書きます。
Wicketの特徴として、以下の点があげられる。
・JavaとHTMLだけで開発が完結する
・オブジェクト指向で開発できる
・オブジェクトは状態を保てる。モデルが値のある場所を知っている
ページ→コンポーネント→モデル(データのありかを知っている)
・プッシュからプルへ
手続き型のプログラミングになりがちな、リクエスト・レスポンスの概念を排している
・ロジックとデザインの分離
HTMLをブラウザで開くと、ほぼ実際のイメージで表示を確認することができる。
・ページ・アクセスウィンドウ(ブラウザのタブ)ごとに状態を持つことができる
矢野さんに用意していただいたサンプルはわかりやすく、どのように開発を進めて行けばよいのかその場で理解することができました。わかりやすいというのもWicketの特徴なのでしょう。
私が理解した開発手順
・HTMLを書く。
・HTMLにマッピングしたページクラスを作成する(extends WebPage)。
・HTML上の部品(form、ボタンなど)に対応したコンポーネントクラスを書く
・ページクラスのコンストラクタで、コンポーネントクラスのインスタンスをページクラスにaddする。
※今更気になった点。ページクラスを作成する粒度はどう設計するのが良いのか。
HTMLに対して作成するのか、ユースケース(入力→確認→完了など)に対して作成するのか
デモで興味を惹いたのは、ブラウザのウィンドウごとにアクセスカウンタ値を保持するサンプルでした。
同一ブラウザ上で、2つタブを広げ、同じページにアクセスした場合にどうなるかというデモでしたが、答えは別々のアクセス数となるでした。同一ブラウザ上なので、クッキーは共有されているので同じ値になるのかと思ったら、Wicketによりウィンドウごと(ブラウザのタブごと)に、アクセスを管理しているのでそのようなことができるそうです。
Ajaxのサンプルもシンプルで分かりやすくて簡単に使用することができそうなイメージがわきました。
今回の説明を聞いていてWicketで開発がしたくてうずうずしてきました。
edge2.ccで私は、Google App Engine for Javaでアプリをつくる担当になってるので、Wicketを導入してみたいと思います。WicketはGAE上でも動くとのことです。(ページの状態を保存する際に、BigTableに保存されるそうです)
Wicketに関する基本的なことは、矢野さんが書かれたこのページがとても参考になります。
そして、第2部は、小泉さんによる仮想化。まずは、仮想化のレベルごとのメリットデメリットの説明。
・ファイルシステムレベルの仮想化
・OSレベルの仮想化
・プラットフォーム準仮想化
・プラットフォーム完全仮想化
レイヤーの図がとてもわかりやすく、直感的に理解できました。
次に仮想マシンのデプロイを抽象化し、自動化ツールのlibvirtの紹介がありました。
最後に、実際にデプロイのデモがある・・・はずでしたが、自宅のIPが変わってしまいアクセスできなくなってしまったとのことで、またのお楽しみとなりました。研究が進んだところで、またさらに内容を深めて発表してくれることでしょう。
今回の内容のまとめは、ご参加頂いた方のブログもどうぞ。
ゆろよろ日記 BP Study #20に行ってきました。
文殊堂 BP Study#20 Wicket For Biginners
懇親会には、23名の方に出席いただきました。
直前で人数が増えたため、会場の店を2つ予約するという事態になりました。
懇親会にご参加いただいた方々、週末でしたが、夜遅くまでお付き合いいただきありがとうございました!
いろいろお話ができて楽しかったです。次回はもっと早めにいろいろテーブルを回り、いろいろな方とお話ができればと思いました。
あと、勉強会の反省点として、人数が増えたため、席の配置がセミナーっぽくなってしまい、途中で質問等を入れにくい雰囲気になってしまったかなと思っています。活発な意見が引き出せるような席配置と当日の誘導(最前列が空きがち)を考えたいと思います。
今回のBPStudyは、第20回の記念開催にふさわしい充実した内容となりました。
矢野さん、小泉さんありがとうございました!
BPStudy#21は、5/22(金)に開催されます。
今年の目標101エントリーまであと73