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
3
1.1k
Compile Time DIのススメ
s10myk4
April 03, 2018
Tweet
Share
More Decks by s10myk4
See All by s10myk4
新卒向けDDD(+ 要件定義/分析)研修資料
s10myk4
0
340
プロダクトオーナー向けユースケース駆動開発入門
s10myk4
0
370
ユースケース駆動開発入門 (理論・実践編)
s10myk4
10
4k
Scalaの線形化と抽象型メンバーの統一のジレンマ
s10myk4
3
1.1k
Other Decks in Programming
See All in Programming
rails newと同時に型を書く
aki19035vc
5
710
Amazon Nova Reelの可能性
hideg
0
200
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
130
月刊 競技プログラミングをお仕事に役立てるには
terryu16
1
1.2k
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
180
Beyond ORM
77web
11
1.6k
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
1.9k
ASP.NET Core の OpenAPIサポート
h455h1
0
120
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
4
240
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
240
Оптимизируем производительность блока Казначейство
lamodatech
0
950
functionalなアプローチで動的要素を排除する
ryopeko
1
210
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Optimising Largest Contentful Paint
csswizardry
33
3k
Building an army of robots
kneath
302
45k
Building Adaptive Systems
keathley
38
2.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
Become a Pro
speakerdeck
PRO
26
5.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
4 Signs Your Business is Dying
shpigford
182
22k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Writing Fast Ruby
sferik
628
61k
jQuery: Nuts, Bolts and Bling
dougneiner
62
7.6k
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%*Λ࣮ ݱͰ͖Δͷͱͯྑ͍ ػೳॆ࣮͓ͯ͠Γɺ͍ํγϯϓϧͰ͋Δ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠