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 / CleanArchitecture Go
Search
nakabonne
September 23, 2018
Technology
3
17k
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
510
Want to quickly put dbg! into external crates?
nakabonne
0
20
モジュールの深さについて / depth of module
nakabonne
0
130
Other Decks in Technology
See All in Technology
バッチ処理のSLOをどう設計するか
rynsuke
7
590
LLMの現在
pfn
PRO
3
1.9k
生成AIサービスPanorama AIご説明資料
sdt
0
300
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
17
7.7k
オブジェクトのおしゃべり大失敗 メッセージングアンチパターン集 / messaging anti-pattern collection
ytake
0
340
2023 Japan AWS Jr.Championsに選出されての振り返りとこれから
hiropy877
1
130
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
24
7.2k
ビジネスとコード品質の接合点 そしてコード品質がそこに及ぼす影響 / The Intersections of Business and Engineering, and The Impact of Code Quality There
mtx2s
11
1k
KubeCon EU: Unlocking new Platform Experiences with Open Interfaces
salaboy
1
380
Challenges - Open Farming Hackdays 2024
loleg
0
580
Elementaryを用いたデータ品質の可視化とデータ基盤の運用改善
10xinc
6
1.7k
Evolutionary Optimization of Model Merging Recipes
fuyu_quant0
3
560
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
455
32k
Teambox: Starting and Learning
jrom
126
8.4k
Statistics for Hackers
jakevdp
789
220k
Reflections from 52 weeks, 52 projects
jeffersonlam
343
19k
The Pragmatic Product Professional
lauravandoore
24
5.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
24
2.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
16k
We Have a Design System, Now What?
morganepeng
42
6.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
111
35k
Atom: Resistance is Futile
akmur
258
25k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
153
14k
Building Flexible Design Systems
yeseniaperezcruz
317
37k
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