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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Koji Saiki
October 15, 2017
Programming
1.9k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
なぜ誰もこう書いてくれない Dependency Injection
Koji Saiki
October 15, 2017
More Decks by Koji Saiki
See All by Koji Saiki
Scaffold for Read and Debug JavaScript
kojisaiki
0
110
Angular で PCF した話
kojisaiki
0
590
Why is the subject of the story about Java support JDK?
kojisaiki
0
150
いまどきのSIer的品質向上
kojisaiki
0
180
誰も教えてくれなかったSEとしてただ一つ必要なこと
kojisaiki
0
480
真・なぜ誰もこう書いてくれないDependency Injection入門
kojisaiki
0
810
Other Decks in Programming
See All in Programming
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
260
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
150
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
340
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
110
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.5k
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.4k
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
360
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
220
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
1
480
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.9k
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
860
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
120
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
580
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
Optimizing for Happiness
mojombo
378
71k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
670
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
770
Accessibility Awareness
sabderemane
1
200
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
520
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
460
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