来源书籍
Go语言编程入门
编程语言类
本书是《Go Web编程》(郑兆雄)+《Go语言程序设计》(Mark Summerfield)两册合集。
两册都包含相当数量的"为什么这样设计"内容——例如 Go 语言不支持继承、转而使用组合+嵌入+
接口鸭子类型的设计取舍(第40节抽样已验证)、HTTP 协议请求/响应模型和状态码语义、
MVC 模式的历史与适用边界、goroutine/channel 并发模型的设计动机等,信息浓度不低。
但全书同时包含大量绑定具体时代工具链的操作步骤——PostgreSQL 分平台安装、Heroku/Google
App Engine/Docker 部署教程、Sqlx/Gorm 等第三方库的版本相关用法、Go 1.6 时代 HTTP/2
支持细节——这些内容会随工具演进过时,稳定性打折扣,因此整体归为"高浓度+低稳定性"的
工程实践档,而非最高档的经典原理。
类别清单覆盖
9/9
已覆盖 8
补充生成 1
未覆盖 0
全书概览
Go语言编程入门(第1辑)(套装共2册)
Skill 版本:v4
v4 重跑说明
本目录已按 book-notes v4 规则做强制重跑迁移:保留原有卡片取材,补齐证据链字段、统一章节进度字段,并按命中类别执行清单核对。
类别
编程语言类
四象限评级:工程实践(第二级别)
理由:本书是《Go Web编程》(郑兆雄)+《Go语言程序设计》(Mark Summerfield)两册合集。 两册都包含相当数量的”为什么这样设计”内容——例如 Go 语言不支持继承、转而使用组合+嵌入+ 接口鸭子类型的设计取舍(第40节抽样已验证)、HTTP 协议请求/响应模型和状态码语义、 MVC 模式的历史与适用边界、goroutine/channel 并发模型的设计动机等,信息浓度不低。 但全书同时包含大量绑定具体时代工具链的操作步骤——PostgreSQL 分平台安装、Heroku/Google App Engine/Docker 部署教程、Sqlx/Gorm 等第三方库的版本相关用法、Go 1.6 时代 HTTP/2 支持细节——这些内容会随工具演进过时,稳定性打折扣,因此整体归为”高浓度+低稳定性”的 工程实践档,而非最高档的经典原理。
章节进度追踪表
说明:本书为两册合集,spine 顺序即为下表顺序;前后大量版权页/译者说明/广告页无正文内容, 一律标记略读、状态直接为 done。
第一册《Go Web编程》
| 章节号 | 章节标题 | 精读/略读 | 状态(pending/done) | 卡片数 |
|---|---|---|---|---|
| text00002 | 书名分页 | 略读 | done | 0 |
| text00003 | 版权信息 | 略读 | done | 0 |
| text00004 | 版权声明 | 略读 | done | 0 |
| text00005 | 内容提要 | 略读 | done | 0 |
| text00006 | 译者记事 | 略读 | done | 0 |
| text00007 | 译者简介 | 略读 | done | 0 |
| text00008 | 前言 | 略读 | done | 0 |
| text00009 | 致谢 | 略读 | done | 0 |
| text00010 | 关于本书 | 略读 | done | 0 |
| text00011 | 关于封面插图 | 略读 | done | 0 |
| text00012 | 第一部分标题页 | 略读 | done | 0 |
| text00013 | 第1章 Go与Web应用 | 精读 | done | 8 |
| text00014 | 第2章 ChitChat论坛 | 精读 | done | 5 |
| text00015 | 第二部分标题页 | 略读 | done | 0 |
| text00016 | 第3章 接收请求 | 精读 | done | 6 |
| text00017 | 第4章 处理请求 | 精读 | done | 5 |
| text00018 | 第5章 内容展示 | 精读 | done | 4 |
| text00019 | 第6章 存储数据 | 精读 | done | 5 |
| text00020 | 第三部分标题页 | 略读 | done | 0 |
| text00021 | 第7章 Go Web服务 | 精读 | done | 4 |
| text00022 | 第8章 应用测试 | 精读 | done | 3 |
| text00023 | 第9章 发挥Go的并发优势 | 精读 | done | 7 |
| text00024 | 第10章 Go的部署 | 精读 | done | 3 |
| text00025 | 附录 安装和设置Go | 略读 | done | 0 |
| text00026 | 欢迎来到异步社区 | 略读 | done | 0 |
| text00027 | 分隔页 | 略读 | done | 0 |
第二册《Go语言程序设计》
| 章节号 | 章节标题 | 精读/略读 | 状态(pending/done) | 卡片数 |
|---|---|---|---|---|
| text00028 | 书名页 | 略读 | done | 0 |
| text00029 | 版权信息 | 略读 | done | 0 |
| text00030 | 内容提要 | 略读 | done | 0 |
| text00031 | 版权声明 | 略读 | done | 0 |
| text00032 | 译者序 | 略读 | done | 0 |
| text00033 | 致谢 | 略读 | done | 0 |
| text00034 | 引言 | 精读 | done | 4 |
| text00035 | 第1章 5个例子 | 精读 | done | 6 |
| text00036 | 第2章 布尔与数值类型 | 略读 | done | 0 |
| text00037 | 第3章 字符串 | 略读 | done | 0 |
| text00038 | 第4章 集合类型 | 精读 | done | 5 |
| text00039 | 第5章 过程式编程 | 精读 | done | 3 |
| text00040 | 第6章 面向对象编程 | 精读 | done | 10 |
| text00041 | 第7章 并发编程 | 精读 | done | 4 |
| text00042 | 第8章 文件处理 | 略读 | done | 0 |
| text00043 | 第9章 包 | 精读 | done | 4 |
| text00044 | 附录A 后记 | 精读 | done | 1 |
| text00045 | 附录B 软件专利的危害 | 精读 | done | 2 |
| text00046 | 附录C 精选书目 | 略读 | done | 0 |
| text00047 | 欢迎来到异步社区 | 略读 | done | 0 |
| text00048 | 看完了 | 略读 | done | 0 |
待关联术语
| 术语名 | 出现章节 | 一句话语境 |
|---|
引用文献
| 标题 | 类型(书/论文/框架/源码项目) | 出现章节 | 一句话语境 |
|---|
实践卡进度
| 序号 | 实践标题 | 实践方式 | 状态 | 关联章节 | 产出 |
|---|---|---|---|---|---|
| 1 | 用真实XSS注入验证html-template的上下文转义 | 真实任务 | done | 模板相关章节 | 转义/绕过两种响应源码对比 |
| 2 | 实现扇形散开聚拢模式处理一批真实计算任务 | 真实任务 | done | 并发相关章节 | fan-out/fan-in代码与多次运行结果记录 |
类别清单核对(编程语言类)
| 维度 | 覆盖状态(已覆盖/补充生成/未覆盖) | 关联卡片标题或未覆盖理由 |
|---|---|---|
| 类型系统 | 已覆盖 | 类型转换与类型断言的本质区别、Go不支持泛型的设计取舍、Go内置类型与自定义类型的区别对待 |
| 内存管理模型 | 已覆盖 | Go指针不支持指针运算、数组值语义与切片引用语义的取舍、切片共享底层数组的别名陷阱、new与取地址复合字面量的等价性、零值保证消除未初始化数据 |
| 并发/并行模型 | 已覆盖 | 并发与并行的本质区别、goroutine是线程的多路复用、Go并发模型基于CSP、单向通道类型作为编译期契约、用通道串联goroutine形成管道、通道传递指针的并发安全责任、通道关闭的惯例 |
| 错误处理机制 | 已覆盖 | panic与error的责任分工 |
| 编译/执行模型 | 已覆盖 | Go快速编译的依赖缓存机制 |
| 模块/包与命名空间设计 | 已覆盖 | Go包系统的组织方式、用域名路径隔离包命名空间、文件名后缀实现平台条件编译 |
| 语言设计哲学与取舍 | 已覆盖 | 接口的隐式满足、独立小接口优于分层嵌套接口、继承语言混合代码与数据而Go强制分离,及引言章节多张卡片 |
| 元编程/反射/宏能力 | 补充生成 | 反射用类型信息换取泛型能力(原精读范围未覆盖,定向检索第9章9.4.9节反射包后补充) |
| 性能特性与其代价 | 已覆盖 | 数组值语义与切片引用语义的取舍、goroutine的启动开销权衡、Go内置类型与自定义类型的区别对待 |
章节与卡片
13 Go与Web应用
- Web应用与Web服务的边界 普通读书笔记卡
- 可扩展性的两个维度 普通读书笔记卡
- HTTP协议的核心定义 普通读书笔记卡
- 安全方法与幂等方法 普通读书笔记卡
- 处理器与模板引擎的职责划分 普通读书笔记卡
- 静态模板与动态模板 普通读书笔记卡
- HTTP/2的核心改进 普通读书笔记卡
- 微服务架构的组织逻辑 普通读书笔记卡
14 ChitChat论坛
- Go包系统的组织方式 普通读书笔记卡
- 空接口作为类型无关容器 普通读书笔记卡
- 方法与接收者 普通读书笔记卡
- 可变参数函数 普通读书笔记卡
- 多路复用器的请求路由角色 普通读书笔记卡
16 接收请求
- 货物崇拜编程 普通读书笔记卡
- 处理器的精确定义 普通读书笔记卡
- 处理器函数的适配器实现 普通读书笔记卡
- 横切关注点与处理器串联 普通读书笔记卡
- URL前缀匹配与最小惊讶原则 普通读书笔记卡
- SSL与TLS与HTTPS的关系 普通读书笔记卡
17 处理请求
- 表单编码方式的选择权衡 普通读书笔记卡
- cookie为无状态协议模拟持久化 普通读书笔记卡
- 闪现消息的实现原理 普通读书笔记卡
- 接口值里藏着的指针语义 普通读书笔记卡
- 会话cookie与持久cookie 普通读书笔记卡
18 内容展示
- 无逻辑与嵌入逻辑模板引擎的取舍 普通读书笔记卡
- 上下文感知转义防御XSS 普通读书笔记卡
- 可复用布局依赖显式命名模板 普通读书笔记卡
- 模板管道的组合设计 普通读书笔记卡
19 存储数据
- 连接池句柄而非单一连接 普通读书笔记卡
- 预处理语句与一次性查询的选择 普通读书笔记卡
- 关系数据库的四种关联类型 普通读书笔记卡
- ActiveRecord模式与数据映射器模式 普通读书笔记卡
- 数据库驱动的隐式注册机制 普通读书笔记卡
21 Go Web服务
- SOAP与REST的设计哲学对比 普通读书笔记卡
- REST如何为动作建模 普通读书笔记卡
- POST与PUT的幂等性差异 普通读书笔记卡
- 流式解码与一次性解封的取舍 普通读书笔记卡
22 应用测试
- 单元测试的单元判定标准 普通读书笔记卡
- 依赖注入解耦测试 普通读书笔记卡
- TDD与BDD的本质区别 普通读书笔记卡
23 发挥Go的并发优势
- 并发与并行的本质区别 普通读书笔记卡
- goroutine是线程的多路复用 普通读书笔记卡
- goroutine的启动开销权衡 普通读书笔记卡
- 无缓冲通道与有缓冲通道 普通读书笔记卡
- select语句的先到先服务语义 普通读书笔记卡
- 竞争条件与互斥锁 普通读书笔记卡
- 扇形散开与扇形聚拢模式 普通读书笔记卡
24 Go的部署
- IaaS与PaaS与SaaS的分层 普通读书笔记卡
- 容器与虚拟机的本质区别 普通读书笔记卡
- Docker镜像与容器的模板实例关系 普通读书笔记卡
34 为什么是Go
- Go快速编译的依赖缓存机制 普通读书笔记卡
- Go并发模型基于CSP 普通读书笔记卡
- Go不支持泛型的设计取舍 普通读书笔记卡
- Go内置类型与自定义类型的区别对待 普通读书笔记卡
35 5个例子
- defer的延迟执行语义 普通读书笔记卡
- panic与error的责任分工 普通读书笔记卡
- 具名返回值的变量遮蔽陷阱 普通读书笔记卡
- Reader与Writer接口的组合式鸭子类型 普通读书笔记卡
- 零值保证消除未初始化数据 普通读书笔记卡
- 值接收者与指针接收者的选择依据 普通读书笔记卡
38 集合类型
- Go指针不支持指针运算 普通读书笔记卡
- 数组值语义与切片引用语义的取舍 普通读书笔记卡
- 切片共享底层数组的别名陷阱 普通读书笔记卡
- 多返回值优先于输出参数指针 普通读书笔记卡
- new与取地址复合字面量的等价性 普通读书笔记卡
39 过程式编程
- 类型转换与类型断言的本质区别 普通读书笔记卡
- switch默认不贯穿的设计 普通读书笔记卡
- 类型开关作为显式的运行时多态 普通读书笔记卡
40 面向对象编程
- 方法集因接收者类型而不同 普通读书笔记卡
- 未导出字段配合构造函数实现校验 普通读书笔记卡
- 接口的隐式满足 普通读书笔记卡
- 方法表达式将方法变为普通函数 普通读书笔记卡
- 接口嵌入实现接口组合 普通读书笔记卡
- 嵌入类型方法的提升与覆盖 普通读书笔记卡
- 具名聚合与匿名嵌入的字段提升差异 普通读书笔记卡
- 具体接口切片优于空接口切片 普通读书笔记卡
- 独立小接口优于分层嵌套接口 普通读书笔记卡
- 工厂函数按运行时条件返回接口 普通读书笔记卡
41 并发编程
- 单向通道类型作为编译期契约 普通读书笔记卡
- 用通道串联goroutine形成管道 普通读书笔记卡
- 通道传递指针的并发安全责任 普通读书笔记卡
- 通道关闭的惯例 普通读书笔记卡
43 包
- 用域名路径隔离包命名空间 普通读书笔记卡
- 文件名后缀实现平台条件编译 普通读书笔记卡
- 测试包命名决定黑盒白盒测试 普通读书笔记卡
- 反射用类型信息换取泛型能力 普通读书笔记卡
44 后记
- 继承语言混合代码与数据而Go强制分离 普通读书笔记卡
45 软件专利的危害
- 专利投机者的敲诈式商业模式 普通读书笔记卡
- 软件本质是数学不应被专利化的论点 普通读书笔记卡
相关主题
暂无公开主题。