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
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
0
330
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
140
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
260
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
720
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
640
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
3
1.6k
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
1.8k
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
160
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
590
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
470
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
280
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
350
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.3k
YesSQL, Process and Tooling at Scale
rocio
173
14k
KATA
mclloyd
30
14k
Adopting Sorbet at Scale
ufuk
77
9.4k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
BBQ
matthewcrist
89
9.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
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
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠