Go 夜聊

第 7 期:依赖与模块


Listen Later

第 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
      • 📝 联系我们
        • Telegram 听众群
        • ...more
          View all episodesView all episodes
          Download on the App Store

          Go 夜聊By Go 夜聊

          • 5
          • 5
          • 5
          • 5
          • 5

          5

          2 ratings