rest
9月18日の RubyKaigi 2014 (1日目) で “Hypermedia: the Missing Element to Building Adaptable Web APIs in Rails” というタイトルの発表をしました。 Hypermedia: The Missing Element to Building Adaptable Web APIs in Rai… from Toru Kawamura 時間オ…
RubyKaigiの発表のために考えていたのですが、発表本編に詳しく入れられなくなりそうなので、まとまりないですがブログに書いてみます。SOAPでいうWSDL(Web Service Definition Language)のような、サービスのインタフェースを定義・記述するためのしくみを…
mozaic.fmでRESTの回が企画されているということを、API Meetup #1 のときに yohei さんから直接聞いていたのですが、ついにそれが公開されたので、喜び勇んで聴きました。 mozaic.fm #7 REST 断片的に感想をツイートしたので、そのまとめです。 RESTの何が…
4/12(土)の夜に『RESTful Meetup vol.3』を開催しました。 RESTful Meetup vol.3 - Sendagaya.rb | Doorkeeper 昨年の記事の通り『RESTful Web APIs』の読書会を月2回ペースで開催してきましたが、その後、著者のMike Amundsen(@mamund)さんから、ワークショ…
春ごろからずっと待っていた“RESTful Web APIs”がようやくリリースされたので、10/10に第1回の読書会を開催しました。 よく行くShibuya.rbや、主催のひとりであるSendagaya.rbで告知したので、Rubyを使っている方が中心でしたが、PHPやPerlを使っている方も…
Devise便利ですよね。簡単にリッチな認証機能がつくれます。 # config/routes.rb devise_for :users new_user_session GET /users/sign_in(.:format) devise/sessions#new user_session POST /users/sign_in(.:format) devise/sessions#create destroy_user_…
RubyKaigi 2013 の最終日、6/1に「Rails Gems realize RESTful modeling patterns」というタイトルで発表させていただきました。 Rails Gems realize RESTful modeling patterns from Toru Kawamura Ustream RubyKaigi Channel 2相変わらずコードの実例に乏…
リスト操作といえば昔からActsAsListが定番ですが、「上に移動」「下に移動」のリクエストをどのようなURLで実行していますか? http://blog.takuyan.com/blog/2013/02/19/consideration-of-how-to-operate-the-list-on-rails/ この話を今週のSendagaya.rbで…
「RailsにおけるRESTfulなURL設計勉強会」で、僕は「リソースモデリングパターンの提案」という発表をさせてもらいました。はてブなどではいいコメントをいただいていてありがとうございます。 リソースモデリングパターンの提案 #sendagayarb from Toru Kaw…
きっかけ window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; …
だいぶ前に「次期RailsがPATCHメソッドを採用」という記事を書いて、 ただし、上記ではPATCH採用のもう1つの理由である「リソースの部分更新」あたりの説明をあえて省略しました。これはちょっと個人的に思うところがあるからです。という感じなのですが、こ…
@tyabe さんに声をかけていただいて、18日のShibuya.rbでREST関連の話をさせてもらいました。 Shibuya.rb には前回のDeNAでの開催のとき初参加で、今回が2回目だったのですが、会場のAJITOはとても雰囲気がよくていいですね。ビールやドリンクがフリーなのも…
先月、Railsのブログにこんな記事が載りました。 http://weblog.rubyonrails.org/2012/2/25/edge-rails-patch-is-the-new-primary-http-method-for-updates/ なぜか当初とURLが変わっているようで、ブックマークは Edge Rails: PATCH is the new primary HTT…
「RESTとRailsスタイル]」のときに、@shu_0115さんから「複数同時に書き込みたいときはどうするか」という質問がありました。これは実用上はなかなか重要な点だと思うので、少しまとめます。 親子関係のリソースを更新 例えば /users/123 と /users/123/prof…
今回は直接Railsとは関係ないのですが、先日こういうページを見つけました。 http://redrata.com/restful-uri-design/ これは2009年に書かれたもののようですが、URL設計に関する重要な考え方がいろいろ書かれています。 その中に、このブログのシリーズの(4…
URL設計の前段階として、とても大切なのがリソース設計です。そのWebアプリ・Webサービスで何を提供するのかが決まる部分だからです。しかし、なかなかリソースという概念が定着していないようなので、Railsで採用されているパターン*1を例に挙げて紹介して…
今回は、URLのスラッシュはどのようなときに使えばいいのか考えてみました。 resourcesのネスト URLはスラッシュ「/」で階層構造を表します。Railsでは、routes.rbでresourcesをこのようにネストして使うと、 resources :users do resources :articles end …
今度は「Rails3 失敗から学ぶDevise利用時のURL設計 - 130単位」のコメントをきっかけに考えてみました。 routes.rbの書き換え 新規登録のときに確認画面や完了画面がほしいという場合はよくあります。 もともと match 'user_entry/profile' match 'user_ent…
前回の「RailsでのfavoriteのURL設計」が思いがけなくそこそこ見てもらったようなので、いろんなパターンのURL設計を考えてみるシリーズをやってみたいと思います。(続くかどうかは未定) こんどはMioからは離れて、といってもほとんど同じようなものですが…
http://d.hatena.ne.jp/r7kamura/20110505/1304577667がすごいなと思って、routes.rbの書き方の例についてコメントしたのですが、自分で書いておいて後で「unfavorite」はちょっとまずいかなと思ったので、favorite(いわゆるお気に入り、スター)はどういう…