Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
メンヘラコードをDIを使って駆逐する
Search
tomoya-kamaji
May 22, 2022
Technology
0
930
メンヘラコードをDIを使って駆逐する
tomoya-kamaji
May 22, 2022
Tweet
Share
More Decks by tomoya-kamaji
See All by tomoya-kamaji
AI時代に学習する意味はあるのか?
tomoyakamaji
0
170
デザインドックから学ぶ開発手法
tomoyakamaji
0
840
Clean Architecture ~ 達人に学ぶソフトウェア構造と設計
tomoyakamaji
0
1k
複雑な検索処理をElasticSearchで駆逐する
tomoyakamaji
0
1.1k
Other Decks in Technology
See All in Technology
AI駆動開発によるDDDの実践
dip_tech
PRO
0
290
Capture Checking / Separation Checking 入門
tanishiking
0
110
Databricksによるエージェント構築
taka_aki
1
120
直接メモリアクセス
koba789
0
140
Microsoft Agent 365 を 30 分でなんとなく理解する
skmkzyk
1
320
ML PM Talk #1 - ML PMの分類に関する考察
lycorptech_jp
PRO
1
540
Docker, Infraestructuras seguras y Hardening
josejuansanchez
0
150
“決まらない”NSM設計への処方箋 〜ビットキーにおける現実的な指標デザイン事例〜 / A Prescription for "Stuck" NSM Design: Bitkey’s Practical Case Study
bitkey
PRO
1
360
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
16k
.NET 10 のパフォーマンス改善
nenonaninu
2
4.8k
プロダクトマネジメントの分業が生む「デリバリーの渋滞」を解消するTPMの越境
recruitengineers
PRO
3
460
AI時代におけるアジャイル開発について
polyscape_inc
0
100
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
4 Signs Your Business is Dying
shpigford
186
22k
Code Reviewing Like a Champion
maltzj
527
40k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Producing Creativity
orderedlist
PRO
348
40k
Side Projects
sachag
455
43k
Transcript
DI
(27) 2018/4 Sier 2021/6 Another works
ෳۀΛ͍ͨ͠ਓͱෳۀਓࡐΛొ༻͍ͨ͠اۀ༷Λͭͳ͙ ϚονϯάϓϥοτϑΥʔϜ հखྉͳ͠ɺఆֹͰ࠾༻͠์
DI
λεΫొΫϥε $SFBUF5BTL6TF$BTF .Z42-ʹӬଓԽ͢ΔΫϥε .Z4RM3FQPTJUPZ ͱ͘Μ ·͍ͪΌΜ ɾ·͍ͪΌΜͷมԽʹͱ͘Μ͕ ɹӨڹΛड͚Δ
ɾ·͍ͪΌΜʹґଘ͗ͯ͢͠ɺ·͍ ɹͪΌΜ͔ΒΓ͑ΒΕͳ͍ ɾ%#ొΫϥεͷมԽʹλεΫొΫϥε͕ ɹӨڹΛड͚Δ ɾ.Z42-͔ΒΓ͑ΒΕͳ͍
None
ᶃ λεΫొ͢ΔৼΔ͍Λද͍͕ͨ͠03.ͷ͕ࣝ͋ͬͯ ɹॲཧ͕ಡΈͮΒ͍ ᶄ ಛఆͷ03.%#ʹґଘͨ͠ॲཧʹͳ͍ͬͯΔ
ᶃ λεΫొ͢ΔৼΔ͍Λද͍͕ͨ͠03.ͷ͕ࣝ͋ͬͯ ɹॲཧ͕ಡΈͮΒ͍ ͬͨ ᶄ ಛఆͷ03.%#ʹґଘͨ͠ॲཧʹͳ͍ͬͯΔ ˠ.Z4RMͷ͕ࣝVTF$BTFʹ࿙Ε͍ͯΔ ґଘ͍ͯ͠Δ
MySQL Radis MySQL
Radis ଞʹӬଓԽઌ͕૿͑ͨΒɺɺɺ JGจ͕૿͑·͘Δ ՃΕ͕ൃੜ͢Δ λεΫొΫϥε $SFBUF5BTL6TF$BTF .Z4RM
3FQPTJUPSZ 3BEJT 3FQPTJUPSZ ɺɺɺɺ
λεΫొΫϥε $SFBUF5BTL6TF$BTF .Z4RM 3FQPTJUPSZ 3BEJT 3FQPTJUPSZ ɺɺɺɺ
*5BTL3FQPTJUPSZ *OUFSGBDF5BTL3FQPTJUPSZ MySqlReposity RadisRepsotory (interface) (DI) JGذ͕ͳ͘ͳΔ ಛఆͷ%#ʹґଘ͠ͳ͍
DI( ) - - ( mock ) - ( )
- interface