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
1.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
技術選定で失敗したはなし
atomiyama
April 04, 2019
More Decks by atomiyama
See All by atomiyama
SchemaDrivenDevelopment
atomiyama
0
470
Rustでgemを作ろう
atomiyama
0
1.6k
ffi & native extension
atomiyama
0
280
はじめてのDocker
atomiyama
0
120
Other Decks in Programming
See All in Programming
Android CLI
fornewid
0
220
数百円から始めるRuby電子工作
tarosay
0
160
テーブルをDELETEした
yuzneri
0
140
リアルな遅延を測る仕様
kota_yata
1
110
AIが無かった頃の素敵な出会いの話
codmoninc
1
450
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
560
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
220
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
5
1.9k
FDEが実現するAI駆動経営の現在地
gonta
2
280
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
340
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
180
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
740
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
340
VelocityConf: Rendering Performance Case Studies
addyosmani
332
25k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
390
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
390
KATA
mclloyd
PRO
35
15k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
670
Building an army of robots
kneath
306
46k
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
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠