SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
The Go gopher was designed by Renée French.
The gopher stickers was made by Takuya Ueda.
Licensed under the Creative Commons 3.0 Attributions license.
Goにおける
バージョン管理の必要性
− vgoについて −
2018/06/14
@Fukuoka.go#11
自己紹介
上田拓也
@tenntenn
所属
コミュニティ活動
Go ビギナーズ
Go Conference
上田拓也
@tenntenn
株式会社メルペイ
エキスパートチーム
2
メルペイ エキスパートチーム
技術をアウトプットするところに技術は集まる
■ エキスパートチームとは?
● 50%以上の時間を技術コミュニティへの貢献に充てる
■ エキスパートチームの役割
● 社内に新しい技術を取り取り込む
● 社外のコミュニティなどを通じて社会へ還元する
■ エキスパートチームの活動
● カンファレンス・勉強会の開催/運営
● 対外的な講演活動
● 執筆、雑誌への寄稿、インタビュー
● 社内外での担当技術の普及推進
@tenntenn
担当:Go・GCP
@mhidaka
担当:Android
メンバー
3
vgoとは?
■ 将来的に標準になるであろうバージョン管理ツール
● https://github.com/golang/vgo
● Go1.11(2018年8月予定)でテクニカルレビュー
● Go1.12(2019年2月予定)で正式導入
■ vgoの特徴
● ビルド時に依存関係を解決する(goツールのように)
● ベンダリングが不要になる
● 新しくモジュールという概念単位でバージョン管理する
● 互換性がなくなる場合はインポートパスを変える
● 可能な限り古いバージョンが優先される(Minimal Version Selection)
【参考】
Go & Versioning by Russ Cox
https://research.swtch.com/vgo
Go1.0以前の話
■ Makefileを使っていた
● 6g(コンパイラ)や6l(リンカ)を使ってビルド
● サンプルのMakefileが付いていてそれを利用していた
● 依存関係はMakefileの中にかかれていた
● gobuildというラッパーも存在していた
参考:https://ymotongpoo.hatenablog.com/entry/2015/10/13/104247
goinstallの登場
■ 2010年2月に登場
■ GitHubやBitbucketからダウンロードして配置する
■ Makefileほどの柔軟性はないが利便性が向上
■ importパスのルールの確立
● ソースコードの中にすべての依存関係が記述される
● go vetなどの静的解析ツールが簡単につくれるようになった
■ 2012年2月のGo1.0リリースでgo getに
go getの登場で解決したこと
■ 簡単にビルドができるようになった
■ 作ったものを簡単に公開・再利用できるようになった
● 現在のGoのコミュニティを形成する上で重要なファクター
● go getすることで簡単に他の人が作ったパッケージを利用できる
■ ビルドシステムを意識しなくてよい
● 6gや6lなどを気にしなくてよい
● 依存関係の解決方法などは勝手にやってくれる
go getで解決できなかったこと
■ バージョン付けとAPIの安定性
● バージョン付けができない
● アップデートによって何が変わるのかユーザに提示できない
● gopkg.inなどの登場
■ ベンダリングとビルドの再現可能性
● ビルドの再現性がとれない
● 取得時に常に最新を見てしまうこと
● godep、glide、gpなどの登場
● ベンダリングの対応(Go1.5以上)
ビルドが解決できない例
D: 1.0
go get D
1. パッケージDのインストール
D: 1.0
go get C
C: 1.8
D≧1.4
2. パッケージCのインストール
D: 1.6
go get -u D
C: 1.8
D≧1.4
3. パッケージDの更新
古
い
※CはDのバージョン1.4以上に依存
バ
グ
うまくビルドができない!
depの登場
■ 公式によるバージョン管理の導入の実験
● GopherCon 2016のHack Dayで議論が行われた
● そこからdepが登場した
● https://github.com/golang/dep
■ The New Era of Go Package Management
● GopherCon 2017においての発表
● depのやっていきを発表
● semverの推奨
depはgoツールに
直接導入されるものではなかった
そしてvgoへ
■ vgoで提案すること
● Import Compatibility Rule
● Minimal Version Selection
● Go Mobuleの導入
● 現在のワークフローを壊さずにgoツールに導入する
Import Compatibility Rule
■ importパスが同じ場合は後方互換性を維持する
● 後方互換性が取れない場合はインポートパスを返す
import "github.com/tenntenn/hoge"
import hoge "github.com/tenntenn/hoge/v2"
後方互換性が担保できない場合
Minimal Version Selection
■ 最小バージョンの選択
● 選択できるバージョンのうち最も古いバージョンを選択
● どんどんバージョンアップされても常に同じ(=古い)ものを使う
● 特定のバージョンを指定すれば新しいものを使うことはできる
● 依存モジュールの下限だけ指定することによって、一意にビルドに使用す
るバージョンが特定できる
Go Moduleの導入
■ バージョン付けを行う単位
● go.modファイルを使って依存モジュールを記述
● バージョンはsemverで記述する
● 一応特定のコミットも指定できる
// My hello, world.
module "rsc.io/hello"
require (
"golang.org/x/text" v0.0.0-20180208041248-4e4a3210bb54
"rsc.io/quote" v1.5.2
)
vgoが普及するために必要なこと
■ vgoが登場した背景の理解
● Go & Versioning を読みましょう
■ semverによるバージョン管理
● 自分のライブラリをsemverで管理しましょう
○ 私もやらなきゃ
● 自分の使ってるライブラリにissueを上げる
https://github.com/golang/appengine/issues/145
vgoを体験したければ
■ A Tour of Versioned Go (vgo)
● https://research.swtch.com/vgo-tour
● 和訳:https://qiita.com/nekketsuuu/items/589bc29f00b507492a96
Go with Versions
■ GopherCon Singapore 2018でのRuss Coxの発表
Thank you!
twitter: @tenntenn
Qiita: tenntenn
connpass: tenntenn
18

Más contenido relacionado

La actualidad más candente

GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説
GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説
GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説Masaya Kaneko
 
CVPR2019読み会 (Rethinking the Evaluation of Video Summaries)
CVPR2019読み会 (Rethinking the Evaluation of Video Summaries)CVPR2019読み会 (Rethinking the Evaluation of Video Summaries)
CVPR2019読み会 (Rethinking the Evaluation of Video Summaries)Yasunori Ozaki
 
【Redmine】ツールバーボタンを作ろう
【Redmine】ツールバーボタンを作ろう【Redmine】ツールバーボタンを作ろう
【Redmine】ツールバーボタンを作ろうKohei Nakamura
 
うちのRedmineの使い方(2)
うちのRedmineの使い方(2)うちのRedmineの使い方(2)
うちのRedmineの使い方(2)Tomohisa Kusukawa
 
第5回 配信講義 計算科学技術特論B(2022)
第5回 配信講義 計算科学技術特論B(2022)第5回 配信講義 計算科学技術特論B(2022)
第5回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)智啓 出川
 
ある工場のRedmine画面カスタム【View customize plugin 活用例】
ある工場のRedmine画面カスタム【View customize plugin 活用例】ある工場のRedmine画面カスタム【View customize plugin 活用例】
ある工場のRedmine画面カスタム【View customize plugin 活用例】Kohei Nakamura
 
四脚ロボットによる つくばチャレンジへの取り組み
四脚ロボットによるつくばチャレンジへの取り組み四脚ロボットによるつくばチャレンジへの取り組み
四脚ロボットによる つくばチャレンジへの取り組みkiyoshiiriemon
 
[DL輪読会]SlowFast Networks for Video Recognition
[DL輪読会]SlowFast Networks for Video Recognition[DL輪読会]SlowFast Networks for Video Recognition
[DL輪読会]SlowFast Networks for Video RecognitionDeep Learning JP
 
C++のライブラリを簡単に眺めてみよう
C++のライブラリを簡単に眺めてみようC++のライブラリを簡単に眺めてみよう
C++のライブラリを簡単に眺めてみようHiro H.
 
Redmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみたRedmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみたKohei Nakamura
 
ある工場のRedmine
ある工場のRedmineある工場のRedmine
ある工場のRedmineKohei Nakamura
 
[DL輪読会]StarGAN: Unified Generative Adversarial Networks for Multi-Domain Ima...
 [DL輪読会]StarGAN: Unified Generative Adversarial Networks for Multi-Domain Ima... [DL輪読会]StarGAN: Unified Generative Adversarial Networks for Multi-Domain Ima...
[DL輪読会]StarGAN: Unified Generative Adversarial Networks for Multi-Domain Ima...Deep Learning JP
 
C++20 モジュールの概要 / Introduction to C++ modules (part 1)
C++20 モジュールの概要 / Introduction to C++ modules (part 1)C++20 モジュールの概要 / Introduction to C++ modules (part 1)
C++20 モジュールの概要 / Introduction to C++ modules (part 1)TetsuroMatsumura
 
[DL輪読会]Deep Face Recognition: A Survey
[DL輪読会]Deep Face Recognition: A Survey[DL輪読会]Deep Face Recognition: A Survey
[DL輪読会]Deep Face Recognition: A SurveyDeep Learning JP
 
動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセットToru Tamaki
 
(2021年8月版)深層学習によるImage Classificaitonの発展
(2021年8月版)深層学習によるImage Classificaitonの発展(2021年8月版)深層学習によるImage Classificaitonの発展
(2021年8月版)深層学習によるImage Classificaitonの発展Takumi Ohkuma
 
OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみたOpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみたTakahiro Miyaura
 
LLM Webinar - シバタアキラ to share.pdf
LLM Webinar - シバタアキラ to share.pdfLLM Webinar - シバタアキラ to share.pdf
LLM Webinar - シバタアキラ to share.pdfAkira Shibata
 
株式会社フィックスターズの会社説明資料(抜粋)
株式会社フィックスターズの会社説明資料(抜粋)株式会社フィックスターズの会社説明資料(抜粋)
株式会社フィックスターズの会社説明資料(抜粋)Fixstars Corporation
 

La actualidad más candente (20)

GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説
GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説
GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説
 
CVPR2019読み会 (Rethinking the Evaluation of Video Summaries)
CVPR2019読み会 (Rethinking the Evaluation of Video Summaries)CVPR2019読み会 (Rethinking the Evaluation of Video Summaries)
CVPR2019読み会 (Rethinking the Evaluation of Video Summaries)
 
【Redmine】ツールバーボタンを作ろう
【Redmine】ツールバーボタンを作ろう【Redmine】ツールバーボタンを作ろう
【Redmine】ツールバーボタンを作ろう
 
うちのRedmineの使い方(2)
うちのRedmineの使い方(2)うちのRedmineの使い方(2)
うちのRedmineの使い方(2)
 
第5回 配信講義 計算科学技術特論B(2022)
第5回 配信講義 計算科学技術特論B(2022)第5回 配信講義 計算科学技術特論B(2022)
第5回 配信講義 計算科学技術特論B(2022)
 
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
 
ある工場のRedmine画面カスタム【View customize plugin 活用例】
ある工場のRedmine画面カスタム【View customize plugin 活用例】ある工場のRedmine画面カスタム【View customize plugin 活用例】
ある工場のRedmine画面カスタム【View customize plugin 活用例】
 
四脚ロボットによる つくばチャレンジへの取り組み
四脚ロボットによるつくばチャレンジへの取り組み四脚ロボットによるつくばチャレンジへの取り組み
四脚ロボットによる つくばチャレンジへの取り組み
 
[DL輪読会]SlowFast Networks for Video Recognition
[DL輪読会]SlowFast Networks for Video Recognition[DL輪読会]SlowFast Networks for Video Recognition
[DL輪読会]SlowFast Networks for Video Recognition
 
C++のライブラリを簡単に眺めてみよう
C++のライブラリを簡単に眺めてみようC++のライブラリを簡単に眺めてみよう
C++のライブラリを簡単に眺めてみよう
 
Redmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみたRedmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみた
 
ある工場のRedmine
ある工場のRedmineある工場のRedmine
ある工場のRedmine
 
[DL輪読会]StarGAN: Unified Generative Adversarial Networks for Multi-Domain Ima...
 [DL輪読会]StarGAN: Unified Generative Adversarial Networks for Multi-Domain Ima... [DL輪読会]StarGAN: Unified Generative Adversarial Networks for Multi-Domain Ima...
[DL輪読会]StarGAN: Unified Generative Adversarial Networks for Multi-Domain Ima...
 
C++20 モジュールの概要 / Introduction to C++ modules (part 1)
C++20 モジュールの概要 / Introduction to C++ modules (part 1)C++20 モジュールの概要 / Introduction to C++ modules (part 1)
C++20 モジュールの概要 / Introduction to C++ modules (part 1)
 
[DL輪読会]Deep Face Recognition: A Survey
[DL輪読会]Deep Face Recognition: A Survey[DL輪読会]Deep Face Recognition: A Survey
[DL輪読会]Deep Face Recognition: A Survey
 
動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット
 
(2021年8月版)深層学習によるImage Classificaitonの発展
(2021年8月版)深層学習によるImage Classificaitonの発展(2021年8月版)深層学習によるImage Classificaitonの発展
(2021年8月版)深層学習によるImage Classificaitonの発展
 
OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみたOpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみた
 
LLM Webinar - シバタアキラ to share.pdf
LLM Webinar - シバタアキラ to share.pdfLLM Webinar - シバタアキラ to share.pdf
LLM Webinar - シバタアキラ to share.pdf
 
株式会社フィックスターズの会社説明資料(抜粋)
株式会社フィックスターズの会社説明資料(抜粋)株式会社フィックスターズの会社説明資料(抜粋)
株式会社フィックスターズの会社説明資料(抜粋)
 

Similar a Goにおけるバージョン管理の必要性 − vgoについて −

WebAssembly with Go
WebAssembly with GoWebAssembly with Go
WebAssembly with GoTakuya Ueda
 
メルカリ カウルのマスタデータの更新
メルカリ カウルのマスタデータの更新メルカリ カウルのマスタデータの更新
メルカリ カウルのマスタデータの更新Takuya Ueda
 
そうだ、Goを始めよう
そうだ、Goを始めようそうだ、Goを始めよう
そうだ、Goを始めようTakuya Ueda
 
楽天の中のわたしと勉強会
楽天の中のわたしと勉強会楽天の中のわたしと勉強会
楽天の中のわたしと勉強会Rakuten Group, Inc.
 
勉強会カンファレンス2012
勉強会カンファレンス2012勉強会カンファレンス2012
勉強会カンファレンス2012Hiro Yoshioka
 
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話gree_tech
 
勉強会への一歩を踏み出すために
勉強会への一歩を踏み出すために勉強会への一歩を踏み出すために
勉強会への一歩を踏み出すためにAkihiko Horiuchi
 
GAE/Goとsyncパッケージ
GAE/GoとsyncパッケージGAE/Goとsyncパッケージ
GAE/GoとsyncパッケージTakuya Ueda
 
docomo Developer Supportを活用しよう
docomo Developer Supportを活用しようdocomo Developer Supportを活用しよう
docomo Developer Supportを活用しようShinya Nakajima
 
勉強会カンファレンス2011、企業と勉強会
勉強会カンファレンス2011、企業と勉強会勉強会カンファレンス2011、企業と勉強会
勉強会カンファレンス2011、企業と勉強会Hiro Yoshioka
 
Microsoft MVP x Passion for community
Microsoft MVP x Passion for communityMicrosoft MVP x Passion for community
Microsoft MVP x Passion for communityRie Moriguchi
 
海外メンバーを巻き込んで プロダクトマネジメントするときの心得 #pmjp #dots
海外メンバーを巻き込んでプロダクトマネジメントするときの心得 #pmjp #dots海外メンバーを巻き込んでプロダクトマネジメントするときの心得 #pmjp #dots
海外メンバーを巻き込んで プロダクトマネジメントするときの心得 #pmjp #dotsTakahiro Masaki
 
勉強会勉強会、DevLOVE関西
勉強会勉強会、DevLOVE関西勉強会勉強会、DevLOVE関西
勉強会勉強会、DevLOVE関西Hiro Yoshioka
 
Itca yammer提案110615
Itca yammer提案110615Itca yammer提案110615
Itca yammer提案110615伸夫 森本
 
はじめてのアジャイル - Agile in a nutshell
はじめてのアジャイル - Agile in a nutshellはじめてのアジャイル - Agile in a nutshell
はじめてのアジャイル - Agile in a nutshellDai FUJIHARA
 
Bot frameworkでdocomo Developer Supportを活用しよう
Bot frameworkでdocomo Developer Supportを活用しようBot frameworkでdocomo Developer Supportを活用しよう
Bot frameworkでdocomo Developer Supportを活用しようShinya Nakajima
 
Go conference 2021 autumn
Go conference 2021 autumnGo conference 2021 autumn
Go conference 2021 autumnmasahiko ito
 
kintoneで地図アプリを制覇する 〜SIerの挑戦〜
kintoneで地図アプリを制覇する 〜SIerの挑戦〜kintoneで地図アプリを制覇する 〜SIerの挑戦〜
kintoneで地図アプリを制覇する 〜SIerの挑戦〜kintone Café 名古屋支部
 
ビザスクを支える技術 2017
ビザスクを支える技術 2017ビザスクを支える技術 2017
ビザスクを支える技術 2017創史 花村
 

Similar a Goにおけるバージョン管理の必要性 − vgoについて − (20)

WebAssembly with Go
WebAssembly with GoWebAssembly with Go
WebAssembly with Go
 
メルカリ カウルのマスタデータの更新
メルカリ カウルのマスタデータの更新メルカリ カウルのマスタデータの更新
メルカリ カウルのマスタデータの更新
 
そうだ、Goを始めよう
そうだ、Goを始めようそうだ、Goを始めよう
そうだ、Goを始めよう
 
楽天の中のわたしと勉強会
楽天の中のわたしと勉強会楽天の中のわたしと勉強会
楽天の中のわたしと勉強会
 
勉強会カンファレンス2012
勉強会カンファレンス2012勉強会カンファレンス2012
勉強会カンファレンス2012
 
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
 
勉強会への一歩を踏み出すために
勉強会への一歩を踏み出すために勉強会への一歩を踏み出すために
勉強会への一歩を踏み出すために
 
GAE/Goとsyncパッケージ
GAE/GoとsyncパッケージGAE/Goとsyncパッケージ
GAE/Goとsyncパッケージ
 
docomo Developer Supportを活用しよう
docomo Developer Supportを活用しようdocomo Developer Supportを活用しよう
docomo Developer Supportを活用しよう
 
勉強会カンファレンス2011、企業と勉強会
勉強会カンファレンス2011、企業と勉強会勉強会カンファレンス2011、企業と勉強会
勉強会カンファレンス2011、企業と勉強会
 
Microsoft MVP x Passion for community
Microsoft MVP x Passion for communityMicrosoft MVP x Passion for community
Microsoft MVP x Passion for community
 
海外メンバーを巻き込んで プロダクトマネジメントするときの心得 #pmjp #dots
海外メンバーを巻き込んでプロダクトマネジメントするときの心得 #pmjp #dots海外メンバーを巻き込んでプロダクトマネジメントするときの心得 #pmjp #dots
海外メンバーを巻き込んで プロダクトマネジメントするときの心得 #pmjp #dots
 
勉強会勉強会、DevLOVE関西
勉強会勉強会、DevLOVE関西勉強会勉強会、DevLOVE関西
勉強会勉強会、DevLOVE関西
 
Itca yammer提案110615
Itca yammer提案110615Itca yammer提案110615
Itca yammer提案110615
 
はじめてのアジャイル - Agile in a nutshell
はじめてのアジャイル - Agile in a nutshellはじめてのアジャイル - Agile in a nutshell
はじめてのアジャイル - Agile in a nutshell
 
はじめてのアジャイル
はじめてのアジャイルはじめてのアジャイル
はじめてのアジャイル
 
Bot frameworkでdocomo Developer Supportを活用しよう
Bot frameworkでdocomo Developer Supportを活用しようBot frameworkでdocomo Developer Supportを活用しよう
Bot frameworkでdocomo Developer Supportを活用しよう
 
Go conference 2021 autumn
Go conference 2021 autumnGo conference 2021 autumn
Go conference 2021 autumn
 
kintoneで地図アプリを制覇する 〜SIerの挑戦〜
kintoneで地図アプリを制覇する 〜SIerの挑戦〜kintoneで地図アプリを制覇する 〜SIerの挑戦〜
kintoneで地図アプリを制覇する 〜SIerの挑戦〜
 
ビザスクを支える技術 2017
ビザスクを支える技術 2017ビザスクを支える技術 2017
ビザスクを支える技術 2017
 

Más de Takuya Ueda

静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発Takuya Ueda
 
マスター・オブ・goパッケージ
マスター・オブ・goパッケージマスター・オブ・goパッケージ
マスター・オブ・goパッケージTakuya Ueda
 
Go1.8 for Google App Engine
Go1.8 for Google App EngineGo1.8 for Google App Engine
Go1.8 for Google App EngineTakuya Ueda
 
Go Friday 傑作選
Go Friday 傑作選Go Friday 傑作選
Go Friday 傑作選Takuya Ueda
 
GoによるiOSアプリの開発
GoによるiOSアプリの開発GoによるiOSアプリの開発
GoによるiOSアプリの開発Takuya Ueda
 
Static Analysis in Go
Static Analysis in GoStatic Analysis in Go
Static Analysis in GoTakuya Ueda
 
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話Takuya Ueda
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?Takuya Ueda
 
エキスパートGo
エキスパートGoエキスパートGo
エキスパートGoTakuya Ueda
 
Go静的解析ハンズオン
Go静的解析ハンズオンGo静的解析ハンズオン
Go静的解析ハンズオンTakuya Ueda
 
Goにおける静的解析と製品開発への応用
Goにおける静的解析と製品開発への応用Goにおける静的解析と製品開発への応用
Goにおける静的解析と製品開発への応用Takuya Ueda
 
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選Takuya Ueda
 
Gopher Fest 2017参加レポート
Gopher Fest 2017参加レポートGopher Fest 2017参加レポート
Gopher Fest 2017参加レポートTakuya Ueda
 
Google Assistant関係のセッションまとめ
Google Assistant関係のセッションまとめGoogle Assistant関係のセッションまとめ
Google Assistant関係のセッションまとめTakuya Ueda
 
Cloud functionsの紹介
Cloud functionsの紹介Cloud functionsの紹介
Cloud functionsの紹介Takuya Ueda
 
goパッケージで型情報を用いたソースコード検索を実現する
goパッケージで型情報を用いたソースコード検索を実現するgoパッケージで型情報を用いたソースコード検索を実現する
goパッケージで型情報を用いたソースコード検索を実現するTakuya Ueda
 
Cloud Functionsの紹介
Cloud Functionsの紹介Cloud Functionsの紹介
Cloud Functionsの紹介Takuya Ueda
 
条件式評価器の実装による管理ツールの抽象化
条件式評価器の実装による管理ツールの抽象化条件式評価器の実装による管理ツールの抽象化
条件式評価器の実装による管理ツールの抽象化Takuya Ueda
 
Namespace API を用いたマルチテナント型 Web アプリの実践
Namespace API を用いたマルチテナント型 Web アプリの実践Namespace API を用いたマルチテナント型 Web アプリの実践
Namespace API を用いたマルチテナント型 Web アプリの実践Takuya Ueda
 
Mobile Apps by Pure Go with Reverse Binding
Mobile Apps by Pure Go with Reverse BindingMobile Apps by Pure Go with Reverse Binding
Mobile Apps by Pure Go with Reverse BindingTakuya Ueda
 

Más de Takuya Ueda (20)

静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発
 
マスター・オブ・goパッケージ
マスター・オブ・goパッケージマスター・オブ・goパッケージ
マスター・オブ・goパッケージ
 
Go1.8 for Google App Engine
Go1.8 for Google App EngineGo1.8 for Google App Engine
Go1.8 for Google App Engine
 
Go Friday 傑作選
Go Friday 傑作選Go Friday 傑作選
Go Friday 傑作選
 
GoによるiOSアプリの開発
GoによるiOSアプリの開発GoによるiOSアプリの開発
GoによるiOSアプリの開発
 
Static Analysis in Go
Static Analysis in GoStatic Analysis in Go
Static Analysis in Go
 
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
 
エキスパートGo
エキスパートGoエキスパートGo
エキスパートGo
 
Go静的解析ハンズオン
Go静的解析ハンズオンGo静的解析ハンズオン
Go静的解析ハンズオン
 
Goにおける静的解析と製品開発への応用
Goにおける静的解析と製品開発への応用Goにおける静的解析と製品開発への応用
Goにおける静的解析と製品開発への応用
 
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選
 
Gopher Fest 2017参加レポート
Gopher Fest 2017参加レポートGopher Fest 2017参加レポート
Gopher Fest 2017参加レポート
 
Google Assistant関係のセッションまとめ
Google Assistant関係のセッションまとめGoogle Assistant関係のセッションまとめ
Google Assistant関係のセッションまとめ
 
Cloud functionsの紹介
Cloud functionsの紹介Cloud functionsの紹介
Cloud functionsの紹介
 
goパッケージで型情報を用いたソースコード検索を実現する
goパッケージで型情報を用いたソースコード検索を実現するgoパッケージで型情報を用いたソースコード検索を実現する
goパッケージで型情報を用いたソースコード検索を実現する
 
Cloud Functionsの紹介
Cloud Functionsの紹介Cloud Functionsの紹介
Cloud Functionsの紹介
 
条件式評価器の実装による管理ツールの抽象化
条件式評価器の実装による管理ツールの抽象化条件式評価器の実装による管理ツールの抽象化
条件式評価器の実装による管理ツールの抽象化
 
Namespace API を用いたマルチテナント型 Web アプリの実践
Namespace API を用いたマルチテナント型 Web アプリの実践Namespace API を用いたマルチテナント型 Web アプリの実践
Namespace API を用いたマルチテナント型 Web アプリの実践
 
Mobile Apps by Pure Go with Reverse Binding
Mobile Apps by Pure Go with Reverse BindingMobile Apps by Pure Go with Reverse Binding
Mobile Apps by Pure Go with Reverse Binding
 

Último

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 

Último (10)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

Goにおけるバージョン管理の必要性 − vgoについて −