« 配置図から非機能用件を類推する | トップページ | 三項演算子?:の正しい書き方 »

2008/03/15

【感想】第24回Ruby/Rails勉強会@関西

第24回Ruby/Rails勉強会@関西へ行ってきた感想を書く。

【1】REST思想が解決しようとするもの

moriqさんの講演。
REST思想をアーキテクチャの観点から非常に丁寧に深く解説してくれて、かなり概念が整理された。

Webシステムの特徴のひとつは、デプロイが独立していること。
つまり、クライアントのVerUpは、サーバーは無関係であること。

Railsの弱点は、デプロイにあると思う。
おそらく、JRubyがそれを解決してくれるはず。

REST思想のモチベーションは、セッションを汚さないこと。
できるだけ、画面の状態は、URLが指し示すリソースで持つ。
GET、POSTだけでなく、HTTPメソッドにあるPUT、DELETEを使って、セッションで保持しなくてもいいようにする。

少なくとも、注文ボタンの2度押し問題は、POSTメソッドでなく、PUTメソッドを使えば解決できる。
PUTメソッドは冪等の性質を持つので、1回以上の操作後の結果は全て同じだから。

しかし、ストヤンが指摘したように、RESTで全ての問題が解決するわけではない。
戻るボタン対応は、RESTでは、戻る遷移専用のURLを作る必要がある。
それは面倒で根本的な解決ではない。

戻るボタン対応は、結局、Continuationつまり、継続サーバーを使わないと解決できないと思う。
継続の概念があれば、画面操作がログインチェックで中断されても、スタックに保持した操作で画面を復元できる。
正常処理ならいつでも操作の途中から開始できる。

REST思想と継続サーバーの概念は全く別だ、と帰路の電車でストヤンが力説してくれた。
ストヤンが言うには、TCP/IPプロトコルそのものが限界にあり、SCTPみたいなプロトコルが必要じゃないかと指摘した。

僕はその意見が絶対正しいと思っていない。
REST思想はまだ不十分だけれども、無駄なセッション管理をなくす方向でWebアプリを単純化しようとしている。
Webアプリがステートレスである限り、その方向性は性能も考えると正しいと思っている。

【2】Railsとアジャイル開発

かわばたさんの講演。
Railsで構築したSNSと、現場でのアジャイル開発のお話。

Tagawaさんが、Railsのテスト駆動開発では、フェイクしたモックオブジェクトを使って開発することはないのか?という質問をしていた。

Railsに限らず、最近のシステム開発は、モジュール単位にプログラマをアサインして分業化するやり方ではなく、機能単位でプログラマが担当する。
つまり、1機能に必要なモジュールをプログラマが全て作る。セル生産のイメージに近い。
その意味では、プログラマの責任が大きくなっている。

プログラマはアーキテクトでもある。

【3】FlexとRubyの意外と親しい関係

FlexUG大阪のhirossyさんの講演。
Ruby関西の人は殆ど、Flexを知らなかったらしい。

デモでは、Webカメラで写した画面を触るとポッと反応するアプリをする予定だった。

興味深かったのは、RubyAMF の話。
動画などの情報をAMF3(Action Message Format 3 )という直列化されたバイナリ形式でサーバーとクライアントをやり取りする。
この時、クライアントはFlex、サーバーはRubyで、そのインターフェイスをAMF3であるアーキテクチャ。
この形式ならば、Flexクライアントは、サーバーのAPIをコールするだけで欲しい情報を取得できる。

ストヤンが話すには、FlexはAjaxよりも良い。
理由は、Flexの方がはるかにリッチなUIを作りやすく、更に、動画などのストリーム情報も加工や表示がやりやすいから。

更に帰路の電車でストヤンから、Flexは元々Flashから来たからデザイナーがプログラミングできる。
リッチなクライアントUIはデザイナーに任した方が、いいものが作れるよ、と。

確かに、Ajaxを使った場合、Viewをデザイナーもプログラマも触ることが多い。
だから、デザインをマージする時など、ソース管理がどうしても面倒になる時がある。

個人的には、ユーザ向けWebアプリはAjax、バックエンドの業務アプリはFlexかAirが現在はベストなWebシステムじゃないかと思う。

今回は色んな発表が聞けて楽しかった。


|

« 配置図から非機能用件を類推する | トップページ | 三項演算子?:の正しい書き方 »

プログラミング」カテゴリの記事

コミュニティ」カテゴリの記事

コメント

Gomeeeen, my mistake. The protocol was SCTP, not STCP: http://www-128.ibm.com/developerworks/linux/library/l-sctp/?ca=dgr-lnxw01SCTP

投稿: Stoyan Zhekov | 2008/03/16 01:58

ストヤン、Thanks!
直しました。

投稿: あきぴー | 2008/03/19 00:47

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: 【感想】第24回Ruby/Rails勉強会@関西:

» [Ruby][Rails]戻るボタンと「継続」 [winplusの日記]
第 24 回 Ruby/Rails 勉強会 でのmoriqさんの発表が非常におもしろかったので、RESTというアーキテクチャについて少し考えていました。そのとき参照した以下のサイトで、戻るボタンと「継続」について触れておられるところがあったので、思うところを書いてみます。 プログ... [続きを読む]

受信: 2008/03/21 22:29

« 配置図から非機能用件を類推する | トップページ | 三項演算子?:の正しい書き方 »