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
goはwireでDIする
Search
Takashi Matsuyuki
May 30, 2019
Technology
370
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
goはwireでDIする
Takashi Matsuyuki
May 30, 2019
More Decks by Takashi Matsuyuki
See All by Takashi Matsuyuki
新規事業立ち上げ、グロースで きちんと”デリバリー”も"ディスカバリー"も し続けられるアジャイル組織の作り方
applepine1125
2
2.8k
最後に勝つ負け方を知っておく
applepine1125
1
550
評価者を孤独にしない
applepine1125
15
6.1k
"OKR"と"野望"で、 メンバーと組織をアラインメントする
applepine1125
5
1.2k
君たちはどうユーザーと向き合うか
applepine1125
0
470
Self-Organizing Product Development Team: Empowered Output Cycle and Collaborative Culture
applepine1125
0
1.4k
オーナーシップを持ち自己組織化するチームに必要な Engineering Program Managerという役割
applepine1125
2
2.4k
Settlement simulation testing to ensure correct settlement processing
applepine1125
2
3.3k
learning-cleanarchitecture-in-go
applepine1125
0
240
Other Decks in Technology
See All in Technology
猫付きpingコマンドを自作
uyuki234
0
250
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
4
390
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
5
1.9k
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
270
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
240
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
AI-DLC実践録_フルサイクル開発への挑戦
miyuc
0
240
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
1
260
強化学習「理論」入門
enakai00
3
3.6k
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
400
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
6k
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
770
Become a Pro
speakerdeck
PRO
31
6.2k
So, you think you're a good person
axbom
PRO
2
2.1k
How STYLIGHT went responsive
nonsquared
100
6.2k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
KATA
mclloyd
PRO
35
15k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Designing for humans not robots
tammielis
254
26k
The Invisible Side of Design
smashingmag
301
52k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Transcript
GowireͰDI͢Δ
ࣗݾհ ໊લ: দઇ @applepine1125
ΞδΣϯμ • wireͱ • ͍ํ • ϝϦοτɺσϝϦοτ
wireͱʁ
wireͱʁ w ґଘੑͷೖɺॳظԽΛߦ͏ϝιουΛࣗಈੜͯ͘͠ΕΔ ϥΠϒϥϦ w QSPWJEFS ֤ίϯϙʔωϯτͷΠχγϟϥΠβ ͱJOKFDUPS QSPWJEFS ͨͪΛݺͼग़ͯ͠%*͢Δ
Λ׆༻͍͍ͯ͠ײ͡ʹ%*͢Δ w HPPHMFɺ(P$MPVE͔ΒϥΠϒϥϦͱͯ͠Γग़͞Εͨ
͍ํ
͍ํ ྫ ҎԼͷΑ͏ͳϞδϡʔϧ܈Λ͍͍ײ͡ʹ%*͍ͨ͠ ֤ϞδϡʔϧͷQSPWJEFSΛ࣮ XJSFHPʹJOKFDUPSΛ࣮ wire genͰXJSF@HFOHPΛੜɺඞཁͳॴͰݺͼग़͢
֤ϞδϡʔϧͷproviderΛ࣮
֤QSPWJEFSΛXJSF#VJMEʹ·ͱΊͯಥͬࠐΉ ߦʹ// +build wireinject Λهड़͠ͳ͍ͱXJSFHFO͕ೝࣝ ͯ͘͠Εͳ͍ injectorΛ࣮
// +build wireinject Λهड़ͯ͋͠ΔϑΝΠϧΛೝࣝͯ͠ XJSF@HFOHP͕ੜ͞ΕΔ Γͳ͍ͷ͕͋Δ߹$-*ͷΤϥʔίϝϯτʹग़Δ wire_gen.goͷੜ
injectorͷهड़όϦΤʔγϣϯ FSSPSΛฦ͠͏ΔQSPWJEFS͕͋Δͱ͖ JOKFDUPSͷΓʹFSSPSΛՃ͢Δ͚ͩ ྫ /FX%3FQPTJUPSZ͕FSSPSΛฦ͠͏Δ
injectorͷهड़όϦΤʔγϣϯ FSSPSͱԿΒ͔ͷؔΛฦ͠͏ΔQSPWJEFS͕͋Δͱ͖ JOKFDUPSͷΓʹFSSPSͱGVOD ΛՃ͢Δ͚ͩ ྫ /FX%3FQPTJUPSZ͕FSSPSͱ%#$MPTF͢ΔؔΛฦ͠͏Δ
injectorͷهड़όϦΤʔγϣϯ ೖ͍ͨ͠ߏମ͕͋Δͱ͖ JOKFDUPSͷҾʹೖ͍ͨ͠ߏମΛՃ͢Δ͚ͩ ྫ /FX%3FQPTJUPSZ͕JOGSB%#JOUFSGBDFΛҾʹͱΓɺJOUFSGBDFΛ࣮ͨ͠NZTRMSFEJTଓ ͢ΔͨΊͷߏମΛJOKFDUPSͷݺͼग़͠ઌͰೖΕΔ
wireͷศརػೳ ・wire.NewSet(..interface{}) ProviderSet QSPWJEFSΛάϧʔϐϯάͰ͖Δ ґଘ͕ଟ͍ϞδϡʔϧͷQSPWJEFSΛ·ͱΊ͓ͯ͘ͱศར #4FSWJDF͕ґଘ͢ΔϞδϡʔϧ͕ଟ͍ͱ͖ɺ/FX4FUͰ·ͱΊͯɾɾɾ JOKFDUPSͰݺͼग़͢ͱศར
wireͷศརػೳ ଞʹ৭ʑ ɾwire show ͰQSPWJEFS4FUͷґଘϞδϡʔϧΛ֬ೝ ɾ#JOEJOH*OUFSGBDFͰJOUFSGBDFͱ࣮Λඥ͚ͮ ɾ#JOEJOH7BMVFTͰࢦఆͨ͠ΛಥͬࠐΜͰॳظԽ͢Δ υΩϡϝϯτΛಡ͏ IUUQTHJUIVCDPNHPPHMFXJSFUSFFNBTUFS@UVUPSJBM IUUQTHJUIVCDPNHPPHMFXJSFUSFFNBTUFSEPDT
IUUQTHPEPDPSHHJUIVCDPNHPPHMFXJSF
ϝϦοτɺσϝϦοτ
ϝϦοτ ɾʑͱΠχγϟϥΠβॻ͔ͳ͍͍ͯ͘ͷָ ɾΤϥʔϋϯυϦϯάͱ͔͢Δඞཁ͕͋Δͱ͖ߋʹָ ɾ1SPWJEFS4FUศར σϝϦοτ ɾಉ͡ύοέʔδʹෳXJSFHPஔ͚ͳ͍ ˠςετ༻ʹ%*͍ͨ͠ͱ͖ෆศ ɾΠχγϟϥΠβͰෳࡶͳ͜ͱ͢ΔͨΊʹख࣮͢Δ͔͠ͳ͍ ׂͱඞཁेͳػೳἧ͍ͬͯΔͷͰɺXJSFͰΓͮΒ͞Λײͨ͡ ͱ͖ʹͦͦઃܭ͕·͍ͣͷͰʁͱཱͪͬͯߟ͑Δ͖͔͚ͬʹ
ͳΓͦ͏ ϝϦσϝ
ୀ۶ͳ͜ͱ ϥΠϒϥϦʹΒͤΑ͏