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.2k
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
110
ReactNativeで位置情報を利用したアプリを作る
tanksuzuki
0
810
シスコルータでチャットする
tanksuzuki
0
130
Other Decks in Technology
See All in Technology
OPENLOGI Company Profile for engineer
hr01
1
20k
遷移の高速化 ヤフートップの試行錯誤
narirou
6
1.6k
MIMEと文字コードの闇
hirachan
2
1.4k
Amazon Aurora のバージョンアップ手法について
smt7174
2
150
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
150
What's new in Go 1.24?
ciarana
1
110
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
190
EDRの検知の仕組みと検知回避について
chayakonanaika
12
5k
クラウド食堂とは?
hiyanger
0
120
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.3k
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
270
【Findy】「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly by findy
i35_267
5
930
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
RailsConf 2023
tenderlove
29
1k
We Have a Design System, Now What?
morganepeng
51
7.4k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Git: the NoSQL Database
bkeepers
PRO
427
65k
How to Ace a Technical Interview
jacobian
276
23k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
570
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Automating Front-end Workflow
addyosmani
1368
200k
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 #"" quote@v1.5.2 #"" sampler@v1.3.0 !"" sampler@v1.99.99
WHPCVJMEͰऔಘͨ͠ύοέʔδ(01"5)TSDWʹอଘ͞ΕΔ
WFOEPSσΟϨΫτϦ͕ෆཁʹͳΔ $GOPATH/src/v/ !"" rsc.io #"" quote@v1.5.2 #"" sampler@v1.3.0 !"" sampler@v1.99.99
ಉ໊ͷύοέʔδόʔδϣϯผʹอଘ͞Εɺ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ʹΑΓɺϏϧυͷ҆ఆੑ͕ߴ·Δ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠