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
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
250
Snowflake Summit 2025 データエンジニアリング関連新機能紹介 / Snowflake Summit 2025 What's New about Data Engineering
tiltmax3
0
320
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
1.1k
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
140
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
150
解析の定理証明実践@Lean 4
dec9ue
0
180
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
1k
怖くない!はじめてのClaude Code
shinya337
0
110
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
120
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
17
5.8k
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
4
140
フィンテック養成勉強会#54
finengine
0
180
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Code Reviewing Like a Champion
maltzj
524
40k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Bash Introduction
62gerente
614
210k
Why Our Code Smells
bkeepers
PRO
337
57k
Statistics for Hackers
jakevdp
799
220k
Side Projects
sachag
455
42k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
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