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
Clean Architecture 3
Search
Takuma Shimizu
September 12, 2018
Programming
0
24
Clean Architecture 3
Takuma Shimizu
September 12, 2018
Tweet
Share
More Decks by Takuma Shimizu
See All by Takuma Shimizu
Swift Attributes
hokuron
0
270
Peek in Calendar implementation of swift-foundation
hokuron
0
100
MVVM
hokuron
0
30
Summon Rust from Swift
hokuron
0
530
Opaque Result Type in Swift with Rust
hokuron
0
120
Generalized accessors
hokuron
0
54
Ownership of Swift as seen from iteration and Rust
hokuron
1
570
Clean Architecture 2
hokuron
0
45
Create MLで犬と猫の肉球を学習
hokuron
0
72
Other Decks in Programming
See All in Programming
Advanced App Shrinking Techniques
cbeyls
2
150
Google's Recipe for Scaling (Web) Security – LocoMocoSec 2024
lweichselbaum
0
170
Prompt FlowによるLLMアプリケーション開発
yuto2000
1
1k
CSC307 Lecture 11
javiergs
PRO
0
240
CSC307 Lecture 07
javiergs
PRO
0
220
Rust.Nagoya #1
codemountains
0
170
Namespace on read
tagomoris
2
370
유연한 Composable 설계
l2hyunwoo
0
380
コード生成を伴うLLMエージェント - 2024.07.18 Tokyo AI
smiyawaki0820
11
4.1k
CSC307 Lecture 06
javiergs
PRO
0
360
DynamoDB コスト最適化っぽいことの基本 with Terraform
kuro_kurorrr
2
250
Activities at Cairo Library
cairolibrary720
0
1.2k
Featured
See All Featured
Creatively Recalculating Your Daily Design Routine
revolveconf
214
11k
A Philosophy of Restraint
colly
200
16k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
105
6.8k
Unsuck your backbone
ammeep
666
57k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Navigating Team Friction
lara
181
13k
Clear Off the Table
cherdarchuk
89
320k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
277
13k
How to Think Like a Performance Engineer
csswizardry
4
590
Imperfection Machines: The Place of Print at Facebook
scottboms
262
13k
For a Future-Friendly Web
brad_frost
173
9.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
12
3.8k
Transcript
$MFBO"SDIJUFDUVSF $PDPB 5PVDI .7$ ਗ਼ਫˏେࡕ
͜Ε·Ͱ
ࠓճ " " !
$MFBO"SDIJUFDUVSF $PDPB 5PVDI .7$ Ұ෦ΦϨΦϨղऍ
໔ w ެࣜυΩϡϝϯτ͕ݹ͍ w 4XJGUʹෆ͖ʹͳ͍ͬͯΔͷݟड͚ΒΕ·͢ w հ͢Δͷ͕શ෦͕ϕετϓϥΫςΟεͱ͍͏Θ͚Ͱ ͋Γ·ͤΜ ࠷ݹͷυΩϡϝϯτͩͱ ࠷ऴߋ৽͕ۙ͘લʜ
.7$ # $ % & '
5SBEJUJPOBM.7$ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO(FOFSBM$PODFQUVBM$PDPB&ODZDMPQFEJB.PEFM7JFX$POUSPMMFS.PEFM7JFX$POUSPMMFSIUNM
$PDPB.7$ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO(FOFSBM$PODFQUVBM$PDPB&ODZDMPQFEJB.PEFM7JFX$POUSPMMFS.PEFM7JFX$POUSPMMFSIUNM ͳΜ͔εοΩϦ
.7$$POUSPMMFS w 4USBUFHZύλʔϯ w 7JFXͷΠϕϯτͳͲΛղऍͯ͠.PEFMʹదͨ͠ܗʹม͑ͯ ͑Δ w .PEFMͷมߋ௨ͳͲΛը໘ʹදࣔʹదͨ͠ܗʹม͑ͯ 7JFXʹ͑Δ w
7JFXͱ.PEFMͷ࠶ར༻ੑΛߴΊΔ w $POUSPMMFSࣗͷ࠶ར༻ੑ٘ਜ਼ʹͳΔ
$MFBO"SDIJUFDUVSFT 1SFTFOUFST
1SFTFOUFS w )VNCMFPCKFDUύλʔϯ w ςετͷ͢͠͞Λߟྀͨ͠ύλʔϯ w ςετ͍͢͠ΦϒδΣΫτͱ ςετͮ͠Β͍ΦϒδΣΫτΛ͚Δ ςετ͍͢͠ɿ1SFTFOUFS ςετͮ͠Β͍ɿ7JFX
w ͖ͬͯͨΦϒδΣΫτΛ7JFX͕ཧղͰ͖Δܗʹ࡞Γม ͑Δ 1SFTFOUFS7JFXͷ࡞Γ ςετՄೳੑΛ্͛ͨ݁Ռ
)VNCMFPCKFDU 6TF$BTF 1SFTFOUFS 7JFX )VNCMF %BUF %BUF'PSNBUUFS $BMFOEBS 5JNF;POF %BUF
4USJOH
)VNCMFPCKFDU 6TF$BTF 1SFTFOUFS 7JFX )VNCMF ܾࢉใ ७རӹ ࠇࣈɾࣈఆ 4USJOH
#PPMPS $PMPS ܾࢉใ
)VNCMFPCKFDU w ςετ͍͢͠ΦϒδΣΫτͱ ςετͮ͠Β͍ΦϒδΣΫτΛ͚Δ w 1SFTFOUFSΠϯϓοτͱΞτϓοτ͕໌֬ʹͳΔ w 7JFX୯ମςετ͕ෆཁʹͳΓ 6*ςετ 9$6*5FTU
ʹूதͰ͖Δ w 1SFTFOUFS͖ͬͯͨΦϒδΣΫτΛ7JFX͕ཧղͰ͖ Δܗʹ࡞Γม͑Δ
.7$$POUSPMMFS w .PEFMͷมߋ௨ͳͲΛը໘ʹදࣔʹదͨ͠ܗʹม͑ͯ 7JFXʹ͑Δ 1SFTFOUFS w ͖ͬͯͨΦϒδΣΫτΛ7JFX͕ཧղͰ͖Δܗʹ࡞Γม ͑Δ
1SFTFOUFS$POUSPMMFS $POUSPMMFSͬͯͲ͔͜ʹ ͋ͬͨΑ͏ͳʜ
None
$MFBO"SDIJUFDUVSFT $POUSPMMFST
$"$POUSPMMFS w 7JFXΛ௨ͯ͠ൃੜͨ͠ϢʔβʔೖྗΛ6TF$BTFʹదͨ͠ ܗʹม͑ͯ͑Δ w ࠷ऴతʹ1SFTFOUFSʹ੍ޚ͕ҠΔɹ͜Εˠ
$"$POUSPMMFS w 7JFXΛ௨ͯ͠ൃੜͨ͠ϢʔβʔೖྗΛ6TF$BTFʹద͠ ͨܗʹม͑ͯ͑Δ w ࠷ऴతʹ1SFTFOUFSʹ੍ޚ͕ҠΔ
.7$$POUSPMMFS w 7JFXͷΠϕϯτͳͲΛղऍͯ͠.PEFMʹదͨ͠ܗʹม͑ ͯ͑Δ $"$POUSPMMFS w 7JFXΛ௨ͯ͠ൃੜͨ͠ϢʔβʔೖྗΛ6TF$BTFʹదͨ͠ ܗʹม͑ͯ͑Δ
$POUSPMMFS$POUSPMMFS (
$PDPB.7$ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO(FOFSBM$PODFQUVBM$PDPB&ODZDMPQFEJB.PEFM7JFX$POUSPMMFS.PEFM7JFX$POUSPMMFSIUNM $"తʹґଘͷҰํੑ͕ ഁͯ͠Δ
$PDPB.7$ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO(FOFSBM$PODFQUVBM$PDPB&ODZDMPQFEJB.PEFM7JFX$POUSPMMFS.PEFM7JFX$POUSPMMFSIUNM
$PDPB$POUSPMMFS w $POUSPMMFS͕ͻͱͭͱ୭ݴ͍ͬͯͳ͍ w .FEJBUJOHDPOUSPMMFS w $PPSEJOBUJOHDPOUSPMMFS
.FEJBUJOH w ͜Ε·Ͱઆ໌͖ͯͨ͠.7$$POUSPMMFSͷׂ w NBD04ΞϓϦͷ$PDPB#JOEJOHTͰ༻ w ΄΅*OUFSGBDF#VJMEFS͚ͩͰ7JFXͱ.PEFM͕ߋ৽ଓ ͕Մೳ w J04Ͱఏڙ͞Ε͍ͯͳ͍
w ࣗલͰΔʹ*#0VUMFUΛۦ͢Δඞཁ͕͋Δ
$PPSEJOBUJOH w *OUFSGBDF#VJMEFSͷ'JMF`TPXOFSʹׂΓͯ w ΞϓϦͷશମ·ͨҰ෦Λࢹ w EFMFHBUF OPUJpDBUJPO DFOUFS ʹԠ
w 5BSHFUBDUJPOͷUBSHFUʹͳΓ͏Δ ˠ*#"DUJPOΛ࣮͢Δ εϚϗΞϓϦͷ߹ ೖྗ Πϕϯτ 7JFXҎ֎ ͔Βͬͯ͘Δ
1SFTFOUFS$POUSPMMFS ˣ 1SFTFOUFS.FEJBUJOH DPOUSPMMFS
$"$POUSPMMFS$POUSPMMFS ˣ $"$POUSPMMFS$PPSEJOBUJOH DPOUSPMMFS
$MFBO"SDIJUFDUVSF $PDPB.7$ 6TF$BTF 1SFTFOUFS .FEJBUJOHDPOUSPMMFS $POUSPMMFS $PPSEJOBUJOHDPOUSPMMFS 7JFX *#"DUJPO
BT0VUQVUQPSU BT*OQVUQPSU *OUFSGBDF#VJMEFS 'JMF`T0XOFS /PUJpDBUJPO $FOUFS %FMFHBUFT PXOT
$MFBO"SDIJUFDUVSF $PDPB5PVDI.7$ 6TF$BTF 1SFTFOUFS .FEJBUJOHDPOUSPMMFS $POUSPMMFS $PPSEJOBUJOHDPOUSPMMFS 7JFX *#"DUJPO
BT0VUQVUQPSU BT*OQVUQPSU *OUFSGBDF#VJMEFS 'JMF`T0XOFS /PUJpDBUJPO $FOUFS %FMFHBUFT PXOT
1SFTFOUFS .FEJBUJOHDPOUSPMMFS 7JFX$POUSPMMFS ͍ɺ͜͜ΦϨΦϨղऍ ͷઌऀ