Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
技術選定で失敗したはなし
Search
atomiyama
April 04, 2019
Programming
0
1.2k
技術選定で失敗したはなし
atomiyama
April 04, 2019
Tweet
Share
More Decks by atomiyama
See All by atomiyama
SchemaDrivenDevelopment
atomiyama
0
440
Rustでgemを作ろう
atomiyama
0
1.5k
ffi & native extension
atomiyama
0
250
はじめてのDocker
atomiyama
0
110
Other Decks in Programming
See All in Programming
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
140
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
260
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
160
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
750
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
180
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
290
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
0
4.2k
技術同人誌をMCP Serverにしてみた
74th
1
630
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
280
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
3
6k
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
120
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
620
Featured
See All Featured
How to Ace a Technical Interview
jacobian
277
23k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Testing 201, or: Great Expectations
jmmastey
42
7.6k
Faster Mobile Websites
deanohume
307
31k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
52k
Docker and Python
trallard
44
3.5k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
Unsuck your backbone
ammeep
671
58k
Gamification - CAS2011
davidbonilla
81
5.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Transcript
Copyright 2018 Studyplus, Inc. All Rights Reserved. ٕज़બఆͰࣦഊ͓ͨ͠ͳ͠ Akifumi Tomiyama
/ Studyplus Inc. 2019.4.4 @දࢀಓ.rb#45
ࣗݾհ ࢁথ࢙ Akifumi Tomiyama atomiyama atomiyama_1216 2017.9 Rubyडୗ։ൃ 2018.9 ελσΟϓϥεגࣜձࣾ
For Schoolࣄۀ෦ αʔόʔαΠυΤϯδχΞ ✎ Ruby, Railsྺ 2
4UVEZQMVTGPS4DIPPMɺڭҭػֶ͚ؔशཧαʔϏεͰ͢ɻ ੜెͷʑͷྗΛɺؾ͖ͮɺ๙ΊΔػೳΛଟἧ͍͑ͯ·͢ɻ 4/4ͷΑ͏ͳૢ࡞ײͰɺ୭Ͱ͙͢ʹ͍͡ΊΒΕ·͢ɻ ઌੜ͕ੜెΛ๙ΊΔػձΛ࠷େԽ͢Δɺֶशक़ͷ৽͍͠ελϯμʔυ
APIͷυΩϡϝϯςʔγϣϯͲ͏ͯ͠·͔͢ʁ
swagger2.0Ͱࣦഊͨ͠
ࠓͷ͓ ✎ αʔϏεͷϦχϡʔΞϧͰϑϩϯτΛಠཱͤ͞Δͱ͖ RailsͷAPIαʔόʔԽ ✎ υΩϡϝϯςʔγϣϯʹswagger2.0Λಋೖ͠swagger wayΛ֎ΕͯڧҾʹߦͬͨΒਏ͞ΛੜΜͩ
എܠ Monolithic Rails App SoE (Client App) SoR (Rails API)
✎ SPAʹͯ͠ը໘ભҠΛૣ͍ͨ͘͠ ✎ σβΠφʔ͕ೖͬͨͷͰUIͷ৽ ✎ Ϟμϯͳٕज़Ͱ͔ͬ͜Α͍ͨ͘͠
2018/10ࠒ ✎ swagger2.0 ✎ swagger-blocks ✎ swagger_ui_engine ✎ apivore ࠓ
✎ OpenAPI3.0 ✎ swagger-editor ✎ json_refs ✎ committeeʢ3.0ରԠ͋Γ͕ͱ͏ʣ
swaggerΛॻ͍͓ͯ͘ͱخ͍͜͠ͱ ✎ ϞοΫαʔόʔͭ͘Δͷ؆୯ ✎ ΫϥΠΞϯτ։ൃऀͱͷԆΛ࠷খԽͰ͖Δ ✎ υΩϡϝϯτͱ࣮ͷണʹؾ͚ͮΔ ✎ ςετָ͕͘͢͝ʹͳΔ
swagger2.0ʹͨ͠ཧ༝ ✎ swagger2.0पΓͷgem͕๛ͩͬͨ ✎ ࣌openapi3.0ʹରԠͨ͠ςετπʔϧ͕ͳ͔ͬͨ ✎ controllerͷதʹDSLͰॻ͘ܗ͕Πέ͍ͯΔͱࢥͬͯͨ ✎ ωοτ্Ͱͷใ2.0ͷ΄͏͕ଟ͔ͬͨ
✎ ܕ͕Ұ͔ͭ͠ఆٛͰ͖ͳ͍ ✎ formDataͰෳϑΝΠϧΞοϓϩʔυΛදݱͰ͖ͳ͍ ࣗલͰnullΛ֦ு͢ΔͳͲ…
#
✎ swagger-uiͰεΩʔϚ͕දݱ͞Ε͍ͯͳ͍ ✎ ϥΠϒϥϦ͕֦ு͞ΕͨεΩʔϚΛೝࣝͰ͖ͳͯ͘ਖ਼ ͘͠ςετ͞Εͳ͍ ແཧʹίʔυͰղܾ͠Α͏ͱͨ͠Β
υΩϡϝϯτͱ࣮ʹဃ͕…
OpenAPI3.0ͳΒͰ͖ͨͷʹ…
✎ ܕ͕Ұ͔ͭ͠ఆٛͰ͖ͳ͍ ✎ ෳϑΝΠϧͷྻΛදݱͰ͖ͳ͍ ✎ nullable ✎ requestBody ղܾ
None
͖ͬ͢Γ
υΩϡϝϯτͱ࣮ͷဃ͕͛Δ
ΈΜͳ͋͠Θͤ$
ڭ܇ ✎ ٕज़બఆ৻ॏʹߦ͍·͠ΐ͏ ✎ ༷͕ϥΠϒϥϦ,ϑϨʔϜϫʔΫ͔ΒΈग़ͯ͠͠· ͏Α͏ͳ࣌ίʔυϨϕϧͰղܾ͢Δͷྑ͘ͳ͍ ✎ ຊʹͦͷٕज़Ͱߦͬͯେৎͳͷ͔νʔϜͰٞΛ͠ ͳ͓͢͜ͱ͕େࣄ
Ҏલ՝͍ͬͺ͍͋Δ͚Ͳ ✎ AMSͱswaggerͷ ✎ ymlϑΝΠϧͷཧ ✎ υΩϡϝϯτߋ৽͔Βެ։ɼ։ൃϑϩʔ
ͱΓ͋͑ͣ͠Β͍͚ͬͯͦ͘͏$
We’re Hiring! ΤϯδχΞืूத https://info.studyplus.co.jp/recruit
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠