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
670
Want to quickly put dbg! into external crates?
nakabonne
0
35
モジュールの深さについて / depth of module
nakabonne
0
150
Other Decks in Technology
See All in Technology
赤煉瓦倉庫勉強会「Databricksを選んだ理由と、絶賛真っ只中のデータ基盤移行体験記」
ivry_presentationmaterials
2
360
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
2
7.2k
20250705 Headlamp: 專注可擴展性的 Kubernetes 用戶界面
pichuang
0
270
How Do I Contact HP Printer Support? [Full 2025 Guide for U.S. Businesses]
harrry1211
0
120
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
280
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
2
16k
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
310
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
7.8k
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
450
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
1
16k
生成AI開発案件におけるClineの業務活用事例とTips
shinya337
0
260
AI時代の開発生産性を加速させるアーキテクチャ設計
plaidtech
PRO
3
160
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
690
What's in a price? How to price your products and services
michaelherold
246
12k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Code Review Best Practice
trishagee
69
18k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
Designing for humans not robots
tammielis
253
25k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Agile that works and the tools we love
rasmusluckow
329
21k
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