SlideShare a Scribd company logo
RESTful #とは 
RailsスタイルからRESTを学ぼう 
2014.10.30 Ruby Children #RESTudy
@tkawa 
• フリーランス Ruby/Rails 
プログラマ 
• Technology Assistance Partner 
at SonicGarden Inc. 
• REST厨 (RESTafarian) 
• Sendagaya.rb 共同主催 
• “RESTful Web APIs” 
読書会主催
今日の内容 
• RESTって何?なぜ?どうすれば? 
• Webのしくみ(ざっくり)とRails 
• Railsスタイルで作る 
• 質問タイム 
「Webアプリを作る」観点の話が中心ですが 
「Webアプリを使う」観点にも役立ちます。
REST
RESTって何? 
• Webの「建築様式」(Architectural Style) 
• ざっくりいうと 
• Webのしくみを形作るための大枠に 
なる取り決め(制約) 
• Webが成功している理由の1つ
“REST”の枠に入るのが 
Webのパーツ 
HTML 
HTTP 
URL 
REST 
Web{ 
JSON w/ 
Hypermedia 
CoAP
ちなみに 
• REST:名詞 
RESTful:形容詞 
• RESTful=「RESTな」 
「RESTの性質を持つ」
なぜREST? 
Webアプリを作るときは、 
「RESTにしたほうがいい」とよく言われるけど… 
• Web (URL, HTTP, HTML) の特長を十分に 
活かせる 
• 人間とソフトウェア(自動処理)の 
両方に優しい 
• シンプルな設計の指針
どうすればREST? 
• 抽象的な言葉なので、使う人によって 
意味が違って伝わらないことも… 
• 具体的にはどうすればいいの?
RESTを学ぶには 
Webを学ぶことから 
• Webのルールに従う 
• URL, HTTP, HTML をよく知って、 
正しく使う
Webのしくみ
HTTPとURLを中心に 
ざっくりと説明します 
HTML 
HTTP 
URL 
REST 
Web{
ブラウザ
1. 
2. 
ブラウザWebサーバ 
1. ブラウザからWebサーバへリクエストを送る 
2.レスポンス(HTML, CSS, JavaScript, JPEG,...)を返す
RESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼう
重要なのは 
• URL 
• リクエストメソッド 
• ステータスコード
1. 
2. 
ブラウザWebサーバ 
URL, リクエストメソッド 
1. ブラウザからWebサーバへリクエストを送る 
2.レスポンス(HTML, CSS, JavaScript, JPEG,...)を返す 
ステータスコード
1. 
2. 
ブラウザWebサーバ
URL 
https://twitter.com/tkawa 
http://rubychildren.doorkeeper.jp/events/15974 
• Web上に存在する「モノ(情報)」の名前 
(「モノ」のことをリソースと呼びます) 
• ブラウザのアドレス欄に表示される 
• シンプルで意味のわかるものがよい
よちよち.rbのwikiに新しくページ作りたいん 
だけど、どうすればいいんだっけ?
よちよち.rbのwikiに新しくページ作りたいん 
だけど、どうすればいいんだっけ? 
GitHubのトップの検索ボックスで 
「yochiyochirb」で検索してください。 
そこから上のほうの「meetups」を押して、 
右上の「Wiki」を押して、さらに右上の 
「New Page」を押してください。
よちよち.rbのwikiに新しくページ作りたいん 
だけど、どうすればいいんだっけ? 
https://github.com/yochiyochirb/meetups/wiki/_new
POST https://github.com/yochiyochirb/meetups/wiki
リクエストメソッド 
GET 
取得 
POST 
作成 
PUT 
更新 
DELETE 
削除 
基本的にはこの4つだけ!! 
例えば「ログインする」という操作はない 
※Create, Read, Update, Delete の頭文字からCRUDとも呼びます
リクエスト 
GET https://github.com/yochiyochirb/meetups/wiki 
POST https://github.com/yochiyochirb/meetups/wiki 
PUT https://github.com/yochiyochirb/meetups/wiki 
DELETE https://github.com/yochiyochirb/meetups/wiki 
メソッド 
URL 
「どうする」動詞「モノ」 
名詞
GET http://example.com/users/show/123 
POST http://example.com/users/create
GET http://example.com/users/show/123 
GET http://example.com/users/123 
POST http://example.com/users/create 
POST http://example.com/users
ステータスコード 
• リクエストに対するWebサーバからの 
結果を伝える 
• 成功・失敗とその理由 
• 3ケタの数字(+対応する説明)
• 200番台: 成功 
• 200 OK 
• 300番台: リダイレクト(URLが変わった) 
• 301 Moved Permanently 
• 400番台: クライアントが原因のエラー 
• 404 Not Found 
• 500番台: サーバが原因のエラー 
• 500 Internal Server Error
RESTを学ぶには 
Webを学ぶことから 
• Webのルールに従う 
• URL, HTTP, HTML をよく知って、 
正しく使う 
• しかし、それでもまだ自由すぎる 
• URL, HTTP, HTML をどう使えばいいの?
RESTful #とは RailsスタイルからRESTを学ぼう
Railsスタイル 
• RESTに沿っていて、さらにより具体的 
な設計のパターンを提示している 
• 今のところ成功している(!) 
• Rails以外で作るときにも使えばいいよ 
ね
GET http://example.com/users/show/123 
GET http://example.com/users/123 
POST http://example.com/users/create 
POST http://example.com/users
GET http://example.com/users/show/123 
GET http://example.com/users/123 
POST http://example.com/users/create 
POST http://example.com/users
Railsスタイル
GET POST PUT DELETE 
/user
http://d.hatena.ne.jp/tkawa/20140923 
http://d.hatena.ne.jp/tkawa/20140923/p1 
http://baseball.example.jp/leagues 
http://baseball.example.jp/leagues/central 
http://railsapp.example.com/users 
http://railsapp.example.com/users/123
http://d.hatena.ne.jp/tkawa/20140923 
http://d.hatena.ne.jp/tkawa/20140923/p1 
http://baseball.example.jp/leagues 
http://baseball.example.jp/leagues/central 
http://railsapp.example.com/users 
http://railsapp.example.com/users/123 
/[まとまり]/[名前,, 番号]
GET POST PUT DELETE 
/users 
/users/123
GET POST PUT DELETE 
/users index create - - 
/users/123 show - update destroy 
GET /users/new → new 
GET /users/123/edit → edit
もう一度 
リクエスト 
レスポンス 
• URL 
• リクエストメソッド 
• ステータスコード 
リクエスト 
リクエスト 
レスポンス
Railsスタイルに沿って 
リソースを作る
GET POST PUT DELETE 
/users index create - - 
/users/123 show - update destroy 
/[まとまり]/ 番号
まとまりの名前 
= “resources” の名前 
• まとまりの種類の名前を考えよう 
(まとまりなので複数形) 
• users, groups, … 
resources :users 
resources :groups
GET POST PUT DELETE 
/groups index create - - 
/groups/1 show - update destroy 
「ユーザーがグループに加入する」は?
リクエストメソッドがあてはまらない 
ときは、隠れたリソースがある 
• 「ユーザーがグループに加入する」 
= 所属 membership の作成 
GET POST PUT DELETE 
/memberships index create - - 
/memberships/1 show - update destroy
まとめ 
• “REST”の枠に入るのが 
Webのパーツ 
• Webで重要なのは 
• URL 
• リクエストメソッド 
• ステータスコード 
• 作るときはRailsスタイルに 
従えば楽 
http://rest-pattern.hatenablog.com/ 
http://d.hatena.ne.jp/tkawa/searchdiary?word=*[rest]

More Related Content

What's hot

Javascriptで無限ループを実現する5つの方法
Javascriptで無限ループを実現する5つの方法Javascriptで無限ループを実現する5つの方法
Javascriptで無限ループを実現する5つの方法
yhara
 
Jenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCIJenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCI
shigeyuki azuchi
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
NTT DATA Technology & Innovation
 
ユーザーストーリーマッピングを使ってプロダクトバックログを作ろう
ユーザーストーリーマッピングを使ってプロダクトバックログを作ろうユーザーストーリーマッピングを使ってプロダクトバックログを作ろう
ユーザーストーリーマッピングを使ってプロダクトバックログを作ろう
izumi ito
 
AWSとReactで始めるShopifyアプリ開発
AWSとReactで始めるShopifyアプリ開発AWSとReactで始めるShopifyアプリ開発
AWSとReactで始めるShopifyアプリ開発
Takaaki Kurasawa
 
【公開版】アジャイル推進組織奮闘記
【公開版】アジャイル推進組織奮闘記【公開版】アジャイル推進組織奮闘記
【公開版】アジャイル推進組織奮闘記
seag-t
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
 
AmebaのMongoDB活用事例
AmebaのMongoDB活用事例AmebaのMongoDB活用事例
AmebaのMongoDB活用事例
Akihiro Kuwano
 
Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略
Takayuki Shimizukawa
 
Helidon 概要
Helidon 概要Helidon 概要
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
Koichiro Matsuoka
 
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp
Kafka・Storm・ZooKeeperの認証と認可について #kafkajpKafka・Storm・ZooKeeperの認証と認可について #kafkajp
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp
Yahoo!デベロッパーネットワーク
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツ
pospome
 
Amazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用についてAmazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用について
Taiji INOUE
 
Lambda EdgeとALB認証を導入した話
Lambda EdgeとALB認証を導入した話Lambda EdgeとALB認証を導入した話
Lambda EdgeとALB認証を導入した話
淳 千葉
 
DevOps with Database on AWS
DevOps with Database on AWSDevOps with Database on AWS
DevOps with Database on AWS
Amazon Web Services Japan
 
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
Yusuke Suzuki
 
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
LIFULL Co., Ltd.
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
 
[db analytics showcase Sapporo 2018] B13 Cloud Spanner の裏側〜解析からベストプラクティスへ〜
[db analytics showcase Sapporo 2018] B13 Cloud Spanner の裏側〜解析からベストプラクティスへ〜[db analytics showcase Sapporo 2018] B13 Cloud Spanner の裏側〜解析からベストプラクティスへ〜
[db analytics showcase Sapporo 2018] B13 Cloud Spanner の裏側〜解析からベストプラクティスへ〜
Insight Technology, Inc.
 

What's hot (20)

Javascriptで無限ループを実現する5つの方法
Javascriptで無限ループを実現する5つの方法Javascriptで無限ループを実現する5つの方法
Javascriptで無限ループを実現する5つの方法
 
Jenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCIJenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCI
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
 
ユーザーストーリーマッピングを使ってプロダクトバックログを作ろう
ユーザーストーリーマッピングを使ってプロダクトバックログを作ろうユーザーストーリーマッピングを使ってプロダクトバックログを作ろう
ユーザーストーリーマッピングを使ってプロダクトバックログを作ろう
 
AWSとReactで始めるShopifyアプリ開発
AWSとReactで始めるShopifyアプリ開発AWSとReactで始めるShopifyアプリ開発
AWSとReactで始めるShopifyアプリ開発
 
【公開版】アジャイル推進組織奮闘記
【公開版】アジャイル推進組織奮闘記【公開版】アジャイル推進組織奮闘記
【公開版】アジャイル推進組織奮闘記
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
 
AmebaのMongoDB活用事例
AmebaのMongoDB活用事例AmebaのMongoDB活用事例
AmebaのMongoDB活用事例
 
Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略
 
Helidon 概要
Helidon 概要Helidon 概要
Helidon 概要
 
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
 
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp
Kafka・Storm・ZooKeeperの認証と認可について #kafkajpKafka・Storm・ZooKeeperの認証と認可について #kafkajp
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツ
 
Amazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用についてAmazon DynamoDBの紹介と東急ハンズでの活用について
Amazon DynamoDBの紹介と東急ハンズでの活用について
 
Lambda EdgeとALB認証を導入した話
Lambda EdgeとALB認証を導入した話Lambda EdgeとALB認証を導入した話
Lambda EdgeとALB認証を導入した話
 
DevOps with Database on AWS
DevOps with Database on AWSDevOps with Database on AWS
DevOps with Database on AWS
 
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
 
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
 
[db analytics showcase Sapporo 2018] B13 Cloud Spanner の裏側〜解析からベストプラクティスへ〜
[db analytics showcase Sapporo 2018] B13 Cloud Spanner の裏側〜解析からベストプラクティスへ〜[db analytics showcase Sapporo 2018] B13 Cloud Spanner の裏側〜解析からベストプラクティスへ〜
[db analytics showcase Sapporo 2018] B13 Cloud Spanner の裏側〜解析からベストプラクティスへ〜
 

Viewers also liked

JAX-RS(LT)
JAX-RS(LT)JAX-RS(LT)
JAX-RS(LT)
winplus
 
RESTとRailsスタイル
RESTとRailsスタイルRESTとRailsスタイル
RESTとRailsスタイル
Toru Kawamura
 
Rest ful api設計入門
Rest ful api設計入門Rest ful api設計入門
Rest ful api設計入門
Monstar Lab Inc.
 
Rails Gems realize RESTful modeling patterns
Rails Gems realize RESTful modeling patternsRails Gems realize RESTful modeling patterns
Rails Gems realize RESTful modeling patterns
Toru Kawamura
 
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Hypermedia: The Missing Element to Building Adaptable Web APIs in RailsHypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Toru Kawamura
 
RESTful API 入門
RESTful API 入門RESTful API 入門
RESTful API 入門
Keisuke Nishitani
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
 
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Toru Kawamura
 
アプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれアプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれ
Atsushi Mizoue
 
機能追加を行う際に考慮したい3つのポイント
機能追加を行う際に考慮したい3つのポイント機能追加を行う際に考慮したい3つのポイント
機能追加を行う際に考慮したい3つのポイント
Miwa Kuramitsu
 
RESTful Meetup vol.3 Introduction
RESTful Meetup vol.3 IntroductionRESTful Meetup vol.3 Introduction
RESTful Meetup vol.3 Introduction
Toru Kawamura
 
WebAPIのこれまでとこれから
WebAPIのこれまでとこれからWebAPIのこれまでとこれから
WebAPIのこれまでとこれから
Yohei Yamamoto
 
これからの Microservices
これからの Microservicesこれからの Microservices
これからの Microservices
Toru Yamaguchi
 
SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリーSQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリー
ke-m kamekoopa
 
Web API入門
Web API入門Web API入門
Web API入門
Masao Takaku
 
転職基準 スタートアップへの転職を検討するための予備知識
転職基準 スタートアップへの転職を検討するための予備知識転職基準 スタートアップへの転職を検討するための予備知識
転職基準 スタートアップへの転職を検討するための予備知識
Takaaki Umada
 
絶対落ちないアプリの作り方
絶対落ちないアプリの作り方絶対落ちないアプリの作り方
絶対落ちないアプリの作り方
Fumihiko Shiroyama
 
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
Yohei Yasukawa
 
企業システムにアジャイルは必要か
企業システムにアジャイルは必要か企業システムにアジャイルは必要か
企業システムにアジャイルは必要か
Hiromasa Oka
 
Untitled
UntitledUntitled
Untitled
mseki
 

Viewers also liked (20)

JAX-RS(LT)
JAX-RS(LT)JAX-RS(LT)
JAX-RS(LT)
 
RESTとRailsスタイル
RESTとRailsスタイルRESTとRailsスタイル
RESTとRailsスタイル
 
Rest ful api設計入門
Rest ful api設計入門Rest ful api設計入門
Rest ful api設計入門
 
Rails Gems realize RESTful modeling patterns
Rails Gems realize RESTful modeling patternsRails Gems realize RESTful modeling patterns
Rails Gems realize RESTful modeling patterns
 
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Hypermedia: The Missing Element to Building Adaptable Web APIs in RailsHypermedia: The Missing Element to Building Adaptable Web APIs in Rails
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
 
RESTful API 入門
RESTful API 入門RESTful API 入門
RESTful API 入門
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
 
アプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれアプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれ
 
機能追加を行う際に考慮したい3つのポイント
機能追加を行う際に考慮したい3つのポイント機能追加を行う際に考慮したい3つのポイント
機能追加を行う際に考慮したい3つのポイント
 
RESTful Meetup vol.3 Introduction
RESTful Meetup vol.3 IntroductionRESTful Meetup vol.3 Introduction
RESTful Meetup vol.3 Introduction
 
WebAPIのこれまでとこれから
WebAPIのこれまでとこれからWebAPIのこれまでとこれから
WebAPIのこれまでとこれから
 
これからの Microservices
これからの Microservicesこれからの Microservices
これからの Microservices
 
SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリーSQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリー
 
Web API入門
Web API入門Web API入門
Web API入門
 
転職基準 スタートアップへの転職を検討するための予備知識
転職基準 スタートアップへの転職を検討するための予備知識転職基準 スタートアップへの転職を検討するための予備知識
転職基準 スタートアップへの転職を検討するための予備知識
 
絶対落ちないアプリの作り方
絶対落ちないアプリの作り方絶対落ちないアプリの作り方
絶対落ちないアプリの作り方
 
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
 
企業システムにアジャイルは必要か
企業システムにアジャイルは必要か企業システムにアジャイルは必要か
企業システムにアジャイルは必要か
 
Untitled
UntitledUntitled
Untitled
 

Similar to RESTful #とは RailsスタイルからRESTを学ぼう

2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
Takahiro Okumura
 
Works of site reliability engineer
Works of site reliability engineerWorks of site reliability engineer
Works of site reliability engineer
Shohei Kobayashi
 
Rubyで作るtwitter風webアプリケーション
Rubyで作るtwitter風webアプリケーションRubyで作るtwitter風webアプリケーション
Rubyで作るtwitter風webアプリケーション
Naoto Hori
 
Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計
Kanako Kobayashi
 
RESTful Web API Design
RESTful Web API DesignRESTful Web API Design
RESTful Web API Design
Akinari Tsugo
 
Tech fun rails_workshop
Tech fun rails_workshopTech fun rails_workshop
Tech fun rails_workshop
OMEGA (@equal_001)
 
ASP.NET Core 概要(2017年3月時点)
ASP.NET Core 概要(2017年3月時点)ASP.NET Core 概要(2017年3月時点)
ASP.NET Core 概要(2017年3月時点)
Atsushi Yokohama (BEACHSIDE)
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
Ryunosuke SATO
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
Hironori Sekine
 
Productive Organization with Ruby
Productive Organization with RubyProductive Organization with Ruby
Productive Organization with Ruby
Hiroshi SHIBATA
 
20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】
20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】
20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】
Masato Mori
 
WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?
Shinichi Nishikawa
 
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsThe Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
Koichiro Ohba
 
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly RailsエンジニアセミナーDeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
Nao Minami
 
最適化計算エンジンを備えた Ruby on Rails アプリケーションのアーキテクチャーと進化
最適化計算エンジンを備えた Ruby on Rails アプリケーションのアーキテクチャーと進化最適化計算エンジンを備えた Ruby on Rails アプリケーションのアーキテクチャーと進化
最適化計算エンジンを備えた Ruby on Rails アプリケーションのアーキテクチャーと進化
Masaki Takeuchi
 
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
Oshitari_kochi
 
Laravelの検索機能の実装方法
Laravelの検索機能の実装方法Laravelの検索機能の実装方法
Laravelの検索機能の実装方法
yoshitaro yoyo
 
(続) Effective SQLite for Android
(続) Effective SQLite for Android(続) Effective SQLite for Android
(続) Effective SQLite for Android
Shinobu Okano
 

Similar to RESTful #とは RailsスタイルからRESTを学ぼう (20)

2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
 
Works of site reliability engineer
Works of site reliability engineerWorks of site reliability engineer
Works of site reliability engineer
 
Rubyで作るtwitter風webアプリケーション
Rubyで作るtwitter風webアプリケーションRubyで作るtwitter風webアプリケーション
Rubyで作るtwitter風webアプリケーション
 
Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計
 
RESTful Web API Design
RESTful Web API DesignRESTful Web API Design
RESTful Web API Design
 
Tech fun rails_workshop
Tech fun rails_workshopTech fun rails_workshop
Tech fun rails_workshop
 
ASP.NET Core 概要(2017年3月時点)
ASP.NET Core 概要(2017年3月時点)ASP.NET Core 概要(2017年3月時点)
ASP.NET Core 概要(2017年3月時点)
 
REST 入門
REST 入門REST 入門
REST 入門
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
 
Productive Organization with Ruby
Productive Organization with RubyProductive Organization with Ruby
Productive Organization with Ruby
 
Yesod(at FPM2012)
Yesod(at FPM2012)Yesod(at FPM2012)
Yesod(at FPM2012)
 
20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】
20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】
20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】
 
WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?
 
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsThe Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
 
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly RailsエンジニアセミナーDeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
 
最適化計算エンジンを備えた Ruby on Rails アプリケーションのアーキテクチャーと進化
最適化計算エンジンを備えた Ruby on Rails アプリケーションのアーキテクチャーと進化最適化計算エンジンを備えた Ruby on Rails アプリケーションのアーキテクチャーと進化
最適化計算エンジンを備えた Ruby on Rails アプリケーションのアーキテクチャーと進化
 
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
 
Laravelの検索機能の実装方法
Laravelの検索機能の実装方法Laravelの検索機能の実装方法
Laravelの検索機能の実装方法
 
(続) Effective SQLite for Android
(続) Effective SQLite for Android(続) Effective SQLite for Android
(続) Effective SQLite for Android
 

More from Toru Kawamura

真のREST
真のREST真のREST
真のREST
Toru Kawamura
 
RailsスタイルからRESTを学ぼう よちがや.rb
RailsスタイルからRESTを学ぼう よちがや.rbRailsスタイルからRESTを学ぼう よちがや.rb
RailsスタイルからRESTを学ぼう よちがや.rb
Toru Kawamura
 
Web Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the futureWeb Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the future
Toru Kawamura
 
リソースモデリングパターンの提案 #sendagayarb
リソースモデリングパターンの提案 #sendagayarbリソースモデリングパターンの提案 #sendagayarb
リソースモデリングパターンの提案 #sendagayarb
Toru Kawamura
 
routes.rb をもう一度考えてみた #shibuyarb
routes.rb をもう一度考えてみた #shibuyarbroutes.rb をもう一度考えてみた #shibuyarb
routes.rb をもう一度考えてみた #shibuyarb
Toru Kawamura
 
返信と@ツイートの仕様変更と提案 #twtr_hack
返信と@ツイートの仕様変更と提案 #twtr_hack返信と@ツイートの仕様変更と提案 #twtr_hack
返信と@ツイートの仕様変更と提案 #twtr_hack
Toru Kawamura
 
OAuth Echo の Rails Gem
OAuth Echo の Rails GemOAuth Echo の Rails Gem
OAuth Echo の Rails Gem
Toru Kawamura
 

More from Toru Kawamura (7)

真のREST
真のREST真のREST
真のREST
 
RailsスタイルからRESTを学ぼう よちがや.rb
RailsスタイルからRESTを学ぼう よちがや.rbRailsスタイルからRESTを学ぼう よちがや.rb
RailsスタイルからRESTを学ぼう よちがや.rb
 
Web Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the futureWeb Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the future
 
リソースモデリングパターンの提案 #sendagayarb
リソースモデリングパターンの提案 #sendagayarbリソースモデリングパターンの提案 #sendagayarb
リソースモデリングパターンの提案 #sendagayarb
 
routes.rb をもう一度考えてみた #shibuyarb
routes.rb をもう一度考えてみた #shibuyarbroutes.rb をもう一度考えてみた #shibuyarb
routes.rb をもう一度考えてみた #shibuyarb
 
返信と@ツイートの仕様変更と提案 #twtr_hack
返信と@ツイートの仕様変更と提案 #twtr_hack返信と@ツイートの仕様変更と提案 #twtr_hack
返信と@ツイートの仕様変更と提案 #twtr_hack
 
OAuth Echo の Rails Gem
OAuth Echo の Rails GemOAuth Echo の Rails Gem
OAuth Echo の Rails Gem
 

Recently uploaded

能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて
能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて
能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて
Tetsuya Nihonmatsu
 
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツールMOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
TsuyoshiSaito7
 
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
Hironori Washizaki
 
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
TsuyoshiSaito7
 
VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話
VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話
VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話
company21
 
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
Tatsuya Ishikawa
 
論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior
論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior
論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior
Toru Tamaki
 
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
iPride Co., Ltd.
 
内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦
内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦
内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦
Fast Retailing Co., Ltd.
 

Recently uploaded (9)

能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて
能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて
能動的サイバー防御の時代へ - GPTsから垣間見えた私達と未来のAIについて
 
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツールMOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
MOSHI: 革新的な音声AI QAIが開発した次世代のコミュニケーションツール
 
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
「スマートエスイー」におけるスマートシステム&サービスおよびDX推進人材の産学連携育成ならびに参照モデルに基づく育成プログラム分析
 
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
【GPT4-o越えのリアルタイム会話AI】kyutai labsのMoshiデモ動画を解説
 
VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話
VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話
VRM*VOICEVOX*GoogleCloudを使って自分だけのAIパートナーを作る話
 
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
 
論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior
論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior
論文紹介:Coarse-to-Fine Amodal Segmentation with Shape Prior
 
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
 
内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦
内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦
内製化 × グローバル化を通じた 世界水準の IT 組織づくり - ファーストリテイリング・デジタル変革の挑戦
 

RESTful #とは RailsスタイルからRESTを学ぼう