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
Compile Time DIのススメ
Search
s10myk4
April 03, 2018
Programming
1.3k
3
Share
Compile Time DIのススメ
s10myk4
April 03, 2018
More Decks by s10myk4
See All by s10myk4
新卒向けDDD(+ 要件定義/分析)研修資料
s10myk4
0
350
プロダクトオーナー向けユースケース駆動開発入門
s10myk4
0
400
ユースケース駆動開発入門 (理論・実践編)
s10myk4
10
4.3k
Scalaの線形化と抽象型メンバーの統一のジレンマ
s10myk4
3
1.1k
Other Decks in Programming
See All in Programming
Alternatives to JPA 2026
debop
0
110
ルールルルルルRubyの中身の予備知識 ── RubyKaigiの前に予習しなイカ?
ydah
1
180
Server-Side Kotlin LT大会 vol.18 [Kotlin-lspの最新情報と Neovimのlsp設定例]
yasunori0418
1
150
Angular Signal Forms
debug_mode
0
110
Claude Codeをカスタムして自分だけのClaude Codeを作ろう
terisuke
0
140
Don't Prompt Harder, Structure Better
kitasuke
0
770
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
550
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
2
180
forteeの改修から振り返るPHPerKaigi 2026
muno92
PRO
3
290
UIの境界線をデザインする | React Tokyo #15 メイントーク
sasagar
2
360
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
3
350
実践CRDT
tamadeveloper
0
570
Featured
See All Featured
Practical Orchestrator
shlominoach
191
11k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
230
YesSQL, Process and Tooling at Scale
rocio
174
15k
Exploring anti-patterns in Rails
aemeredith
3
320
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Documentation Writing (for coders)
carmenintech
77
5.3k
A Soul's Torment
seathinner
6
2.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
890
Everyday Curiosity
cassininazir
0
200
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
130
How GitHub (no longer) Works
holman
316
150k
Transcript
$PNQJMFUJNF%*ͷεεϝ ࢢϲ୩(FFL˒/JHIU4DBMB.BUTVSJิܭը
ࣗݾհ w Լଜ๎೭ 4IJNPNVSB5PNPZVLJ w !TNZL w ηϓςʔχɾΦϦδφϧ w
ਓࣄؔ࿈ͷϓϩδΣΫτͰɺओʹΞʔΩςΫτͱ 10Λ݉
1MBZͷ%FGBVMU͔ͩΒ(VJDFͬͯͨਓʹબࢶͷͭ ʹͳͬͯΒ͑ͨΒ͍͍ ίϯηϓτ
ংষ 3VOUJNF%*ͱ.BOVBM%* .BD8JSFʹ͍ͭͯ %*ͷओཁͳέʔεͰͷ.BD8JSFͰͷྫ .BD8JSFͷσϝϦοτ
"QQMJDBUJPO-PBEFSͱ͍͏ଘࡏ ·ͱΊ ΞδΣϯμ
ͦͦڽͬͨ%*ख๏͕ॏཁͳͷͰͳ͘ɺ ίϯϙʔωϯτͷґଘؔͷཧͭͭ͠ɺґଘؔͷ ߏஙΛγϯϓϧʹ࣮ݱ͍ͨ͠ Ϟνϕʔγϣϯ
%*ʁ w ίϯϙʔωϯτؒͷؔΠϯλϑΣʔεΛ༻͍ͯ هड़͠ɺ۩ମతͳίϯϙʔωϯτΛࢦఆ͠ͳ͍ɻ ۩ମతʹͲͷίϯϙʔωϯτΛར༻͢Δ͔ผͷί ϯϙʔωϯτ֎෦ϑΝΠϧΛར༻͢Δ͜ͱͰɺ ίϯϙʔωϯτؒͷґଘؔΛബ͘͢Δ͜ͱ͕Ͱ͖ Δ 8JLJࢀর
1MBZ'8ͷ%*ࣄ w +43ʹج͍ͮͨ3VOUJNF%*ͱ$PNQJMFUJNF %*ͷ྆ํΛαϙʔτ w σϑΥϧτ(VJDF w جຊDPOTUSVDUPS*OKFDUJPO
%*ͷख๏ͷϝϦσϝ
3VOUJNF%*ͷར (VJDF w ϝϦοτ ϘΠϥʔϓϨʔτίʔυΛ͑Δ w σϝϦοτ DPNQJMF࣌ʹґଘؔͷߏஙΛݕূͰ͖ͳ͍ ΞϊςʔγϣϯIFMM طଘίʔυʹґଘ͕૿͑Δ
$PNQJMF5JNF%*ͷར w ϝϦοτ ܕ҆શ ίϯύΠϧ࣌ʹґଘ͕ؔຬͨ͞ΕΔ͜ͱΛݕূͰ͖Δ ϓϨʔϯͳ4DBMBͱίϯετϥΫλύϥϝʔλΛ͏͚ͩ ॊೈੑ͕ߴ͍ SVOUJNFͰͷSFqFDUJPO͕ඞཁͳ͍ͷͰɺ͔͔ᷮ͠Εͳ͍͕ى ಈ͕࣌ؒ͘ͳΔ
w σϝϦοτ ίʔυྔϘΠϥʔϓϨʔτ૿͑Δ ίϯύΠϧ͕࣌ؒ৳ͼΔ
$PNQJMF5JNF%*ͷީิ w 5IJO$BLF1BUUFSO ඪ४ͷݴޠػೳ͚ͩͰ࣮ݱͰ͖Δ͕ɺϚχϡΞϧͰґ ଘؔΛఆٛ͢Δͷਏ͍ɺϘΠϥʔϓϨʔτ͕૿͑Δ w 3FBEFS.POBE ఆٛͱ࣮ߦΛ͢Δ͜ͱͰ%*Λ࣮ݱ ґଘ͕ෳࡶʹͳΔͱѻ͍ʹ͍͘ w
BVUPXJSJOHCZNBDSPT .BD8JSF
"VUPXJSJOHʹΑΔ $PNQJMF5JNF%* w Լهͷ՝Λվળ w ϚχϡΞϧͰґଘؔΛఆٛ͢Δͷਏ͍ w ϘΠϥʔϓϨʔτ͕૿͑Δ
.BD8JSF
؆୯ͳྫ XJSFͯ͠Δͱ͜Ζ͕ϚΫϩͰԼهʹల։
͋Εɺɺ
ίϯύΠϧ࣌ʹґଘؔͷݕ ূͰ͖ͯɺɺ
ґଘؔΛϚΫϩ͕ղܾͯ͠ ͘Εͯɺɺ
.BD8JSF࠷ߴʘ ?Т? ʗ γϯϓϧʂγϡοͱͯ͠Δʂ
%*ͷओཁͳέʔεͰͷ NBDXJSFͷྫ Ұ෦(VJDFͰͷํ๏ͱൺֱ͠ͳ͕Βɺ%*Ͱͷओཁ ͳέʔεΛNBDXJSFͰͲΜͳײ͡Ͱ࣮ݱͰ͖Δ͔ ؆୯ͳྫΛڍ͛Δ
MB[ZWBMͰͷએݴ WBMͰఆٛ͢ΔͱΠϯελϯε͕ॳظԽ͞ΕΔલʹ ࢀর͠Α͏ͱ͢ΔͱOVMMʹͳΔ MB[ZWBMͰఆٛ͢ΔͱΦϯσϚϯυͰదͳॳظ ԽॱংΛࣗಈͰܭࢉ͞ΕΔ
͋Δܕʹରͯͭ͠ͷ࣮Λؔ࿈ ͚ͮΔ w (VJDF -JOLFECJOEJOH w .BD8JSF
͋Δܕʹ۩ମతͳΠϯελϯεΛੜ͠ɺ όΠϯυ͢Δ w (VJDF *OTUBODF#JOEJOHTPS1SPWJEFT.FUIPETPS 1SPWJEFS#JOEJOHT ΠϯελϯεੜͷෳࡶʹΑ͍͚ͬͯΒΕΔ ͭͷํ๏͕ఏڙ͞Ε͍ͯΔ
͋Δܕʹ۩ମతͳΠϯελϯεΛੜ͠ɺ όΠϯυ͢Δ w *OTUBODF#JOEJOHT w 1SPWJEFS#JOEJOHT
͋Δܕʹ۩ମతͳΠϯελϯεΛੜ͠ɺ όΠϯυ͢Δ w .BD8JSF'BDUPSZ.FUIPE
ܕύϥϝʔλΛͬͨ%* w (VJDF5ZQF-JUFSBM w .BD8JSF
ಉҰͷܕͰෳΠϯελϯε #FSSZ!!#MVFPS5BHHFE<#FSSZ #MVF> XJSF<#FSSZ>UBHHFE8JUI<#MVF>
4DPQF w (VJDF σϑΥϧτͰΛཁٻ͞ΕΔʹɺ৽͍͠Πϯελϯε࡞ !4JOHMFUPO !4FTTJPO4DPQFE !3FRVFTU4DPQFEͳͲͰΠ ϯελϯεͷϥΠϑλΠϜΛมߋͰ͖Δ w
.BD8JSF MB[ZWBMͰએݴγϯάϧτϯ EFGཁٻ͞ΕΔʹ৽͍͠ΠϯελϯεΛ࡞ͯ͠ฦ͢ 4DPQFUSBJUΛͬͯSFRVFTUTFTTJPOͷ༷ͳಠࣗͷ TDPQFΛఆٛͰ͖Δ
.PEVMFΛίϯύΫτʹอͭ
5FTUJOH جຊతʹDPOTUSVDUPS*OKFDUJPOͳͷͰɺ ίϯϙʔωϯτͷ୯ମςετͰɺ ؆୯ʹNPDLΛͤ͞Δ
5FTUJOH w ςετ࣌ʹςετ༻ͷ%#ʹΓସ͑ͨΓͰ͖Δ
.BD8JSFͦͷଞػೳ w 6TJOHJNQMJDJUQBSBNFUFST w .VMUJ8JSJOH w "LLBJOUFHSBUJPO w FUDʜ
.BD8JSFͷσϝϦοτ w ίϯύΠϧ͕࣌ؒ৳ͼΔ w FYQFSJNFOUBMͳػೳ NBDSPT ʹґଘͯ͠ ͍Δ
"QQMJDBUJPO-PBEFSͱ͍͏ଘࡏ
"QQMJDBUJPO-PBEFSͱ (VJDFͷ߹ɺ(VJDF"QQMJDBUJPO#VJMEFS͍ͬͯ͏ϔϧύʔ͕ ఏڙ͞Ε͍ͯͯSFGFSFODFDPOGʹඪ४Ͱઃఆ͞ΕͯͨͷͰ ಛ ʹҙࣝ͠ͳͯ͘ࡁΜͩ ΞϓϦέʔγϣϯࣗମͰߏஙͰ͖ͳ͍Α͏ͳίϯςΩετΛ༩ ͑ΒΕͯ ΞϓϦέʔγϣϯΛΠϯελϯεԽ͢Δׂ
"QQMJDBUJPO-PBEFSͰίϯϙʔωϯτͷґଘؔΛղܾͰ͖ ΔΑ͏ʹͯ͋͛͠Δඞཁ͕͋Δ
None
·ͱΊ .BD8JSFͰͷDPNQJMFUJNF%*ݒ೦͋Δͷͷɺ 5IJODBLFQBUUFSOͷσϝϦοτͰ͋ͬͨίʔυྔϘ ΠϥʔϓϨʔτ͕ۃྗগͳ͘ɺ$PNQJMFUJNF%*Λ࣮ ݱͰ͖Δͷͱͯྑ͍ ػೳॆ࣮͓ͯ͠Γɺ͍ํγϯϓϧͰ͋Δ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠