Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
41
モジュールの深さについて / depth of module
nakabonne
0
150
Other Decks in Technology
See All in Technology
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
4
1.3k
Database イノベーショントークを振り返る/reinvent-2025-database-innovation-talk-recap
emiki
0
210
re:Invent 2025 ふりかえり 生成AI版
takaakikakei
1
210
SSO方式とJumpアカウント方式の比較と設計方針
yuobayashi
7
690
1人1サービス開発しているチームでのClaudeCodeの使い方
noayaoshiro
1
270
今からでも間に合う!速習Devin入門とその活用方法
ismk
1
740
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
260
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.5k
Fashion×AI「似合う」を届けるためのWEARのAI戦略
zozotech
PRO
2
770
品質のための共通認識
kakehashi
PRO
3
260
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
470
生成AI時代におけるグローバル戦略思考
taka_aki
0
200
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Statistics for Hackers
jakevdp
799
230k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How STYLIGHT went responsive
nonsquared
100
6k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Scaling GitHub
holman
464
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
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