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
320
goはwireでDIする
Takashi Matsuyuki
May 30, 2019
Tweet
Share
More Decks by Takashi Matsuyuki
See All by Takashi Matsuyuki
新規事業立ち上げ、グロースで きちんと”デリバリー”も"ディスカバリー"も し続けられるアジャイル組織の作り方
applepine1125
2
2.1k
最後に勝つ負け方を知っておく
applepine1125
1
460
評価者を孤独にしない
applepine1125
15
5.9k
"OKR"と"野望"で、 メンバーと組織をアラインメントする
applepine1125
5
1.1k
君たちはどうユーザーと向き合うか
applepine1125
0
420
Self-Organizing Product Development Team: Empowered Output Cycle and Collaborative Culture
applepine1125
0
1.1k
オーナーシップを持ち自己組織化するチームに必要な Engineering Program Managerという役割
applepine1125
2
2.1k
Settlement simulation testing to ensure correct settlement processing
applepine1125
2
3k
learning-cleanarchitecture-in-go
applepine1125
0
200
Other Decks in Technology
See All in Technology
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
210
vLLM meetup Tokyo
jpishikawa
1
250
工具人的一生: 開發很多 AI 工具讓我 慵懶過一生
line_developers_tw
PRO
0
700
IIWレポートからみるID業界で話題のMCP
fujie
0
580
In Praise of "Normal" Engineers (LDX3)
charity
2
1.1k
ハノーバーメッセ2025座談会.pdf
iotcomjpadmin
0
130
Observability в PHP без боли. Олег Мифле, тимлид Altenar
lamodatech
0
130
API の仕様から紐解く「MCP 入門」 ~MCP の「コンテキスト」って何だ?~
cdataj
0
170
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
140
BigQuery Remote FunctionでLooker Studioをインタラクティブ化
cuebic9bic
2
140
_第3回__AIxIoTビジネス共創ラボ紹介資料_20250617.pdf
iotcomjpadmin
0
130
2025/6/21 日本学術会議公開シンポジウム発表資料
keisuke198619
2
440
Featured
See All Featured
Building an army of robots
kneath
306
45k
The Language of Interfaces
destraynor
158
25k
Writing Fast Ruby
sferik
628
61k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
780
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Cost Of JavaScript in 2023
addyosmani
50
8.4k
4 Signs Your Business is Dying
shpigford
184
22k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Six Lessons from altMBA
skipperchong
28
3.8k
Fireside Chat
paigeccino
37
3.5k
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ͰΓͮΒ͞Λײͨ͡ ͱ͖ʹͦͦઃܭ͕·͍ͣͷͰʁͱཱͪͬͯߟ͑Δ͖͔͚ͬʹ
ͳΓͦ͏ ϝϦσϝ
ୀ۶ͳ͜ͱ ϥΠϒϥϦʹΒͤΑ͏