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
0
310
goはwireでDIする
Takashi Matsuyuki
May 30, 2019
Tweet
Share
More Decks by Takashi Matsuyuki
See All by Takashi Matsuyuki
新規事業立ち上げ、グロースで きちんと”デリバリー”も"ディスカバリー"も し続けられるアジャイル組織の作り方
applepine1125
2
1.8k
最後に勝つ負け方を知っておく
applepine1125
1
430
評価者を孤独にしない
applepine1125
15
5.8k
"OKR"と"野望"で、 メンバーと組織をアラインメントする
applepine1125
5
1k
君たちはどうユーザーと向き合うか
applepine1125
0
390
Self-Organizing Product Development Team: Empowered Output Cycle and Collaborative Culture
applepine1125
0
980
オーナーシップを持ち自己組織化するチームに必要な Engineering Program Managerという役割
applepine1125
2
2k
Settlement simulation testing to ensure correct settlement processing
applepine1125
2
3k
learning-cleanarchitecture-in-go
applepine1125
0
170
Other Decks in Technology
See All in Technology
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
350
手を動かしてレベルアップしよう!
maruto
0
240
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
8
3.9k
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
280
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
230
事業モメンタムを生み出すプロダクト開発
macchiitaka
0
100
Global Databaseで実現するマルチリージョン自動切替とBlue/Greenデプロイ
j2yano
0
150
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
200
1行のコードから社会課題の解決へ: EMの探究、事業・技術・組織を紡ぐ実践知 / EM Conf 2025
9ma3r
12
4.4k
困難を「一般解」で解く
fujiwara3
7
1.6k
MIMEと文字コードの闇
hirachan
2
1.4k
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
440
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Designing for Performance
lara
605
68k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
We Have a Design System, Now What?
morganepeng
51
7.4k
Music & Morning Musume
bryan
46
6.4k
Scaling GitHub
holman
459
140k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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ͰΓͮΒ͞Λײͨ͡ ͱ͖ʹͦͦઃܭ͕·͍ͣͷͰʁͱཱͪͬͯߟ͑Δ͖͔͚ͬʹ
ͳΓͦ͏ ϝϦσϝ
ୀ۶ͳ͜ͱ ϥΠϒϥϦʹΒͤΑ͏