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
120
ReactNativeで位置情報を利用したアプリを作る
tanksuzuki
0
820
シスコルータでチャットする
tanksuzuki
0
140
Other Decks in Technology
See All in Technology
PostgreSQL Unconference #52 pg_tde
nori_shinoda
1
250
アプリケーション固有の「ロジックの脆弱性」を防ぐ開発者のためのセキュリティ観点
flatt_security
40
15k
20250328_OpenAI製DeepResearchは既に一種のAGIだと思う話
doradora09
PRO
0
180
All You Need Is Kusa 〜Slackデータで始めるデータドリブン〜
jonnojun
0
130
OSSコントリビュートをphp-srcメンテナの立場から語る / OSS Contribute
sakitakamachi
0
850
生成AI時代のセキュアCI/CDとソース管理
yuriemori
0
110
開発現場とセキュリティ担当をつなぐ脅威モデリング
cloudace
0
140
SSH公開鍵認証による接続 / Connecting with SSH Public Key Authentication
kaityo256
PRO
2
280
Restarting_SRE_Road_to_SRENext_.pdf
_awache
1
230
問題解決に役立つ数理工学
recruitengineers
PRO
8
2.4k
Vision Language Modelを活用した メルカリの類似画像レコメンドの性能改善
yadayuki
9
1.4k
製造業の会計システムをDDDで開発した話
caddi_eng
3
1.1k
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
22
2.6k
Fireside Chat
paigeccino
37
3.4k
What's in a price? How to price your products and services
michaelherold
245
12k
Building Adaptive Systems
keathley
41
2.5k
Designing for Performance
lara
607
69k
GitHub's CSS Performance
jonrohan
1030
460k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Being A Developer After 40
akosma
90
590k
Docker and Python
trallard
44
3.3k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.2k
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ʹΑΓɺϏϧυͷ҆ఆੑ͕ߴ·Δ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠