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
62
Clean Architecture 3
Takuma Shimizu
September 12, 2018
Tweet
Share
More Decks by Takuma Shimizu
See All by Takuma Shimizu
Swift Attributes
hokuron
0
450
Peek in Calendar implementation of swift-foundation
hokuron
0
220
MVVM
hokuron
0
55
Summon Rust from Swift
hokuron
0
700
Opaque Result Type in Swift with Rust
hokuron
0
170
Generalized accessors
hokuron
0
83
Ownership of Swift as seen from iteration and Rust
hokuron
1
710
Clean Architecture 2
hokuron
0
79
Create MLで犬と猫の肉球を学習
hokuron
0
100
Other Decks in Programming
See All in Programming
ご飯食べながらエージェントが開発できる。そう、Agentic Engineeringならね。
yokomachi
1
280
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
190
手戻りゼロ? Spec Driven Developmentとは@KAG AI week
tmhirai
1
150
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
300
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
200
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
230
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
880
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
1.5k
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.6k
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
470
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
240
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
190
Featured
See All Featured
A Soul's Torment
seathinner
5
2.4k
Leo the Paperboy
mayatellez
4
1.5k
My Coaching Mixtape
mlcsv
0
63
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
310
Side Projects
sachag
455
43k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
870
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
200
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
450
エンジニアに許された特別な時間の終わり
watany
106
240k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.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 ͍ɺ͜͜ΦϨΦϨղऍ ͷઌऀ