restrant.js 20130720
TRANSCRIPT
サーバとクライアントの繋ぎを簡単にする(つもりの)
Restrant.jsの話サークルアラウンド株式会社 佐藤正志
13年7月20日土曜日
• PGHouse豪徳寺 最年長(プログラミングを学び合うシェアハウス)
• 「仕事と生活がもっと近づいたら楽しい毎日が過ごせるか」検証中
• いつか島を買って仲間と楽しく仕事します
自己紹介•代表取締役CEO兼CTO
•契約社員・フリーランス等で技術者として活動し、2012年5月起業佐藤正志
13年7月20日土曜日
こんなことありません?
$.ajaxする時にホントにその通信が動くのかチェックする作業が嫌。POSTとか得に。
分業してシステムを作った時に「疎通」の部分でよくバグが起きてる
ユニットテストでチェックする?そこまで作り込むのか?
13年7月20日土曜日
こんなのが欲しい
Remote Procedure Call(あったらしい)
SOAP(あったねーそんなの)
WEBサービス作る時にオブジェクトをネットワークに公開して呼べる。呼び出すStubは自動生成で作る。
13年7月20日土曜日
こうすればやれるよね
ブラウザサーバー
Controller
Stub
こいつを自動で作ろう
Stub.js
Controllerに合致するStubクラス
13年7月20日土曜日
そこまでの道のり
13年7月20日土曜日
URLはどんな?
RoRのRoutesってクールだよね!
あそこを見るだけでどんなURLがあるか一発で解る。
将来RESTっぽい実装作りやすいライブラリになったら良いよね!Restrantとかつけるか
13年7月20日土曜日
もっと厳格なパターン
URLだけではなくて、リクエストパラメータもパターンに加えたい。
/xxx/yyy vs /xxx/yyy?type=:type
POSTパラメータもパターンに加えたい
/xxx/yyy?username=:name(?以降がPOSTパラメータ)
13年7月20日土曜日
もっと厳格な型チェック
Routeのパターンに型も含めてしまえば?(Integer、Floatのみ実装)
/xxx/yyy/:ttt:Integer
13年7月20日土曜日
スタブでもチェック
動かない原因の殆どは引数間違えてるとか、指定忘れているから。
通信する前にチェック
少なくとも引数undefinedくらいはチェック
ホントはもっとやりたいけど...
13年7月20日土曜日
JSのソース?
ここは頑張って書いた。
他が出来上がっていれば下記をまとめるだけ
$.ajaxするソース
コントローラと同名のクラス
入力チェック系
13年7月20日土曜日
node.js用
Expressと一緒に使っています
多分middlewareに詳しくなればもっと融合させられるはず(詳しい人教えて下さい)
13年7月20日土曜日
デモ
デモしまーす。下記を見て欲しいです。
今の動き
Routeのソース
コントローラーのソース
JSのファイル
13年7月20日土曜日
今やってること(1)
Backbone.jsに簡単に繋げるようにしてみている。
RESTの内容をModel.syncのデフォルトの仕様に合わせてあげるだけ。
意外に簡単だった(多分できた)。
13年7月20日土曜日
今やってること(2)
MongoDB(Mongoose)のモデルからスパーッとRESTFulできるようなやつ作りたい
現実やろうとするとそんなに綺麗にゆかない。セッションから値取ってきたり…
やはりコントローラまでを相手するのが良いかも。
13年7月20日土曜日
デモ(2)
今やってるとこのデモ
13年7月20日土曜日
細かいけどやりたいこと
/xxx/yyy/aaa[a-Z0-9]+
とか書けたらいいなー(とは思っているのですが切羽詰まっていないのと費用対効果がそんなに良くないので後ろのタスクです)。
13年7月20日土曜日
最初の実装はJava
restrant-j(https://code.google.com/p/restrant-j)
最初はJSのスタブは無かった。今はある。
GAEなんかで動かしていた
2010/6/21が初コミットらしい。
13年7月20日土曜日
一応宣伝こんな仕組み作って自社アプリ作ってます。
ライブラリ・フレームワークでもっと生産性上げてけると嬉しーなーと思ってます。
お気軽に声かけて下され。技術的には以下のような。
Node.js
HTML5&CSS3
13年7月20日土曜日
以上です
ありがとうございました。
13年7月20日土曜日