第2回RESTful勉強会を開催してみました(後編)

2014年12月9日火曜日 ぷぽ

こんにちは。フルなんちゃら総務のぷぽです(・ω・)ノ
早速ですが、前回の記事 第2回RESTful勉強会を開催してみました(前編) の続きです! 勉強会の後半は、@t_wadaさんにURL設計についてお話しいただきました。

まず「RESTは麻疹である」というインパクトのある言葉から始まりました。(どういうことですか)自己紹介では「ネット上ではテスト書かないとライオン出てくる人として知られています」と参加者の心を鷲掴み!さすが和田さん、掴みも素晴らしいです(`・∀・´)



以下、特にハッとしたところを簡単に。
  • Loginは動詞っぽいけど、実は「Log」と「In」を合わせたもの
    • そもそも英単語として存在しない
    • あまりにも一般的なのでしょうがない感
  • URI設計は名前を探す作業のウェイトが大きい
    • 和田さんは類義語辞典、英英辞典をよく使用しているとのこと!
  • URLには「リソースの意味」と「クライアントの意思」がある
    • ?以降(クエリ)は、クライアントがそのリソースをどうしたいか、どう表現したいか
      • 地図の場合、縮小や緯度経度など
  • 場合によってはステータスコードを意図的に変えた方がいいこともある
    • 「アクセス権限がない(403)」=「権限はないけれどリソースはある」ことがバレてしまう
    • (そういえばGithubのプライベートリポジトリも、権限なかったら404エラーで返している)
  • クライアントに原因があるときは400系、サーバ側に原因があるときは500系
    • サーバ「正直すまんと思ってる」
あと、なんと言ってもこの3つが非常に心に響きました!

リンクやフォームのよってのみ、画面の状態を変える。それがWebの世界の仕組み。ユーザーに直接URLを打ち込ませたり苦労をかけてはいけない。
 「ユーザーに苦労をかけてはいけない」という その言葉にハッとしました(いろんな意味で)
Webはサーバーから返ってくるものにリンクが含まれており、ユーザーはそれを選ぶ事が出来る。そういう仕組み。 私たちはそういう世界にいるのだから、その世界の流儀に合わせましょう。 
かっこいい...。私もWebという流儀にしっかり沿いたいと思いました。


時代がこうである=思考停止している状態
これはやりがちです。Angular.jsはちょっとアレとか、RVMよりrbenvがイマドキっぽいとか、 雰囲気でとらえてしまっているので、実際に使ってみることも大事だなと思いました。


そして最後にまた「RESTは麻疹である」のスライドが表示され...

かかった後はすごい事になるんですけど、自分はいいURL設計できているということですよ
そういう意味かー!とすっきりしました(´ω`)
前回、いろんなことに気を取られて、内容自体に集中できなかったと書きましたが、 今回は2回目ということもあり、割とスムーズに事が進みました。お陰様で、8割...いや、9割くらいは参加者側として楽しめました!学べたこともかなり多く、懇親会も含めて最後の最後まで楽しむことができ、帰った後も充実感でいっぱいでした(*´ω`*) 和田さんをはじめ、ご協力・ご参加いただいたみなさま、本当にありがとうございました!
駅すぱあとの会社なのに、またも終電を逃したことは言うまでもありません
こんな豪華な勉強会を開催するに至った経緯など、是非主催者shokolaさんのブログも合わせてご覧ください!