1 hr 45 min

第 7 期:依赖与模‪块‬ Go 夜聊

    • Technology

第 7 期:依赖与模块
录制时间: 2021-08-29


嘉宾:盛傲飞
主持:杨文,欧长坤

本期摘要:这是 Go 夜聊的第七期节目,我们和 goproxy.cn 的作者在 Go 1.17 发布时聊了聊在 Go 语言中的依赖管理、模块等相关的机制。Go 语言中的 Modules 走到今天这一步经历了哪些波折?看似在其他语言里早已攻克的代码依赖管理,在 Go 语言的情景下,又有哪些不为人知的努力?

时间线

00:00 开场白
01:06 接触 Go 语言的契机
02:57 Beego 等一系列 Web 框架的对比
04:37 自己动手写 Web 框架
06:33 Go Modules 之前的依赖管理
16:12 Monorepo 代码管理的优劣
22:24 “臭名昭著” 的 GOPATH 和 vendor
28:36 dep 的风波
37:46 “独裁式” 管理风格下的需求工程
43:52 进入 Go Module 时代
46:47 Go Modules 的基本原理
52:40 godoc 和 pkg.go.dev
54:57 从 golang.org 合并到 go.dev 域名
66:22 Go Modules 的最小版本选择算法 MVS
70:27 环境变量 GOPRIVATE
72:25 模块的懒加载
77:36 模块别名机制
82:10 GOPATH 的废除与 Go 1 兼容性保证
84:43 Go Workspace 工作区
86:17 构建 goproxy.cn 的经历
89:57 搭建代理的难点及其与镜像站的区别
96:42 七牛云接管 goproxy.cn 的运营

相关链接

谢大 astaxie 写的 Beego
知名 Web 框架 Gin
曾经的知名 Web 框架 Martini
知名 Web 框架 Echo
傲飞 aofei 写的 Web 框架 air
标准库 net/http
曾经的依赖管理工具 goven
gopkg.in
yaml 包
无闻编写的 ini 解析包
曾经的依赖管理工具 gopm
曾经的依赖管理工具 govendor
曾经的依赖管理工具 dep
Russ Cox 关于 vgo 依赖管理的演讲
Go Modules 的前身 vgo
Go Modules 规范
Russ Cox 和 Rob Pike 开发的 licensecheck
模块功能目前的主要开发者 Bryan C. Mills
傲飞开发的 Go 模块代理站 goproxy.cn
李保坤开发的 Go 模块代理站 goproxy.io
曾经的文包文档站 godoc.org 的源码
Go 语言的多模块工作区 Workspace 的提案
模块别名功能的相关讨论
尾声推荐:jellyfin.org
嘉宾推荐:The Art of Multiprocessor Programming (2nd Edition)
嘉宾推荐:golang.design/go2generics

📝 联系我们

来信 hi@talkgo.fm
Telegram 听众群

第 7 期:依赖与模块
录制时间: 2021-08-29


嘉宾:盛傲飞
主持:杨文,欧长坤

本期摘要:这是 Go 夜聊的第七期节目,我们和 goproxy.cn 的作者在 Go 1.17 发布时聊了聊在 Go 语言中的依赖管理、模块等相关的机制。Go 语言中的 Modules 走到今天这一步经历了哪些波折?看似在其他语言里早已攻克的代码依赖管理,在 Go 语言的情景下,又有哪些不为人知的努力?

时间线

00:00 开场白
01:06 接触 Go 语言的契机
02:57 Beego 等一系列 Web 框架的对比
04:37 自己动手写 Web 框架
06:33 Go Modules 之前的依赖管理
16:12 Monorepo 代码管理的优劣
22:24 “臭名昭著” 的 GOPATH 和 vendor
28:36 dep 的风波
37:46 “独裁式” 管理风格下的需求工程
43:52 进入 Go Module 时代
46:47 Go Modules 的基本原理
52:40 godoc 和 pkg.go.dev
54:57 从 golang.org 合并到 go.dev 域名
66:22 Go Modules 的最小版本选择算法 MVS
70:27 环境变量 GOPRIVATE
72:25 模块的懒加载
77:36 模块别名机制
82:10 GOPATH 的废除与 Go 1 兼容性保证
84:43 Go Workspace 工作区
86:17 构建 goproxy.cn 的经历
89:57 搭建代理的难点及其与镜像站的区别
96:42 七牛云接管 goproxy.cn 的运营

相关链接

谢大 astaxie 写的 Beego
知名 Web 框架 Gin
曾经的知名 Web 框架 Martini
知名 Web 框架 Echo
傲飞 aofei 写的 Web 框架 air
标准库 net/http
曾经的依赖管理工具 goven
gopkg.in
yaml 包
无闻编写的 ini 解析包
曾经的依赖管理工具 gopm
曾经的依赖管理工具 govendor
曾经的依赖管理工具 dep
Russ Cox 关于 vgo 依赖管理的演讲
Go Modules 的前身 vgo
Go Modules 规范
Russ Cox 和 Rob Pike 开发的 licensecheck
模块功能目前的主要开发者 Bryan C. Mills
傲飞开发的 Go 模块代理站 goproxy.cn
李保坤开发的 Go 模块代理站 goproxy.io
曾经的文包文档站 godoc.org 的源码
Go 语言的多模块工作区 Workspace 的提案
模块别名功能的相关讨论
尾声推荐:jellyfin.org
嘉宾推荐:The Art of Multiprocessor Programming (2nd Edition)
嘉宾推荐:golang.design/go2generics

📝 联系我们

来信 hi@talkgo.fm
Telegram 听众群

1 hr 45 min

Top Podcasts In Technology

Acquired
Ben Gilbert and David Rosenthal
Lex Fridman Podcast
Lex Fridman
The TED AI Show
TED
All-In with Chamath, Jason, Sacks & Friedberg
All-In Podcast, LLC
Hard Fork
The New York Times
TED Radio Hour
NPR