コマンドで確認してみたRESTful#とは勉強会4
先日第4回目のRESTful#とは勉強会を開催致しました。
今回も時間いっぱい「webを支える技術」読書会をやりました。
前回の反省も踏まえ、休憩を入れましたが、やはり集中が最後まで続いて良かったです。
ところでこの勉強会、初心者向けとはちょっと言いがたくなってきましたね。
しかしながら、出来れば開発始める前に知っておいたほうがいい内容なので、初心者から~と幅広い層向けになってきたと思います。
既に練度が高い方からもこういう意見を頂けて嬉しいです。
HTTPメソッドで冪等性とか考えたことなかったから今日の読書会はすごい勉強になった
— Hiroyuki Morita (@chiastolite) 2015, 2月 10
やったこと
今回は「7章 HTTPメソッド」から読み進めました。
最初読むにあたり、川村さんより注意点や問題が出されました(素敵な試み!)
考えてみよう
POSTとPUTの使い分け (p.95)ただし PUT の場合、リソースの上書きを避けるためにクライアントで事前に URI の存在をチェックしなければならないかもしれません。
どうすればチェックできるでしょうか? チェックしなくてもすむ方法はあるでしょうか?
うちの班はこれに関して
#RESTudy リソースの存在確認、GETではやらない(GET後にリソース追加されることもあるので)。基本は直POST/PUTしてだめならその時にってかんじらしい
— Mai AISAKA (@mist_dev) 2015, 2月 10
こんな話になったのです。
@tkawaさんの正解は
HEADすれば存在はチェックできます。 さらに、例えば If-None-Match: * ヘッダをつけてPUTリクエストを送ると、「現在のリソースがない場合のみリソースを更新する」という意味になります。
HEADで確認するのか!ほほぅ
他に本には載っていないPATCHメソッドの話にもなりました。
PUTは丸ごと置き換え
POST、PATCHは部分追加
ブログを書くにあたり、PATCHを調べていたら、こんな記事が(…ってURL見るまで気が付かなかったけど、@tkawaさんのだった)
次期RailsがPATCHメソッドを採用 – ぶろぐ。@はてな
Railsの「リソース更新(updateアクション)」は多くの場合冪等ではないので、Rails4のデフォルトではPUTをやめてPATCH使うようにするという変更 / “Riding Rails: Edge Rails: PATCH i…” http://t.co/Dl7gCnq8
— Toru KAWAMURA (@tkawa) 2012, 2月 27
えぇーそうなんだ!?
PATCHに関しては次回やる冪等性を学ぶことが必要なようなので、理解が深まるのが楽しみです!
他にも個人的にずっと気になってた文字コードの種類の多さや、POSTでの2000文字の制限話など、疑問に思っていたことが聞けて良かったです。
詳細は恒例、@makopi23さん作、togetterをご覧ください(ありがとうございます )
2/10(火) 「RESTful#とは勉強会4」のTogetterまとめを作りました。編集自由です。http://t.co/jlWwAMC0Ty #restudy
— makopi23 (@makopi23) 2015, 2月 11
他にも前回も話題になったこの話
#RESTudy PUTとDELETEは何故入れないの?何年に1回くらい議論されている
— shokola (@shokolateday) 2015, 2月 10
今回もJxckさんのこの記事が再び!というか全班ツイートするというw
なぜ html の form は PUT / DELETE をサポートしないのか? – Block Rockin’ Codes
皆気になる内容ですよね。
このブログの調査記事、長いように見えて、読むとわかりやすくて本当に良いです。
今後の動向気になります。
次回に向けての重大なお知らせ
次回は、@tkawaさんからの問題、もうひとつの「考えてみよう」の「べき等性と安全性」までいってない班が多かったので、p.101から読み進めます。
更に、読書会の後、RESTfulなサイト作り~ウォーミングアップ編~を行います
やはり実践が一番身になりますからね。また、実際のサイトではRESTの規約ではこうするのが理想だけどこんな都合が~などの問題も出てくると思います。
実際のサイトを見て、どこがRESTfulか、どうしたらRESTfulなサイトになるか班で議論したいと考えています。
そこで
議論するためのサイトを募集しています。
個人で作成したものや、実際に運営している/していたサービス、動くものならOKです!
特定されたりするのが気になる…という方は、URLやサイトが特定されるツイートは禁止する等、考慮します。他にも何かあれば対応致します
このサービス使ってもいいよという方は、@shokolatedayか@tkawaさんへ。
もしくは#RESTudyをつけてツイートして頂ければ、メンション致します!!!
今回学んだ便利なhttpieをインストールして次回の実践に臨みたいと思います!!!
勉強会後にはおいしい沖縄料理を食べてつつ、テレホーダイ(テレホーダイ今もやってる模様!!!!)などADSLが開通するまでの苦労話など聞けて楽しかったです!
帰りに勢いで行ったラーメン屋のスープが終わっていて食べ逃すという悲劇が起こり、田ぶしのラーメン食べたかった食べたかった食べたかった食べたかった食べたかった…
ともに開催している@pupupopo88さんの後日…
田ぶし行ってきたげふー pic.twitter.com/8IlYvSOArm
— ぷぽ (@pupupopo88) 2015, 2月 13
…ひどい
また次回宜しくお願いします