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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
1
120
関係性から理解する"同一性"の型用語たち
pvcresin
1
190
AI時代になぜ書くのか
mutsumix
0
420
Back to the roots of date
jinroq
0
870
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
1
120
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1.1k
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
3
550
Skillは並べた。動かなかった。契約で繋いだ。— 65個のSkillから、自走する開発サイクルへ
junholee
0
620
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
1.3k
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
620
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
450
PHPでローカル環境用のSSL/TLS証明書を発行することはできるのか? #phpconkagawa
akase244
0
370
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
300
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
210
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
550
Technical Leadership for Architectural Decision Making
baasie
3
370
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
250
A designer walks into a library…
pauljervisheath
211
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Test your architecture with Archunit
thirion
1
2.2k
Color Theory Basics | Prateek | Gurzu
gurzu
0
310
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%*Λ࣮ ݱͰ͖Δͷͱͯྑ͍ ػೳॆ࣮͓ͯ͠Γɺ͍ํγϯϓϧͰ͋Δ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠