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
Web API × Clean Architecture / CleanArchitectur...
Search
nakabonne
September 23, 2018
Technology
3
18k
Web API × Clean Architecture / CleanArchitecture Go
http://nakawatch.hatenablog.com/entry/2018/07/11/181453
nakabonne
September 23, 2018
Tweet
Share
More Decks by nakabonne
See All by nakabonne
Write an embedded time-series database in Go
nakabonne
1
700
Want to quickly put dbg! into external crates?
nakabonne
0
38
モジュールの深さについて / depth of module
nakabonne
0
150
Other Decks in Technology
See All in Technology
ABEJA FIRST GUIDE for Software Engineers
abeja
0
3.2k
はじめての OSS コントリビューション 〜小さな PR が世界を変える〜
chiroito
4
340
レビュー負債を解消する ― CodeRabbitが支えるAI駆動開発
moongift
PRO
0
410
グローバルなコンパウンド戦略を支えるモジュラーモノリスとドメイン駆動設計
kawauso
1
390
AIエージェントによるエンタープライズ向けスライド検索!
shibuiwilliam
3
540
JJUG CCC 2025 Fall バッチ性能!!劇的ビフォーアフター
hayashiyuu1
1
350
今、MySQLのバックアップを作り直すとしたら何がどう良いのかを考える旅
yoku0825
2
410
手を動かしながら学ぶデータモデリング - 論理設計から物理設計まで / Data modeling
soudai
PRO
24
5.9k
現地速報!Microsoft Ignite 2025 M365 Copilotアップデートレポート
kasada
1
800
なぜThrottleではなくDebounceだったのか? 700並列リクエストと戦うサーバーサイド実装のすべて
yoshiori
13
4.6k
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
7
510
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
640
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Site-Speed That Sticks
csswizardry
13
960
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
320
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Side Projects
sachag
455
43k
Being A Developer After 40
akosma
91
590k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Transcript
8FC"1* º $MFBO"SDIJUFDUVSF ʙ(PʹΑΔ࣮ύλʔϯʙ
.F wதඌྋ !OBLBCPOOF wதԝେֶֶ෦ wגࣜձࣾαΠόʔΤʔδΣϯτ JOUFSOTIJQ
"HFOEB w ࠓͷΰʔϧ w $MFBO"SDIJUFDUVSFͱ w ࣮ύλʔϯͷհ
ࠓͷΰʔϧ
ࠓͷΰʔϧ 8FC"1*Λθϩ͔Β࡞Δ࣌ͷ Ҿ͖ग़͕͠Ұͭ૿͑Δ
$MFBO"SDIJUFDUVSFͱ
ͦͷલʹ
͜Μͳίʔυॻ͍ͯ·ͤΜ͔ʁ
ϢʔβʔใΛฦ͢ॲཧ
ϢʔβʔใΛฦ͢ॲཧ ˡ6TFSߏମʹVTFSςʔϒϧͷΛϚοϐϯά ˡϏδωεʹ͓͚Δ6TFSͱ͍͏֓೦Λද͢σʔλߏ ˡΫϥΠΞϯτͰදࣔ͢ΔͨΊʹVTFSΛKTPOʹͯ͠ฦ͢
ϢʔβʔใΛฦ͢ॲཧ Ϗδωεʹ͓͚Δ6TFSͱ͍͏֓೦͕ %#ʹ6*ʹґଘͯ͠͠·͍ͬͯΔ
ґଘʹΑΔ w 6*มߋ͢ΔͱϏδωεϩδοΫมߋ͕ඞཁʹͳΔ w ςετ࣌ʹ%#Λ༻ҙ͠ͳ͍ͱ͍͚ͳ͍ w ϏδωεϩδοΫͰԿͯ͠Δͷ͔͔ΓͮΒ͍
ϏδωεϩδοΫΛִ͢ΕΑ͘Ͷʁ
$MFBO"SDIJUFDUVSFͱ ιϑτΣΞΛϨΠϠʔʹ͚Δ͜ͱʹΑͬͯ ؔ৺ͷΛୡ͢ΔͨΊͷΞʔΩςΫνϟύλʔϯͷͭ
$MFBO"SDIJUFDUVSFͱ ιϑτΣΞΛϨΠϠʔʹ͚Δ͜ͱʹΑͬͯ ؔ৺ͷΛୡ͢ΔͨΊͷΞʔΩςΫνϟύλʔϯͷͭ ʁ
ͭͷ
&OUJUJFT w ϏδωεϩδοΫʹඞཁͳσʔλߏͱϝιουͷηοτ ྫ 4/4ʹ͓͚ΔϢʔβʔߘΛද͢Ϋϥεߏମ
6TFDBTF w &OUJUJFTΛར༻ͯ͠ϏδωεϩδοΫΛهड़͢Δ ྫ ߘϑΥʔϜͷೖྗΛ%#ʹૠೖ͠ɺ݁ՌΛग़ྗ͢Δ
*OUFSGBDF"EBQUFS w ֎քͱϏδωεϞσϧͷؒͷσʔλมΛ͢Δ ྫ 03.ͱϏδωεϞσϧͷ٧Ίସ͑
'SBNFXPSLT%SJWFST w ֎քͱͷڥքʹ͋Γɺ૬ޓʹ௨৴͢Δ ྫ %#ͱͷίωΫγϣϯɺϧʔςΟϯά
ϨΠϠʔͷ͚ํ w͜ͷͰͳ͍͍ͯ͘ wͨͩɺดੑڞ௨ͷݪଇ $$1 ʹଇ͚ͬͯΔ ɹɹˠಉ͡ཧ༝Ͱมߋ͢Δίϯϙʔωϯτ·ͱΊΔ w ࢀߟɿ*NBO5VNPSBOHͷ l5SZJOH$MFBO"SDIJUFDUVSFPO(PMBOHz
ͳͥґଘํΛଆʹറΔͷʁ w ϏδωεϩδοΫ͕ͦΕ୯ମͰςετग़དྷΔ w Πϯϑϥ6*ͷมߋ͕༰қʹͳΔ ґଘํ͕ଆͷΈˠ%#6*͕ͳͯ͘ΞϓϦέʔγϣϯ͕ಈ͘
࣮ύλʔϯͷհ
࡞Δͷ w VTFSʹ1045ͯ͠Ϣʔβʔొ͢Δ͢Δ͚ͩͷ"1* w IUUQTHJUIVCDPNOBLBCPOOFDMFBOBSDIJUFDUVSFTBNQMF
ґଘؔͷపఈ w ґଘؔଆอͭඞཁ͕͋Δ w ͔͠͠ͲΜͳϓϩάϥϜʹೖྗͱग़ྗ͕͋Δ
ґଘؔͷపఈ w ґଘؔଆอͭඞཁ͕͋Δ w ͔͠͠ͲΜͳϓϩάϥϜʹೖྗͱग़ྗ͕͋Δ ଆ͔Β֎ଆґଘ͍ͨ͠໘͕ඞͣ๚ΕΔ
ґଘؔٯసͷݪଇ w 40-*%ݪଇͷҰͭ w ґଘ͕ؔ۩Ͱͳ͘ந͚ͩΛࢀরͯ͠Δͷ͕ɺ࠷ ॊೈͳγεςϜͰ͋Δ w ଆ֎ଆʹґଘ͢ΔͷͰͳ͘ɺநʹґଘ͢Δ͖
ґଘؔٯసͷݪଇ ίʔυྫ ͔Β൪ͷBEBQUFSͷॲཧ ͜ͷ%#อଘ͢Δ۩࣮ΛϏδωεϩδοΫͰ͍͍ͨ
ґଘؔٯసͷݪଇ ίʔυྫ ͔Β൪ͷVTFDBTFͷॲཧ VTFDBTFʹநΛఆ͓ٛͯ͘͠
ґଘؔٯసͷݪଇ ίʔυྫ ͔Β൪ͷVTFDBTFͷॲཧ VTFSΛετϨʔδʹอଘ͢Δॲཧͨͬͨ͜Ε͚ͩ
(PʹΑΔ࣮ͷҰྫ
3PVUJOH Ұ൪֎ଆͷͷॲཧ %#ίωΫγϣϯϩΨʔͷ۩ܕΛ ଆͷʹ͢ˣ ˣ8"'ͷґଘΛ͜ͷʹݶఆ
$POUSPMMFS ͔Β൪ͷBEBQUFSͷॲཧ ˡΤϯυϙΠϯτຖͷ*0Λఆٛ ˡϏδωεϩδοΫ༻ͷσʔλߏͱ*0༻ͷͷΛม ˢ
03. ͔Β൪ͷBEBQUFSͷॲཧ ˣυϝΠϯϞσϧΛฦ͢
·ͱΊ
$MFBO"SDIJUFDUVSF w ϏδωεϩδοΫΛִ͢Δͱ͍͍͜ͱ͋Δ w $MFBO"SDIJUFDUVSF͍͍ײ͡ʹϏδωεϩδοΫΛִͰ͖Δ w εςʔΫϗϧμʔͷଟ͍8FC"1*$MFBO"SDIJUFDUVSFʹ͍ͯͦ͏ w ґଘଆͷ୯Ұํʹݶఆ͢Δ w
ˠ֎ʹґଘͨ͘͠ͳͬͨΒநʹґଘ͢Δ
$MFBO"SDIJUFDUVSFສʹରԠͰ͖Δ ۜͷؙͰͳ͍ w VTFSొ͚ͩͰ͜Μͳେ͖ͳ"1*ʹͳͬͯ͠·͏ w நԽෳࡶԽ w ण໋͘ɺنେ͖͘ͳΔ͜ͱ͕༧͞ΕΔBQQҎ֎ ͋·Γ͓͢͢ΊͰ͖ͳ͍
͋Γ͕ͱ͏͍͟͝·ͨ͠ αϯϓϧίʔυ IUUQTHJUIVCDPNOBLBCPOOFDMFBOBSDIJUFDUVSFTBNQMF