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
メンヘラコードをDIを使って駆逐する
Search
tomoya-kamaji
May 22, 2022
Technology
0
890
メンヘラコードをDIを使って駆逐する
tomoya-kamaji
May 22, 2022
Tweet
Share
More Decks by tomoya-kamaji
See All by tomoya-kamaji
デザインドックから学ぶ開発手法
tomoyakamaji
0
710
Clean Architecture ~ 達人に学ぶソフトウェア構造と設計
tomoyakamaji
0
950
複雑な検索処理をElasticSearchで駆逐する
tomoyakamaji
0
1.1k
Other Decks in Technology
See All in Technology
UI State設計とテスト方針
rmakiyama
2
300
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
23
11k
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
1
230
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
160
AIのコンプラは何故しんどい?
shujisado
1
190
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
440
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
540
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
250
CustomCopを使ってMongoidのコーディングルールを整えてみた
jinoketani
0
220
アップデート紹介:AWS Data Transfer Terminal
stknohg
PRO
0
170
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
Featured
See All Featured
Thoughts on Productivity
jonyablonski
67
4.4k
The Cult of Friendly URLs
andyhume
78
6.1k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Designing Experiences People Love
moore
138
23k
Optimizing for Happiness
mojombo
376
70k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Writing Fast Ruby
sferik
628
61k
Scaling GitHub
holman
458
140k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
94
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
A Tale of Four Properties
chriscoyier
157
23k
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