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
vgo(Versioned Go Prototype) #golangtokyo
Search
Asuka Suzuki
April 16, 2018
Technology
13
9.4k
vgo(Versioned Go Prototype) #golangtokyo
2018/04/16 golang.tokyo #14 の発表です
Asuka Suzuki
April 16, 2018
Tweet
Share
More Decks by Asuka Suzuki
See All by Asuka Suzuki
Firestore概要
tanksuzuki
0
120
ReactNativeで位置情報を利用したアプリを作る
tanksuzuki
0
830
シスコルータでチャットする
tanksuzuki
0
140
Other Decks in Technology
See All in Technology
“それなりに”安全なWebアプリケーションの作り方
xryuseix
0
360
Quarkusで作るInteractive Stream Application
joker1007
0
140
Black Hat USA 2025 Recap ~ クラウドセキュリティ編 ~
kyohmizu
0
530
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
1.3k
はじめての OSS コントリビューション 〜小さな PR が世界を変える〜
chiroito
4
300
QAエンジニアがプロダクト専任で チームの中に入ると。。。?/登壇資料(杉森 太樹)
hacobu
PRO
0
230
[mercari GEARS 2025] Keynote
mercari
PRO
0
230
やり方は一つだけじゃない、正解だけを目指さず寄り道やその先まで自分流に楽しむ趣味プログラミングの探求 2025-11-15 YAPC::Fukuoka
sugyan
1
710
大規模プロダクトで実践するAI活用の仕組みづくり
k1tikurisu
4
950
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
7
4.2k
探求の技術
azukiazusa1
7
2k
コミュニティと共に変化する 私とFusicの8年間
ayasamind
0
470
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Writing Fast Ruby
sferik
630
62k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Gamification - CAS2011
davidbonilla
81
5.5k
Transcript
vgo HPMBOHUPLZP
λϯΫླ !UBOLTV[VLJ גࣜձࣾΤʔϐʔίϛϡχέʔγϣϯζ ("&(Pɾ'JSFCBTFɾHPQBDLFU 3FBDU3FEVY
λϯΫླ !UBOLTV[VLJ גࣜձࣾΤʔϐʔίϛϡχέʔγϣϯζ (PͰωοτϫʔΫϓϩάϥϛϯά ("&(PͷαʔϏε։ൃ ࠷ۙ࡞ͬͨͷ ը૾ΛΞοϓϩʔυ͢Δͱ $MPVE7JTJPO"1*ͰإΛݕग़ͯ͠ (PQIFSͬΆͯ͘͘͠ΕΔαʔϏε IUUQTHPQIFSJ[FDPN
λϯΫླ !UBOLTV[VLJ גࣜձࣾΤʔϐʔίϛϡχέʔγϣϯζ (PͰωοτϫʔΫϓϩάϥϛϯά ("&(PͷαʔϏε։ൃ ࠷ۙ࡞ͬͨͷ ը૾ΛΞοϓϩʔυ͢Δͱ $MPVE7JTJPO"1*ͰإΛݕग़ͯ͠ (PQIFSͬΆͯ͘͘͠ΕΔαʔϏε IUUQTHPQIFSJ[FDPN
ʁ vgo
HPίϚϯυʹΈࠐ·ΕΔ༧ఆͷύοέʔδཧػೳ ैདྷEFQHMJEFଞͰߦ͍ͬͯͨ͜ͱΛHPͰߦ͏
ϩʔυϚοϓ Α͏͘ύοέʔδཧ·ΘΓ͕མͪண͖ͦ͏ ݱࡏ (P (P ϓϩτλΠϓͱͯ͠WHPίϚϯυ͕ެ։ ςΫχΧϧϓϨϏϡʔ ਖ਼ࣜಋೖ
WHPʹΑͬͯมΘΔ͜ͱ #1ɹґଘؔͷղܾϏϧυ࣌ʹߦ͏ #2ɹWFOEPSσΟϨΫτϦ͕ෆཁʹͳΔ #3ɹഁյతͳมߋΛՃ͑ΔࡍJNQPSUQBUIΛม͑Δ #4ɹՄೳͳݶΓݹ͍όʔδϣϯ͕બ͞ΕΔ
#1ɹґଘؔͷղܾϏϧυ࣌ʹߦ͏
Ϗϧυରͷίʔυ package main // import "github.com/you/hello" import ( "fmt" "rsc.io/quote"
) func main() { fmt.Println(quote.Hello()) }
WHPCVJME $ vgo build vgo: resolving import "rsc.io/quote" vgo: finding
rsc.io/quote (latest) vgo: adding rsc.io/quote v1.5.2 vgo: finding rsc.io/quote v1.5.2 vgo: finding rsc.io/sampler v1.3.0 vgo: finding golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c vgo: downloading rsc.io/quote v1.5.2 vgo: downloading rsc.io/sampler v1.3.0 vgo: downloading golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c WHPCVJME࣌ͷϩά
WHPCVJME $ vgo build vgo: resolving import "rsc.io/quote" vgo: finding
rsc.io/quote (latest) vgo: adding rsc.io/quote v1.5.2 vgo: finding rsc.io/quote v1.5.2 vgo: finding rsc.io/sampler v1.3.0 vgo: finding golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c vgo: downloading rsc.io/quote v1.5.2 vgo: downloading rsc.io/sampler v1.3.0 vgo: downloading golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c HPHFUແ͠Ͱ͍͖ͳΓWHPCVJME͢Δ
WHPCVJME $ vgo build vgo: resolving import "rsc.io/quote" vgo: finding
rsc.io/quote (latest) vgo: adding rsc.io/quote v1.5.2 vgo: finding rsc.io/quote v1.5.2 vgo: finding rsc.io/sampler v1.3.0 vgo: finding golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c vgo: downloading rsc.io/quote v1.5.2 vgo: downloading rsc.io/sampler v1.3.0 vgo: downloading golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c ະͷJNQPSUzRVPUFzΛݕग़͠ɺ࠷৽൛Λμϯϩʔυ͢Δ
WHPCVJME $ vgo build vgo: resolving import "rsc.io/quote" vgo: finding
rsc.io/quote (latest) vgo: adding rsc.io/quote v1.5.2 vgo: finding rsc.io/quote v1.5.2 vgo: finding rsc.io/sampler v1.3.0 vgo: finding golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c vgo: downloading rsc.io/quote v1.5.2 vgo: downloading rsc.io/sampler v1.3.0 vgo: downloading golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c ͞ΒʹlRVPUFz͕ґଘ͢ΔύοέʔδΛμϯϩʔυ͢Δ
HPNPE module "github.com/you/hello" require ( "rsc.io/quote" v1.5.2 ) ґଘؔHPNPEϑΝΠϧͰཧ͞ΕΔ
HPNPE module "github.com/you/hello" require ( "rsc.io/quote" v1.5.2 ) ࣗͷJNQPSUQBUIͷએݴ
HPNPE module "github.com/you/hello" require ( "rsc.io/quote" v1.5.2 ) ґଘͷύοέʔδΛηϚϯςΟοΫόʔδϣχϯάͰཧ
#2ɹWFOEPSσΟϨΫτϦ͕ෆཁʹͳΔ
WFOEPSσΟϨΫτϦ͕ෆཁʹͳΔ ✱ WHPWFOEPSσ ΟϨΫτϦΛ࡞͠ͳ͍ ✱ ͦͷͨΊɺWFOEPSJOHͷͨΊʹ(01"5)ͷதͰ࡞ۀ͢Δඞཁ͕ͳ͍
WFOEPSσΟϨΫτϦ͕ෆཁʹͳΔ $GOPATH/src/v/ !"" rsc.io #""
[email protected]
#""
[email protected]
!""
[email protected]
WHPCVJMEͰऔಘͨ͠ύοέʔδ(01"5)TSDWʹอଘ͞ΕΔ
WFOEPSσΟϨΫτϦ͕ෆཁʹͳΔ $GOPATH/src/v/ !"" rsc.io #""
[email protected]
#""
[email protected]
!""
[email protected]
ಉ໊ͷύοέʔδόʔδϣϯผʹอଘ͞ΕɺHPNPE͔Βࢀর͢Δ
#3ɹഁյతͳมߋΛՃ͑ΔࡍJNQPSUQBUIΛม͑Δ *NQPSU$PNQBUJCJMJUZ3VMF
*NQPSU$PNQBUJCJMJUZ3VMF ✱ WHPͰѻ͏ύοέʔδɺޙํޓΛ࣋ͭ͜ͱ͕ٛԽ͞ΕΔ ✱ Ͳ͏ͯ͠ഁյతͳมߋ͕ඞཁͳ߹ɺ JNQPSUQBUIΛม͑Δ͜ͱͰผύοέʔδѻ͍ʹ͢Δ
*NQPSU$PNQBUJCJMJUZ3VMF HJUIVCDPNUBOLTV[VLJQLH HJUIVCDPNUBOLTV[VLJQLHW ผύοέʔδʹݟ͑ΔͷͰɺW͔ΒWͷॱ࣍Ҡߦ͕ՄೳʹͳΔ $BTF ੜύε HPQLHJOUBOLTV[VLJQLHW HPQLHJOUBOLTV[VLJQLHW $BTF HPQLHJO༻
#4ɹՄೳͳݶΓݹ͍όʔδϣϯ͕બ͞ΕΔ .JOJNBM7FSTJPO4FMFDUJPO
.JOJNBM7FSTJPO4FMFDUJPO EFQʮՄೳͳݶΓ࠷৽ͷόʔδϣϯʯΛબ͢Δ
.JOJNBM7FSTJPO4FMFDUJPO #%Λظ͠ɺ$%Λظ͢Δ " # $ % % %
.JOJNBM7FSTJPO4FMFDUJPO ʮՄೳͳݶΓ࠷৽ʯͰ͋Δ%͕બ͞ΕΔ " # $ % % %
.JOJNBM7FSTJPO4FMFDUJPO ʮՄೳͳݶΓ࠷৽ʯৗʹҠΓมΘΔˠϏϧυ࠶ݱੑʹ͕ग़ΔՄೳੑ " # $ % % % %
.JOJNBM7FSTJPO4FMFDUJPO WHPʮՄೳͳݶΓݹ͍όʔδϣϯʯΛબ͢Δ
.JOJNBM7FSTJPO4FMFDUJPO #%Λظ͠ɺ$%Λظ͢Δ " # $ % % %
.JOJNBM7FSTJPO4FMFDUJPO ʮՄೳͳݶΓҰ൪ݹ͍όʔδϣϯʯͰ͋Δ%͕બ͞ΕΔ " # $ % % %
.JOJNBM7FSTJPO4FMFDUJPO ΑΓݹ͍όʔδϣϯϦϦʔε͞Εͳ͍ͷͰɺϏϧυ҆ఆ͢Δ " # $ % % % %
.JOJNBM7FSTJPO4FMFDUJPO ͨͩ͠ɺ৽όʔδϣϯͷॏཁͳมߋ͕ɺ"ʹࣗಈͰద༻͞Εͳ͍͕͋Δ " # $ % % % %
.JOJNBM7FSTJPO4FMFDUJPO ղܾํ๏$ͷ։ൃऀ͕HPNPEΛ%ʹ͚Δ " # $ % % % %
.JOJNBM7FSTJPO4FMFDUJPO ղܾํ๏ࣗͰ$ΛGPSLͯ͠ɺHPNPEΛ%ʹ͚Δ " # $ % % % % $
GPSLFE
WHPʹΑͬͯมΘΔ͜ͱ #1ɹґଘؔͷղܾϏϧυ࣌ʹߦ͏ #2ɹWFOEPSσΟϨΫτϦ͕ෆཁʹͳΔ #3ɹഁյతͳมߋΛՃ͑ΔࡍJNQPSUQBUIΛม͑Δ #4ɹՄೳͳݶΓݹ͍όʔδϣϯ͕બ͞ΕΔ
·ͱΊ ✱ WFOEPSσΟϨΫτϦഇࢭʹΑΓɺ(01"5)͔Βղ์͞ΕΔ ✱ *NQPSU$PNQBUJCJMJUZ3VMFʹΑΓɺόʔδϣϯͷॱ࣍Ҡߦ͕ՄೳʹͳΔ ✱ .JOJNBM7FSTJPO4FMFDUJPOʹΑΓɺϏϧυͷ҆ఆੑ͕ߴ·Δ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠