Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
vgo(Versioned Go Prototype) #golangtokyo
Search
Asuka Suzuki
April 16, 2018
Technology
9.6k
13
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
vgo(Versioned Go Prototype) #golangtokyo
2018/04/16 golang.tokyo #14 の発表です
Asuka Suzuki
April 16, 2018
More Decks by Asuka Suzuki
See All by Asuka Suzuki
Firestore概要
tanksuzuki
0
150
ReactNativeで位置情報を利用したアプリを作る
tanksuzuki
0
860
シスコルータでチャットする
tanksuzuki
0
160
Other Decks in Technology
See All in Technology
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
810
会社説明資料
persolserverworks
0
9.7k
ゲームのリアルタイム通信から見た QUIC と MoQ
segadevtech
0
110
USB PDを使ってスマホを労わりたい
raspython3
0
160
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
670
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
370
パッチ更新でterraform initが落ちた日
grimoh
1
120
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
150
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
7
2.5k
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
540
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
230
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.5k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
516
110k
The Curious Case for Waylosing
cassininazir
1
560
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Crafting Experiences
bethany
1
380
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
370
Chasing Engaging Ingredients in Design
codingconduct
0
350
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
GraphQLとの向き合い方2022年版
quramy
50
15k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.3k
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ʹΑΓɺϏϧυͷ҆ఆੑ͕ߴ·Δ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠