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,...)を返す
重要なのは 
• 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 をどう使えばいいの?
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

OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
Hiromasa Tanaka
 
すこやかRails
すこやかRailsすこやかRails
すこやかRails
Takafumi ONAKA
 
WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方
Hidetaka Okamoto
 
AWS free tier maximization
AWS free tier maximizationAWS free tier maximization
AWS free tier maximization
Kenkichi Okazaki
 
Inspector CLI (JAWS-UG 京王線支部 #4 LT)
Inspector CLI (JAWS-UG 京王線支部 #4 LT)Inspector CLI (JAWS-UG 京王線支部 #4 LT)
Inspector CLI (JAWS-UG 京王線支部 #4 LT)
Kenkichi Okazaki
 
Api meetup LT
Api meetup LTApi meetup LT
Api meetup LT
Daisuke Kasuya
 
Yesod勉強会
Yesod勉強会Yesod勉強会
Yesod勉強会
Hideyuki Tanaka
 
Yesodを支える技術
Yesodを支える技術Yesodを支える技術
Yesodを支える技術
Hiromi Ishii
 
Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話
KEISUKE KONISHI
 
WordPress アカンパターン
WordPress アカンパターンWordPress アカンパターン
WordPress アカンパターン
Kazue Igarashi
 
トレタのMySQL MySQL casual #8
トレタのMySQL MySQL casual #8トレタのMySQL MySQL casual #8
トレタのMySQL MySQL casual #8
Hiroaki Sano
 
WordPress開発の最新事情
WordPress開発の最新事情WordPress開発の最新事情
WordPress開発の最新事情
Takayuki Miyauchi
 
JAWS FESTA Tohoku 2014 WordPressとAWSの素敵な関係
JAWS FESTA Tohoku 2014 WordPressとAWSの素敵な関係JAWS FESTA Tohoku 2014 WordPressとAWSの素敵な関係
JAWS FESTA Tohoku 2014 WordPressとAWSの素敵な関係
Kazue Igarashi
 
IDN TLDをAzureのWebサイトで使う方法
IDN TLDをAzureのWebサイトで使う方法IDN TLDをAzureのWebサイトで使う方法
IDN TLDをAzureのWebサイトで使う方法
Yoshihiro Ohsuka
 
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3Yukimitsu Izawa
 
Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法
Hajime Fujimoto
 
Scotty を利用した "ゆるふわ" Web サービス作成
Scotty を利用した "ゆるふわ" Web サービス作成Scotty を利用した "ゆるふわ" Web サービス作成
Scotty を利用した "ゆるふわ" Web サービス作成krdlab
 

What's hot (20)

OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
OSC北海道 2016 REST API を活用した、新しい WordPress サイト製作手法
 
すこやかRails
すこやかRailsすこやかRails
すこやかRails
 
WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方
 
AWS free tier maximization
AWS free tier maximizationAWS free tier maximization
AWS free tier maximization
 
Inspector CLI (JAWS-UG 京王線支部 #4 LT)
Inspector CLI (JAWS-UG 京王線支部 #4 LT)Inspector CLI (JAWS-UG 京王線支部 #4 LT)
Inspector CLI (JAWS-UG 京王線支部 #4 LT)
 
Api meetup LT
Api meetup LTApi meetup LT
Api meetup LT
 
Yesod(at FPM2012)
Yesod(at FPM2012)Yesod(at FPM2012)
Yesod(at FPM2012)
 
Swift + JSON via WordPress
Swift + JSON via WordPressSwift + JSON via WordPress
Swift + JSON via WordPress
 
Yesod勉強会
Yesod勉強会Yesod勉強会
Yesod勉強会
 
Ppl
PplPpl
Ppl
 
Yesodを支える技術
Yesodを支える技術Yesodを支える技術
Yesodを支える技術
 
Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話
 
WordPress アカンパターン
WordPress アカンパターンWordPress アカンパターン
WordPress アカンパターン
 
トレタのMySQL MySQL casual #8
トレタのMySQL MySQL casual #8トレタのMySQL MySQL casual #8
トレタのMySQL MySQL casual #8
 
WordPress開発の最新事情
WordPress開発の最新事情WordPress開発の最新事情
WordPress開発の最新事情
 
JAWS FESTA Tohoku 2014 WordPressとAWSの素敵な関係
JAWS FESTA Tohoku 2014 WordPressとAWSの素敵な関係JAWS FESTA Tohoku 2014 WordPressとAWSの素敵な関係
JAWS FESTA Tohoku 2014 WordPressとAWSの素敵な関係
 
IDN TLDをAzureのWebサイトで使う方法
IDN TLDをAzureのWebサイトで使う方法IDN TLDをAzureのWebサイトで使う方法
IDN TLDをAzureのWebサイトで使う方法
 
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
 
Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法
 
Scotty を利用した "ゆるふわ" Web サービス作成
Scotty を利用した "ゆるふわ" Web サービス作成Scotty を利用した "ゆるふわ" Web サービス作成
Scotty を利用した "ゆるふわ" Web サービス作成
 

Viewers also liked

RESTfulとは
RESTfulとはRESTfulとは
RESTfulとは
星影 月夜
 
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
 
やはりお前らの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
 
これからの 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
 
Ruby on Rails Primer
Ruby on Rails PrimerRuby on Rails Primer
Ruby on Rails Primer
Jay Whiting
 
Performance Optimization in Ruby
Performance Optimization in RubyPerformance Optimization in Ruby
Performance Optimization in Ruby
Prathmesh Ranaut
 

Viewers also liked (20)

RESTfulとは
RESTfulとはRESTfulとは
RESTfulとは
 
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
 
やはりお前らの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
 
これからの 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
 
Ruby on Rails Primer
Ruby on Rails PrimerRuby on Rails Primer
Ruby on Rails Primer
 
Performance Optimization in Ruby
Performance Optimization in RubyPerformance Optimization in Ruby
Performance Optimization in Ruby
 
ActiveRecord & ARel
ActiveRecord & ARelActiveRecord & ARel
ActiveRecord & ARel
 

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 CorporationsKoichiro Ohba
 
Application Bootstrap
Application BootstrapApplication Bootstrap
Application Bootstrap
Takafumi ONAKA
 
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
 
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
 
Application Bootstrap
Application BootstrapApplication Bootstrap
Application Bootstrap
 
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
 
routes.rb をもう一度考えてみた #shibuyarb
routes.rb をもう一度考えてみた #shibuyarbroutes.rb をもう一度考えてみた #shibuyarb
routes.rb をもう一度考えてみた #shibuyarb
Toru Kawamura
 
返信と@ツイートの仕様変更と提案 #twtr_hack
返信と@ツイートの仕様変更と提案 #twtr_hack返信と@ツイートの仕様変更と提案 #twtr_hack
返信と@ツイートの仕様変更と提案 #twtr_hackToru Kawamura
 
OAuth Echo の Rails Gem
OAuth Echo の Rails GemOAuth Echo の Rails Gem
OAuth Echo の Rails Gem
Toru Kawamura
 

More from Toru Kawamura (6)

真の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
 
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

LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 

Recently uploaded (15)

LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 

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