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
なぜ誰もこう書いてくれない Dependency Injection
Search
Koji Saiki
October 15, 2017
Programming
5
1.8k
なぜ誰もこう書いてくれない Dependency Injection
Koji Saiki
October 15, 2017
Tweet
Share
More Decks by Koji Saiki
See All by Koji Saiki
Scaffold for Read and Debug JavaScript
kojisaiki
0
76
Angular で PCF した話
kojisaiki
0
530
Why is the subject of the story about Java support JDK?
kojisaiki
0
120
いまどきのSIer的品質向上
kojisaiki
0
150
誰も教えてくれなかったSEとしてただ一つ必要なこと
kojisaiki
0
440
真・なぜ誰もこう書いてくれないDependency Injection入門
kojisaiki
0
750
Other Decks in Programming
See All in Programming
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
10
1.6k
kiroでゲームを作ってみた
iriikeita
0
140
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
0
220
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
rvirus0817
0
360
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
720
SwiftでMCPサーバーを作ろう!
giginet
PRO
2
230
Go製CLIツールをnpmで配布するには
syumai
2
1.1k
Jakarta EE Meets AI
ivargrimstad
0
610
CEDEC 2025 『ゲームにおけるリアルタイム通信への QUIC導入事例の紹介』
segadevtech
3
770
画像コンペでのベースラインモデルの育て方
tattaka
3
1.3k
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
3
790
MySQL9でベクトルカラム登場!PHP×AWSでのAI/類似検索はこう変わる
suguruooki
1
280
Featured
See All Featured
Docker and Python
trallard
45
3.5k
Bash Introduction
62gerente
614
210k
Raft: Consensus for Rubyists
vanstee
140
7.1k
What's in a price? How to price your products and services
michaelherold
246
12k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
A better future with KSS
kneath
239
17k
The Cult of Friendly URLs
andyhume
79
6.5k
Designing for humans not robots
tammielis
253
25k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
ͳͥ୭͜͏ॻ͍ͯ͘Εͳ͍ %FQFOEFODZ*OKFDUJPOೖ 2017/10/5
ࣗݾհ ! ͓ͳ·͑ɿࠤഢߛೋʢ͍͖͜͞͏͡ʣ ! ͱ͜ΖɿԬɾେࡕ ! ͭͿ͖ɿIUUQTUXJUUFSDPNTBJLPV ! ͿɿIUUQTHJUIVCDPNLPKJTBJLJ !
ͿΖ͙ɿIUUQJSPOZIBUFOBCMPHDPN
ɹ%FQFOEFODZ*OKFDUJPOɺґଘੑೖʜ ɹཧղ͍ͨ͠Ͱ͢ΑͶɻ
ʮͦ͜4FSWJDF$MBTTͷ*OTUBODFΛ ɹ*OKFDU͢ΕҰൃͰ͢Αɻʯ ɹͱ͔ݴ͍͍ͨͰ͢ΑͶɻ
ɹ·ͣ͜ΕΛ಄ʹୟ͖ࠐΜͰ͍ͩ͘͞ɻ
ʮ%FQFOEFODZ*OKFDUJPOʯͱ͍͏໊લ͔Β ɹػೳΛཧղ͢Δ͜ͱͰ͖·ͤΜʂʂʂ
z%*z͔Βਪଌ͢Δ͜ͱlෆՄೳzͰ͢ ! %FQFOEFODZ*OKFDUJPO ! ຊޠʹ༁͢Δͱʮґଘੑೖʯ ! ͔͜͜ΒೖΔͱཧղͰ͖·ͤΜ
͜ΕΘ͔Γ·͔͢ʁ
͜ΕΘ͔Γ·͔͢ʁ ! 0CKFDU0SJFOUFE1SPHSBNNJOH
͜ΕΘ͔Γ·͔͢ʁ ! 0CKFDU0SJFOUFE1SPHSBNNJOH ! .JTTJPO$POUSPM
͜ΕΘ͔Γ·͔͢ʁ ! 0CKFDU0SJFOUFE1SPHSBNNJOH ! .JTTJPO$POUSPM ! ӡ໋ͱ͍͏໊ͷ31( ! Ӭԕͱឺͷ13( !
܅ͱڹ͖͋͏31(
͜ΕΘ͔Γ·͔͢ʁ ! 0CKFDU0SJFOUFE1SPHSBNNJOH ! .JTTJPO$POUSPM ! ӡ໋ͱ͍͏໊ͷ31( ! Ӭԕͱឺͷ13( !
܅ͱڹ͖͋͏31( ! %FQFOEFODZ*OKFDUJPOOFX
ɹ͖͋ΒΊΑ͏
Ұ୴ɺ໊લΛΕ·͠ΐ͏ ! ਖ਼໊ࣜশͱ͔ຊޠͱ͔Εͯɺʮ%*ʯԿΛ͢Δͷʁͱ͍͏ͱ͜Ζ͔Βೖ Δͷ͕l࣮֬z
͡Ό͋ʮ%*ʯԿΛ͢Δͷʁ ! ུশɾਖ਼໊ࣜশΛҙࣝͤͣɺతɾୡ͍ͨ͜͠ͱΛཧղ͠·͠ΐ͏ ! ڭՊॻɿʮ࡞ͬͯཧղ͢Δ%*ίϯςφʯ IUUQEIBUFOBOFKQOPXPLBZ ! ͖ͩ͠͞Μ͕͢͞Ͱ͢
! هࣄͷཁͳͲ͍ͯ͠·ͤΜɻ͔͋͠Βͣɻ
͍ͭ͜ʹͯ͠΄͍͜͠ͱ
͍ͭ͜ʹͯ͠΄͍͜͠ͱ ! ཉ͍͠ΦϒδΣΫτʢΠϯελϯεʣΛ༻ҙͯ͘͠ΕΔ
͍ͭ͜ʹͯ͠΄͍͜͠ͱ ! ཉ͍͠ΦϒδΣΫτʢΠϯελϯεʣΛ༻ҙͯ͘͠ΕΔ ! Ұੜ͞ΕͨΦϒδΣΫτΛอ͓͍ͯͯ͘͠ΕΔ
͍ͭ͜ʹͯ͠΄͍͜͠ͱ ! ཉ͍͠ΦϒδΣΫτʢΠϯελϯεʣΛ༻ҙͯ͘͠ΕΔ ! Ұੜ͞ΕͨΦϒδΣΫτΛอ͓͍ͯͯ͘͠ΕΔ ! γϯάϧτϯΠϯελϯε͘ΕΔ
͍ͭ͜ʹͯ͠΄͍͜͠ͱ ! ཉ͍͠ΦϒδΣΫτʢΠϯελϯεʣΛ༻ҙͯ͘͠ΕΔ ! Ұੜ͞ΕͨΦϒδΣΫτΛอ͓͍ͯͯ͘͠ΕΔ ! γϯάϧτϯΠϯελϯε͘ΕΔ ! ςετͷͱ͖ɺςετ༻ͷΦϒδΣΫτͱखܰʹΓସ͑ͯ͘ΕΔ
ɹͭ·Γɺ ʮ͍͍ײ͡ʹΦϒδΣΫτΛ͘ΕΔͭʯ ɹͰ͢ɻ
͡Ό͋ɺͦΖͦΖΠέͯΔ໊લ͚ͭΔ͔ ! .BSUJOʮϓϩάϥϜΦϒδΣΫτΛͬͯಈ࡞͍ͯ͠ΔɻͦΕΛదʹࠩ͠ ࠐΜͰ΄͍͠ɻʯ
͡Ό͋ɺͦΖͦΖΠέͯΔ໊લ͚ͭΔ͔ ! .BSUJOʮϓϩάϥϜΦϒδΣΫτΛͬͯಈ࡞͍ͯ͠ΔɻͦΕΛదʹࠩ͠ ࠐΜͰ΄͍͠ɻʯ ! .BSUJOʮͭ·ΓzґଘੑzͷzೖzͶɻʯ
͡Ό͋ɺͦΖͦΖΠέͯΔ໊લ͚ͭΔ͔ ! .BSUJOʮϓϩάϥϜΦϒδΣΫτΛͬͯಈ࡞͍ͯ͠ΔɻͦΕΛదʹࠩ͠ ࠐΜͰ΄͍͠ɻʯ ! .BSUJOʮͭ·ΓzґଘੑzͷzೖzͶɻʯ ! .BSUJOʮͰ͢Ͷɻʯ ! Զʮʁʁʁʯ
ɹɹɹɹʊਓਓਓਓਓਓਓਓਓਓਓਓʊ ɹɹɹɹʼɹ%FQFOEFODZ*OKFDUJPOɹʻ ɹɹɹɹʉ:?:?:?:?:?:?:?:?:?:?:ʉ
͡Ό͋ɺͦΖͦΖΠέͯΔ໊લ͚ͭΔ͔ ! .BSUJOʮ%*ΛΒͤΔϓϩάϥϜʹͳΜ໊ͯલΛ͚ͭΑ͏ʁʯ
͡Ό͋ɺͦΖͦΖΠέͯΔ໊લ͚ͭΔ͔ ! .BSUJOʮ%*ΛΒͤΔϓϩάϥϜʹͳΜ໊ͯલΛ͚ͭΑ͏ʁʯ ! .BSUJOʮͷղऍͩͱ͜ΕzίϯςφzͳΜͩΑͶɻΦϒδΣΫτΛఏڙ͠ͳ ͕ΒɺϒϥοΫϘοΫεͰͪΌΜͱࣄΛ͜ͳͯ͘͠ΕΔΞΫλʔɻʯ
͡Ό͋ɺͦΖͦΖΠέͯΔ໊લ͚ͭΔ͔ ! .BSUJOʮ%*ΛΒͤΔϓϩάϥϜʹͳΜ໊ͯલΛ͚ͭΑ͏ʁʯ ! .BSUJOʮͷղऍͩͱ͜ΕzίϯςφzͳΜͩΑͶɻΦϒδΣΫτΛఏڙ͠ͳ ͕ΒɺϒϥοΫϘοΫεͰͪΌΜͱࣄΛ͜ͳͯ͘͠ΕΔΞΫλʔɻʯ ! .BSUJOʮz%*ͷΛෛ͏ίϯςφzͶɻʯ ! Զʮʁʁʁʁʁʁʯ
ɹɹɹɹɹʊਓਓਓਓਓਓਓʊ ɹɹɹɹɹʼɹ%*ίϯςφɹʻ ɹɹɹɹɹʉ:?:?:?:?:?:ʉ
ɹ͖͋ΒΊΑ͏
ɹͪΐͬͱ͕Μͬͯߟ͑Δͱɺ ɹ%*ίϯςφͷzίϯςφzͬͯɾɾɾ
͜͏͡Όͳͯ͘
͜͏ʁ
Ͱɺ͜͏ʁ ΦϒδΣΫτ Πϯελϯε γϯάϧτϯ औΓἧ͑ͯ·͢ʂ ΦʔμʔϝΠυ ঝΓ·͢ʂ
·ͱΊ ! z%FQFOEFODZ*OKFDUJPOzɺzґଘੑೖzͱ͍͏ݴ༿ΕͯɺతΛΓ·͠ ΐ͏ɻ֮ͦͯͬͯ͑͠·͠ΐ͏ɻ ! z%*ίϯςφzʮ%*ͷׂΛ୲͏ϓϩάϥϜʯఔʹΏΔ֮͑͘·͠ΐ͏ɻ ! ͖ͩ͠ͳ͓͖ɹ͞Μɺ͍Β͢ͱɹ͞Μɺແஅ༻Ͱࣦྱ͠·͢N @@ N
͓ΘΓ kojisaiki/saikou9901