第 7 期:依赖与模块
MP3•منزل الحلقة
Manage episode 322949973 series 2918530
المحتوى المقدم من Go 夜聊. يتم تحميل جميع محتويات البودكاست بما في ذلك الحلقات والرسومات وأوصاف البودكاست وتقديمها مباشرة بواسطة Go 夜聊 أو شريك منصة البودكاست الخاص بهم. إذا كنت تعتقد أن شخصًا ما يستخدم عملك المحمي بحقوق الطبع والنشر دون إذنك، فيمكنك اتباع العملية الموضحة هنا https://ar.player.fm/legal.
第 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
📝 联系我们
11 حلقات