Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
現実世界のJSON Hyper-Schema / Real World JSON Hyper-...
Search
Kenichi Takahashi
February 25, 2015
Programming
6.7k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
現実世界のJSON Hyper-Schema / Real World JSON Hyper-Schema
Ruby Business User Conference 2015での発表資料です。
Kenichi Takahashi
February 25, 2015
More Decks by Kenichi Takahashi
See All by Kenichi Takahashi
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
2.1k
実践、マルチクラウド環境でのコスト管理の現状と未来
kenchan
0
230
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
3
1.1k
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
2.2k
「トップ10プランナー」からはじめる目標設定
kenchan
5
4.6k
負債と言わないことが負債と向き合うこと
kenchan
5
4.8k
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
kenchan
0
210
カラーミーショップは私たちが作っています
kenchan
0
1.8k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
770
Other Decks in Programming
See All in Programming
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
340
Security issues being discussed on Web Platforms
petamoriken
0
1.4k
phperだってパンチカードでコーディングしたい
o0h
PRO
0
200
mrbgem 三角測量 開発
ogom
0
200
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
15k
JRuby: Past, Present, and Future
headius
0
220
AWSに止められる覚悟してますか?
morizo_1984
2
510
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
550
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.5k
ジョジョの世界をXRで再現する
mofurune
0
110
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
310
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
520
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Product Roadmaps are Hard
iamctodd
55
13k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
300
Being A Developer After 40
akosma
91
590k
Discover your Explorer Soul
emna__ayadi
2
1.3k
The Cult of Friendly URLs
andyhume
79
7k
Producing Creativity
orderedlist
PRO
348
41k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Transcript
GMO Pepabo, Inc. Kenichi TAKAHASHI 2015/02/25 Ruby Business User Conference
2015 ݱ࣮ੈքͷ +40/)ZQFS4DIFNB
ߴڮ݈Ұ!LFODIBO (.0ϖύϘגࣜձࣾ ٕज़෦ٕज़ج൫νʔϜ IUUQTIVDSFBNOFU
None
None
ࠓͷ͓ +40/)ZQFS4DIFNBͱ ϖύϘͱ+40/)ZQFS4DIFNB ͓·͚
+40/ )ZQFS4DIFNB ͱ
+40/4DIFNB +40/ͷσʔλߏΛఆٛ͢Δ +40/4DIFNB$PSF +40/4DIFNB7BMJEBUJPO ࠷৽൛ESBGU
+40/)ZQFS4DIFNB +40/4DIFNBʹ+40/ΛϋΠύʔ ςΩετͱͯ͠ղऍͰ͖ΔΑ͏ʹ͢ ΔͨΊͷΩʔϫʔυΛՃͨ͠ͷ
+40/)ZQFS4DIFNBͰग़དྷΔࣄ +40/4DIFNBΛͬͯ"1*ͷΤϯ υϙΠϯτΛఆٛ͢Δ ϦΫΤετɺϨεϙϯεͷόϦσʔγϣϯ υΩϡϝϯτੜ ΫϥΠΞϯτੜ
ςετ༻ελϒαʔόͷੜ
αʔϏεσΟεΫϦϓγϣϯ 84%- +40/)ZQFS4DIFNB "1*#MVFQSJOU 3".-
http://d.hatena.ne.jp/tkawa/20140828/p1
ϖύϘͱ +40/ )ZQFS4DIFNB
ͭͷαʔϏεͰಋೖ४උத Χϥʔϛʔγϣοϓ"1* 46;63* ϖύϘͱ+40/)ZQFS4DIFNB
None
ಋೖ͢Δૂ͍ "1*Λ͏ਓ ࣮ͱဃ͍ͯ͠ͳ͍υΩϡϝϯτ ΫϥΠΞϯτϥΠϒϥϦͰ؆୯ʹར༻ ΧελϚʔαϙʔτͷෛ୲ܰݮ
։ൃޮͷ্ ΤϯυϙΠϯτͷ༷Λத৺ʹٞ ελϒͰ"1*։ൃ͕ϘτϧωοΫʹͳΒͳ͍
None
ಋೖεςοϓ Ϩεϙϯε+40/ͷ4DIFNBΛॻ͘ +40/)ZQFS4DIFNBʹ͢Δ ࣗಈͰόϦσʔγϣϯΛ͔͚ΔΑ͏ʹ͢Δ υΩϡϝϯτੜʹඞཁͳใΛه͢Δ
υΩϡϝϯτΛੜɺެ։͢Δ +40/)ZQFS4DIFNBΛެ։͢Δ ΫϥΠΞϯτϥΠϒϥϦΛ͢Δ
ಋೖεςοϓ Ϩεϙϯε+40/ͷ4DIFNBΛॻ͘ +40/)ZQFS4DIFNBʹ͢Δ ࣗಈͰόϦσʔγϣϯΛ͔͚ΔΑ͏ʹ͢Δ υΩϡϝϯτੜʹඞཁͳใΛه͢Δ
υΩϡϝϯτΛੜɺެ։͢Δ +40/)ZQFS4DIFNBΛެ։͢Δ ΫϥΠΞϯτϥΠϒϥϦΛ͢Δ
+40/4DIFNBΛॻ͘ Ϧιʔεຖʹ+40/4DIFNBΛ࡞Δ \SFTPVSDF^JEKTPOΛϕʔεʹ IUUQKTPOTDIFNBOFU +40/UP+40/4DIFNB
ղऍग़ྗͷΦϓγϣϯ͕બͰ͖Δ FOVNɺSFRVJSFEɺBEEJUJPOBMQSPQFSUJFT FUD Ϧετͷղऍͷڍಈҙ 45*ϙϦϞʔϑΟοΫؔ࿈Λ͍ͬͯΔ߹ʹʹ
͏·͍͔͘ͳ͍ྫ { "payment_methods": [ { "category": "creadit_card", "gateway": "gmo-pg" },
{ "category": "bank", "name": "mizuho" } ] } { … "properties": { "payment_method": { "id": "payment_method", "type": "array", "items": { "id": "1", "type": "object", "properties": { "category": { "id": "category", "type": "string" }, "name": { "id": "name", "type": "string" } } } } } } HBUFXBZͱ͍͏ ϓϩύςΟ͕ͳ͔ͬͨ͜ͱʹ
IUUQTHJUVCDPNLFODIBOTDIFNJ[F $ cat payments.json | bundle exec schemize --- schema:
type: object properties: payment_method: type: array items: type: object properties: category: type: string gateway: type: string name: type: string
IUUQTHJUVCDPNLFODIBOTDIFNJ[F ඪ४ೖྗΛಡΉ DVSMͰ࣮σʔλΛ؆୯ʹྲྀ͠ࠐΊΔ ϦετͷϓϩύςΟΛશͯྻڍ ඍົͳߏɺ45*ɺϙϦϞʔϑΟοΫؔ࿈ʹରԠ
:".-ܗࣜͷग़ྗ ޙड़͢Δπʔϧͷ΄ͱΜͲ:".-ΛಡΊΔ +40/ΑΓਓ͕ؒฤू͍͢͠
ಋೖεςοϓ Ϩεϙϯε+40/ͷ4DIFNBΛॻ͘ +40/)ZQFS4DIFNBʹ͢Δ ࣗಈͰόϦσʔγϣϯΛ͔͚ΔΑ͏ʹ͢Δ υΩϡϝϯτੜʹඞཁͳใΛه͢Δ
υΩϡϝϯτΛੜɺެ։͢Δ +40/)ZQFS4DIFNBΛެ։͢Δ ΫϥΠΞϯτϥΠϒϥϦΛ͢Δ
+40/)ZQFS4DIFNB +40/4DIFNBʹ+40/ΛϋΠύʔ ςΩετͱͯ͠ղऍͰ͖ΔΑ͏ʹ͢ ΔͨΊͷΩʔϫʔυʮMJOLʯͳͲΛ Ճͨ͠ͷ $36% MJTUΛத৺ʹߟ͍͑ͯ͘
+40/)ZQFS4DIFNB MJOLใ EFTDSJQUJPO SFM ISFG
NFUIPE UJUMF
γϯϓϧͳMJOL schema: ! … ! links: - description: all payment
methods href: /v1/payment_methods.json method: GET rel: instances title: payment_methods
ෳࡶͳMJOL ϨεϙϯεͷεΩʔϚ͕ݸผʹҧ͏ ϖʔδωʔγϣϯͷͨΊͷϝλσʔλ ϦΫΤετͷόϦσʔγϣϯ (&5ύϥϝʔλ
ϦΫΤετ#PEZ
MJOLຖʹεΩʔϚΛఆٛ schema: ! … ! links: - description: all payment
methods href: /v1/payment_methods.json method: GET rel: instances title: payment_methods targetSchema: type: object properties: payment_methods: type: array items: type: object $ref: "/schemata/payment_methods/#" meta: type: object properties: page: type: integer SFGͰผͷॴͰఆٛͨ͠ εΩʔϚΛಡΈࠐΉ UBSHFU4DIFNBͰϨεϙϯεͷ εΩʔϚΛࢦఆ͢Δ
ಋೖεςοϓ Ϩεϙϯε+40/ͷ4DIFNBΛॻ͘ +40/)ZQFS4DIFNBʹ͢Δ ࣗಈͰόϦσʔγϣϯΛ͔͚ΔΑ͏ʹ͢Δ υΩϡϝϯτੜʹඞཁͳใΛه͢Δ
υΩϡϝϯτΛੜɺެ։͢Δ +40/)ZQFS4DIFNBΛެ։͢Δ ΫϥΠΞϯτϥΠϒϥϦΛ͢Δ
+40/4DIFNBͰόϦσʔγϣϯ ରͷڥ UFTU EFWFMPQNFOU QSPEVDUJPO όϦσʔγϣϯΤϥʔͷͱ͖
αʔόΤϥʔɺϩάग़ྗ ϦΫΤετͱϨεϙϯε
ϥΠϒϥϦ )FSPLVϓϩμΫτ IUUQTHJUIVCDPNJOUFSBHFOU SLBNVSBϓϩμΫτ IUUQSLBNVSBIBUFOBCMPHDPN FOUSZ
ͦͷଞ IUUQTHJUIVCDPNTFPNP[JOUFSQPM
)FSPLV QSNE +40/4DIFNB݁߹ɺυΩϡϝϯτੜ DPNNJUUFF όϦσʔγϣϯɺελϒαʔό
IFSPJDT ΫϥΠΞϯτੜ
SLBNVSB +EPD υΩϡϝϯτੜ SBDLKTPO@TDIFNB όϦσʔγϣϯɺελϒαʔόɺFUDʜ
+TPOJTN ΫϥΠΞϯτੜ
ͦͷଞ TFPNP[JOUFSQPM υΩϡϝϯτੜ όϦσʔγϣϯ ελϒαʔό
ϖύϘͰ Χϥʔϛʔγϣοϓ"1* JOUFSQPMΛಋೖ͕ͨ͠ఫୀத QSNE SBDLKTPO@TDIFNBcDPNNJUUFF
46;63* QSNE DPNNJUUFF
*OUFSQPMΛࢼͯ͠Έͯ ελϒαʔόॊೈ JOUFSQPMελϒͰฦ͢+40/ΛࣗͰఆٛ ଞεΩʔϚͷFYBNQMFΛ͏ +40/4DIFNBͷόʔδϣϯ͕ݹ͍
JOUFSQPMESBGUͰBOZ0GͳͲ͕͑ͳ͍ ᐆດͳΤϯυϙΠϯτΛ۠ผͰ͖ͳ͍ VTFSTJEKTPOͱVTFSTTUBUTKTPO ϑϧελοΫݫ͍͠
ࠓ͔Β࢝ΊΔͳΒ QSNE͔Β࢝ΊΔ +40/4DIFNBͷ݁߹ʹ͑Δ ബ͍ϥΠϒϥϦΛ͏ த৺+40/4DIFNB
ϥΠϒϥϦͷিಥʹҙ KTPOTDIFNBͱKTPO@TDIFNB
ςετͷ͓ڙʹ LFODIBOSTQFDIUUQ@EFGBVMU@IFBEFS SFRFVTUTQFDͰ)551ϔομΛ؆୯ʹ ͚Δ "DDFQUBQQMJDBUJPOKTPO "VUIPSJ[BUJPOZPVSPBVUIUPLFO
STQFDIUUQ@EFGBVMU@IFBEFS
+40/4DIFNBͰόϦσʔγϣϯ ରͷڥ UFTUPSEFWFMPQNFOU όϦσʔγϣϯΤϥʔͷͱ͖ αʔόΤϥʔ
ϦΫΤετͱϨεϙϯε ·ͣϨεϙϯε ϦΫΤετطଘͷόϦσʔγϣϯͰ
ಋೖεςοϓ Ϩεϙϯε+40/ͷ4DIFNBΛॻ͘ +40/)ZQFS4DIFNBʹ͢Δ ࣗಈͰόϦσʔγϣϯΛ͔͚ΔΑ͏ʹ͢Δ υΩϡϝϯτੜʹඞཁͳใΛه͢Δ
υΩϡϝϯτΛੜɺެ։͢Δ +40/)ZQFS4DIFNBΛެ։͢Δ ΫϥΠΞϯτϥΠϒϥϦΛ͢Δ
πʔϧͷ͑0, )FSPLVϓϩμΫτ IUUQTHJUIVCDPNJOUFSBHFOU SLBNVSB͞ΜϓϩμΫτ IUUQSLBNVSBIBUFOBCMPHDPN FOUSZ
ͦͷଞ IUUQTHJUIVCDPNTFPNP[JOUFSQPM
͓·͚
࠷͍ۙͬͯΔ͜ͱ രϓϨΪϡʔϓϩΩγQPPMΛͬͨ ΠϯςάϨʔγϣϯڥͷߏங IUUQTHJUIVCDPNNPPLKQQPPM QVMMܕͷϓϨϏϡʔڥ ʮTUBHJOH͍·͢ʯએݴ͔Βͷ٫
ίϯςφ্Ͱಈ࡞ՄೳͳϙʔλϏϦςΟ ͷߴ͍ΞϓϦέʔγϣϯ
QPPMΛར༻ͨ͠ϓϨϏϡʔڥ HJUQVMMͯ͠ ίϯςφΛཱͪ͋͛Δ OFXGFBUVSF ϒϥϯνΛQVTI OFXGFBUVSFDBSUʹ ΞΫηε͢Δ
·ͱΊ
ࠓͷ͓ +40/)ZQFS4DIFNBͱ ϖύϘͰͷ+40/)ZQFS4DIFNB ͓·͚
ϖύϘͰ 伱ؒΛຒΊΔϥΠϒϥϦΛ࡞ Χϥʔϛʔγϣοϓ"1* JOUFSQPMΛಋೖ͕ͨ͠ఫୀத QSNE
SBDLKTPO@TDIFNBcDPNNJUUFF 46;63* QSNE DPNNJUUFF
QPPMΛར༻ͨ͠ϓϨϏϡʔڥ HJUQVMMͯ͠ ίϯςφΛཱͪ͋͛Δ OFXGFBUVSF ϒϥϯνΛQVTI OFXGFBUVSFDBSUʹ ΞΫηε͢Δ
None