SlideShare a Scribd company logo
1 of 12
from WEB+DB PRESS 82
 1回分使うよ! 
 第3章まとめ終わらず。
 リソースの定義の考え方 
 JSON Schema 
 もう少しJSON Schemaを調べてみたよ 
 よーしパパJSON Schema使ってみるぞ
Domain API 
• 「送信元ドメイン」を入れたり出したりするAPIをつくろう!
フィールド名名称データ型 
domain ドメイン名string 
states 状態object 
states.setup セットアップ済みフ 
ラグ 
boolean 
states.available 利用可能フラグboolean 
created リソースの作成日string 
updated リソースの更新日string 
“states” : “10” (== セットアップ=true & 利用可能=false) 
みたいに表現できなくもないけど使いづらい。 
別のオブジェクトにしておけばそれぞれ更新可能 
{ 
“domain” : “mail.example.com”, 
“states” : { 
“setup” : true, 
“available” : true 
}, 
“created” : “2014-06-01T20:12:50”, 
“updated” : “2014-06-01T20:23:16” 
}
 ちゃんと見なさい! 特に英語が苦手なあなた。 
 OpenSocial 
 http://opensocial.github.io/spec/2.5.1/Social-Data.xml#Person 
 schema.org 
 http://schema.org/ 
 Activity Streams 
 https://github.com/activitystreams/activity-schema/blob/master/activity-schema.md
フィールド名名称データ型 
domain ドメイン名string 
states 状態object 
states.setup セットアップ済みフ 
ラグ 
boolean 
states.available 利用可能フラグboolean 
created リソースの作成日string 
updated リソースの更新日string 
※写すのメンドイんでP29参照。 
title -> 何語でもご自由にの模様。 
この段階だとフォーマットが全然定義さ 
れていないので、 
日付型などフリーダム! 
※ちなみに 
Jsonに存在するデータ型は4種類の 
primitive typesと2種類のstructured 
typesのみ。 
strings, numbers, booleans, and null 
objects and arrays 
http://www.ietf.org/rfc/rfc4627.txt
 P30 
 domain -> “maxLength” : 255, “format” : “hostname” 
 States -> “default” 
 二重にdefaultが定義されてますね。 
 Created / update -> “format” : “date-time”
 P30 
 domain -> “maxLength” : 255, “format” : “hostname” 
 States -> “default” 
 二重にdefaultが定義されてますね。 
 Created / update -> “format” : “date-time” 
誰だよお 
前!?
 http://json-schema.org/ 
 Docs -> schema validation -> 7. Semantic validation with "format“ 
 7.3.1. date-time 
 7.3.2. email 
 7.3.3. hostname 
 7.3.4. ipv4 
 7.3.5. ipv6 
 7.3.6. uri
 http://json-schema.org/examples.html 
 a simple example 
 Requiredは最後にまとめて書くらしい 
 “uniqueItems” すげーイイ! ※xsdにもある模様: http://www.w3schools.com/schema/el_unique.asp 
 "warehouseLocation": { 
"description": "Coordinates of the warehouse with the product", 
"$ref": http://json-schema.org/geo 
} 
 → http://json-schema.org/documentation.html -> Standard schemas 
 Geographic Coordinate 
 Card 
 Calendar 
 Address
来週?

More Related Content

What's hot

Next-L Enju 開発WS #03 Ruby on Railsの使い方
Next-L Enju 開発WS #03 Ruby on Railsの使い方Next-L Enju 開発WS #03 Ruby on Railsの使い方
Next-L Enju 開発WS #03 Ruby on Railsの使い方Kosuke Tanabe
 
書籍「軽量・高速モバイルデータベース Realm入門」を使って学ぶRealmの勘所
書籍「軽量・高速モバイルデータベース Realm入門」を使って学ぶRealmの勘所書籍「軽量・高速モバイルデータベース Realm入門」を使って学ぶRealmの勘所
書籍「軽量・高速モバイルデータベース Realm入門」を使って学ぶRealmの勘所Yu Sugawara
 

What's hot (6)

Next-L Enju 開発WS #03 Ruby on Railsの使い方
Next-L Enju 開発WS #03 Ruby on Railsの使い方Next-L Enju 開発WS #03 Ruby on Railsの使い方
Next-L Enju 開発WS #03 Ruby on Railsの使い方
 
Ajax3
Ajax3Ajax3
Ajax3
 
test
testtest
test
 
書籍「軽量・高速モバイルデータベース Realm入門」を使って学ぶRealmの勘所
書籍「軽量・高速モバイルデータベース Realm入門」を使って学ぶRealmの勘所書籍「軽量・高速モバイルデータベース Realm入門」を使って学ぶRealmの勘所
書籍「軽量・高速モバイルデータベース Realm入門」を使って学ぶRealmの勘所
 
MongoDBの使い方
MongoDBの使い方MongoDBの使い方
MongoDBの使い方
 
Couch DB for 197X
Couch DB for 197XCouch DB for 197X
Couch DB for 197X
 

More from Taichi Watanabe

ポジションペーパー
ポジションペーパーポジションペーパー
ポジションペーパーTaichi Watanabe
 
2番ペゲーロとは何だったのか
2番ペゲーロとは何だったのか2番ペゲーロとは何だったのか
2番ペゲーロとは何だったのかTaichi Watanabe
 
私がなぜ今日ユニフォームを着ているのか
私がなぜ今日ユニフォームを着ているのか私がなぜ今日ユニフォームを着ているのか
私がなぜ今日ユニフォームを着ているのかTaichi Watanabe
 
チームとプロダクトをぶっ壊した話
チームとプロダクトをぶっ壊した話チームとプロダクトをぶっ壊した話
チームとプロダクトをぶっ壊した話Taichi Watanabe
 
あの選手なんでスタメン外されたん
あの選手なんでスタメン外されたんあの選手なんでスタメン外されたん
あの選手なんでスタメン外されたんTaichi Watanabe
 
「エース」と「ローテーション」
「エース」と「ローテーション」「エース」と「ローテーション」
「エース」と「ローテーション」Taichi Watanabe
 
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LTエンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LTTaichi Watanabe
 
2014年NPBたらいまわされ十傑
2014年NPBたらいまわされ十傑2014年NPBたらいまわされ十傑
2014年NPBたらいまわされ十傑Taichi Watanabe
 
スクラムマスター1年生⇒2年生
スクラムマスター1年生⇒2年生スクラムマスター1年生⇒2年生
スクラムマスター1年生⇒2年生Taichi Watanabe
 
特大のヤラカシからの復活 -俺とみんながテストコードを書き出すまで-
特大のヤラカシからの復活 -俺とみんながテストコードを書き出すまで-特大のヤラカシからの復活 -俺とみんながテストコードを書き出すまで-
特大のヤラカシからの復活 -俺とみんながテストコードを書き出すまで-Taichi Watanabe
 
俺の「機能横断的チーム」に近づくためのあれこれ
俺の「機能横断的チーム」に近づくためのあれこれ 俺の「機能横断的チーム」に近づくためのあれこれ
俺の「機能横断的チーム」に近づくためのあれこれ Taichi Watanabe
 
10%Rule -Challenge to Making Innovative Team- @RakutenTechnologyConference2012
10%Rule -Challenge to Making Innovative Team- @RakutenTechnologyConference201210%Rule -Challenge to Making Innovative Team- @RakutenTechnologyConference2012
10%Rule -Challenge to Making Innovative Team- @RakutenTechnologyConference2012Taichi Watanabe
 

More from Taichi Watanabe (13)

ポジションペーパー
ポジションペーパーポジションペーパー
ポジションペーパー
 
2番ペゲーロとは何だったのか
2番ペゲーロとは何だったのか2番ペゲーロとは何だったのか
2番ペゲーロとは何だったのか
 
私がなぜ今日ユニフォームを着ているのか
私がなぜ今日ユニフォームを着ているのか私がなぜ今日ユニフォームを着ているのか
私がなぜ今日ユニフォームを着ているのか
 
チームとプロダクトをぶっ壊した話
チームとプロダクトをぶっ壊した話チームとプロダクトをぶっ壊した話
チームとプロダクトをぶっ壊した話
 
あの選手なんでスタメン外されたん
あの選手なんでスタメン外されたんあの選手なんでスタメン外されたん
あの選手なんでスタメン外されたん
 
「エース」と「ローテーション」
「エース」と「ローテーション」「エース」と「ローテーション」
「エース」と「ローテーション」
 
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LTエンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
 
Reactive Programing
Reactive ProgramingReactive Programing
Reactive Programing
 
2014年NPBたらいまわされ十傑
2014年NPBたらいまわされ十傑2014年NPBたらいまわされ十傑
2014年NPBたらいまわされ十傑
 
スクラムマスター1年生⇒2年生
スクラムマスター1年生⇒2年生スクラムマスター1年生⇒2年生
スクラムマスター1年生⇒2年生
 
特大のヤラカシからの復活 -俺とみんながテストコードを書き出すまで-
特大のヤラカシからの復活 -俺とみんながテストコードを書き出すまで-特大のヤラカシからの復活 -俺とみんながテストコードを書き出すまで-
特大のヤラカシからの復活 -俺とみんながテストコードを書き出すまで-
 
俺の「機能横断的チーム」に近づくためのあれこれ
俺の「機能横断的チーム」に近づくためのあれこれ 俺の「機能横断的チーム」に近づくためのあれこれ
俺の「機能横断的チーム」に近づくためのあれこれ
 
10%Rule -Challenge to Making Innovative Team- @RakutenTechnologyConference2012
10%Rule -Challenge to Making Innovative Team- @RakutenTechnologyConference201210%Rule -Challenge to Making Innovative Team- @RakutenTechnologyConference2012
10%Rule -Challenge to Making Innovative Team- @RakutenTechnologyConference2012
 

Recently uploaded

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 

Recently uploaded (10)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

Web API デザインの鉄則 第2章

  • 2.  1回分使うよ!  第3章まとめ終わらず。
  • 3.  リソースの定義の考え方  JSON Schema  もう少しJSON Schemaを調べてみたよ  よーしパパJSON Schema使ってみるぞ
  • 4. Domain API • 「送信元ドメイン」を入れたり出したりするAPIをつくろう!
  • 5. フィールド名名称データ型 domain ドメイン名string states 状態object states.setup セットアップ済みフ ラグ boolean states.available 利用可能フラグboolean created リソースの作成日string updated リソースの更新日string “states” : “10” (== セットアップ=true & 利用可能=false) みたいに表現できなくもないけど使いづらい。 別のオブジェクトにしておけばそれぞれ更新可能 { “domain” : “mail.example.com”, “states” : { “setup” : true, “available” : true }, “created” : “2014-06-01T20:12:50”, “updated” : “2014-06-01T20:23:16” }
  • 6.  ちゃんと見なさい! 特に英語が苦手なあなた。  OpenSocial  http://opensocial.github.io/spec/2.5.1/Social-Data.xml#Person  schema.org  http://schema.org/  Activity Streams  https://github.com/activitystreams/activity-schema/blob/master/activity-schema.md
  • 7. フィールド名名称データ型 domain ドメイン名string states 状態object states.setup セットアップ済みフ ラグ boolean states.available 利用可能フラグboolean created リソースの作成日string updated リソースの更新日string ※写すのメンドイんでP29参照。 title -> 何語でもご自由にの模様。 この段階だとフォーマットが全然定義さ れていないので、 日付型などフリーダム! ※ちなみに Jsonに存在するデータ型は4種類の primitive typesと2種類のstructured typesのみ。 strings, numbers, booleans, and null objects and arrays http://www.ietf.org/rfc/rfc4627.txt
  • 8.  P30  domain -> “maxLength” : 255, “format” : “hostname”  States -> “default”  二重にdefaultが定義されてますね。  Created / update -> “format” : “date-time”
  • 9.  P30  domain -> “maxLength” : 255, “format” : “hostname”  States -> “default”  二重にdefaultが定義されてますね。  Created / update -> “format” : “date-time” 誰だよお 前!?
  • 10.  http://json-schema.org/  Docs -> schema validation -> 7. Semantic validation with "format“  7.3.1. date-time  7.3.2. email  7.3.3. hostname  7.3.4. ipv4  7.3.5. ipv6  7.3.6. uri
  • 11.  http://json-schema.org/examples.html  a simple example  Requiredは最後にまとめて書くらしい  “uniqueItems” すげーイイ! ※xsdにもある模様: http://www.w3schools.com/schema/el_unique.asp  "warehouseLocation": { "description": "Coordinates of the warehouse with the product", "$ref": http://json-schema.org/geo }  → http://json-schema.org/documentation.html -> Standard schemas  Geographic Coordinate  Card  Calendar  Address