Serverless学习手册

Serverless学习手册
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Jason Katzer)
2023-05
版次: 1
ISBN: 9787519876982
定价: 78.00
装帧: 其他
开本: 16开
纸张: 铜版纸
页数: 256页
字数: 333.000千字
2人买过
  • 本书的主要内容有:生产路径。检查分布式系统、微服务、接口和Serverless体系结构和模式的进出情况。工具。深入研究监控、可监控性和警报、日志记录、流水线、自动化和部署。概念。学习如何设计安全性和隐私性,如何通过测试和模拟系统来管理质量,以及如何为失败做计划。 Jason Katzer是CloudPro.app的创造者。这是一个为云计算创造生产力的工具。他也提供serverless架构设计和更经济使用云系统的顾问服务。在Capital One收购Paribus后,他担任Capital One的软件工程部门总监,并曾经担任Blink健康公司的工程部门总监。Jason是一个连续的企业家和天使投资人,他创立并参与了许多新的企业。 目录

    前言 .1

    第0 章 Serverless 介绍 7

    0.1 什么是Serverless? .8

    0.1.1 Serverless 的历史 .9

    0.1.2 云服务提供商概况 . 10

    0.1.3 可靠性,可用性,灾难恢复 . 11

    0.2 Serverless 的优势 . 12

    0.2.1 增加的可伸缩性、安全性和可靠性 13

    0.2.2 只支付你使用的东西 13

    0.2.3 节省管理服务器的时间和金钱 13

    0.2.4 提高开发人员的生产力 14

    0.2.5 降低管理职责 14

    0.2.6 集成的便利 15

    0.3 Serverless 的弱点 . 15

    0.3.1 冷(启动)战 16

    0.3.2 计算时间. 16

    0.3.3 VPC/ 网络问题 17

    0.3.4 应用程序的大小 . 17

    0.3.5 可能会更贵 17

    0.3.6 厂商锁定. 18

    0.3.7 复杂的调试 19

    0.4 什么时候使用Serverless 有意义? . 19

    0.5 Serverless 的计算机什么时候不适合你? 21

    0.6 让我们开始 . 22

    部分 生产之路 .23

    第1 章 分布式系统 .25

    1.1 什么是分布式系统? . 25

    1.2 为什么我们需要一个分布式系统? 27

    1.3 分布式系统的严酷现实 27

    1.3.1 物理世界. 28

    1.3.2 失踪的消息 29

    1.3.3 不可靠的时钟 30

    1.3.4 级联故障. 31

    1.3.5 更新产生的意外 . 32

    1.3.6 幂等性 . 32

    1.4 我负责什么? 33

    1.5 在设计分布式系统时,你需要考虑哪些? 34

    1.5.1 松耦合(或解耦) . 34

    1.5.2 容错 35

    1.5.3 生成的(主)键 35

    1.5.4 规划幂等性 36

    1.5.5 两阶段的更新 36

    1.6 延伸阅读 37

    1.7 结论 38

    第2 章 微服务 39

    2.1 为什么要使用微服务? 40

    2.1.1 提高开发速度 40

    2.1.2 增加开发人员的自由 41

    2.2 微服务的问题 42

    2.2.1 增加了复杂性 43

    2.2.2 需要适当的DevOps 实践和资源 43

    2.2.3 本地开发和测试的挑战 44

    2.3 如何有效地使用微服务? 45

    2.3.1 一致的接口 45

    2.3.2 松散耦合. 46

    2.4 微服务有多微小? 47

    2.5 选择单体应用还是微服务 48

    2.5.1 什么时候应该使用单体应用? 49

    2.5.2 什么时候需要使用微服务? . 51

    2.6 结论 52

    第3 章 Serverless 架构和模式 53

    3.1 架构师的角色 54

    3.2 要成为一名架构师,你需要知道哪些? . 55

    3.3 决策 55

    3.3.1 什么样的决策? . 56

    3.3.2 记录你的决策 57

    3.3.3 我们如何做决策? . 57

    3.3.4 我们什么时候做决策? 58

    3.4 云服务提供商组件 59

    3.4.1 流 60

    3.4.2 队列 60

    3.4.3 桶 61

    3.4.4 计算 62

    3.4.5 数据存储. 62

    3.4.6 身份认证服务 63

    3.4.7 API 网关 . 64

    3.4.8 GraphQL . 64

    3.4.9 网络 64

    3.4.10 状态机 65

    3.4.11 日志记录 65

    3.4.12 监测和报警 . 66

    3.5 来自云服务提供商的事件 67

    3.6 模式 68

    3.6.1 示例1:Serverless 单体应用 69

    3.6.2 示例2:传入Webhook 69

    3.6.3 示例3:使用云服务提供商进行用户身份验证 70

    3.6.4 示例4:通用的后台任务模式 . 71

    3.6.5 示例5:流提取、转换、加载 . 71

    3.6.6 示例6:创建自己的轮询集成 . 72

    3.6.7 示例7:处理文件和图像 72

    3.6.8 示例8:迁移服务模式 73

    3.6.9 示例9:散开 74

    3.7 结论 75

    第4 章 接口 77

    4.1 接口:需要一些组装 . 78

    4.1.1 消息 78

    4.1.2 协议 78

    4.1.3 约定 79

    4.2 Serverless 接口 . 79

    4.2.1 自动重试和死信队列 80

    4.2.2 有限与无限规模 . 81

    4.3 设计接口 81

    4.3.1 消息/ 载荷 . 82

    4.3.2 会话和用户/ 身份验证 83

    4.3.3 避免无约束的请求 . 83

    4.3.4 接口与实现 84

    4.3.5 带逻辑的线 85

    4.4 设计不愉快的路径 86

    4.4.1 验证输入. 86

    4.4.2 失败 86

    4.5 与其他服务集成的策略 89

    4.5.1 超时 89

    4.5.2 重试 90

    4.5.3 指数补偿. 90

    4.5.4 网络钩子. 91

    4.5.5 评估外部服务 92

    4.5.6 速度限制. 93

    4.6 结论 93

    第二部分 工具 95

    第5 章 Serverless 框架 97

    5.1 为什么使用Serverless 框架? 98

    5.2 什么时候Serverless 框架不适合你 100

    5.2.1 AWS 是的一等公民 100

    5.2.2 AWS 的云服务模板也并不完美 100

    5.2.3 你的基础设施依赖陌生人 101

    5.3 开始之前你需要知道些什么 102

    5.3.1 YAML 102

    5.3.2 Node.js 104

    5.3.3 云资源和权限 104

    5.3.4 基础架构模板 106

    5.3.5 生产的机密 . 106

    5.3.6 .gitignore 文件 107

    5.4 serverless.yml 文件的组成 107

    5.4.1 提供者 108

    5.4.2 环境 109

    5.4.3 函数 110

    5.4.4 资源 111

    5.4.5 包 . 111

    5.4.6 插件 112

    5.4.7 自定义 113

    5.4.8 用于健全和安全的命名空间 114

    5.5 使用Serverless 命令 114

    5.5.1 安装Serverless . 114

    5.5.2 使用凭证设置Serverless . 115

    5.5.3 使用Serverless install 拉入模板 116

    5.5.4 检查示例项目的包(里面有什么) 116

    5.5.5 部署 117

    5.5.6 调用函数,并查看日志 117

    5.5.7 回滚 118

    5.5.8 销毁服务 118

    5.5.9 部署软件包 . 119

    5.6 现实世界serverless.yml . 119

    5.6.1 设置环境变量 120

    5.6.2 修改权限 120

    5.7 结论 . 121

    第6 章 监控、可观察性和警报 123

    6.1 监控是什么? . 123

    6.1.1 我们为什么需要监控? 124

    6.1.2 监控与Serverless 有什么关系? . 125

    6.1.3 自动化的入口 125

    6.2 我有什么选择? 126

    6.2.1 托管SaaS 产品 . 126

    6.2.2 自托管和开放源码 127

    6.3 监控的组成部分 128

    6.3.1 监控指标 128

    6.3.2 图表和图形 . 132

    6.3.3 仪表板 133

    6.3.4 警报/ 警告 134

    6.4 选择先进的实践 136

    6.4.1 心跳 136

    6.4.2 冒烟测试和/ 或金丝雀 . 137

    6.4.3 世界上重要的度量标准 137

    6.4.4 避免厂商锁定 139

    6.4.5 随着时间的推移清除度量和警报 140

    6.5 结论 . 140

    第7 章 日志 141

    7.1 日志是什么? . 142

    7.2 为什么需要日志? 143

    7.3 何时依赖日志而不是监控指标 144

    7.4 应该记录什么? 145

    7.5 你不应该记录什么? 147

    7.6 日志是如何工作的? 148

    7.6.1 确保你的日志可伸缩 . 149

    7.6.2 结构化的日志 150

    7.6.3 更有效的日志调试 150

    7.6.4 搜索日志 151

    7.6.5 异常日志(Sentry) 151

    7.7 收集其他日志 . 152

    7.8 合规 . 153

    7.9 分布式跟踪 154

    7.10 加密日志以保证隐私和遵从性 154

    7.11 那么你应该怎么做呢? 154

    7.11.1 只加密敏感字段的值 155

    7.11.2 加密整个日志语句 155

    7.12 结论 156

    第8 章 变更、自动化和部署流水线 157

    8.1 应对变化 158

    8.2 自动化的作用 . 158

    8.3 使你的代码为部署到生产系统做好准备 160

    8.4 基础设施即代码 161

    8.5 数据库更改(迁移) 163

    8.6 配置管理 164

    8.7 什么是流水线? 164

    8.8 关于流水线的决策 165

    8.9 金丝雀和蓝/ 绿部署 166

    8.10 为什么需要流水线? 168

    8.11 部署流水线的关键阶段 168

    8.11.1 步骤1:执行标准 . 169

    8.11.2 步骤2:构建和打包 169

    8.11.3 步骤3:测试 170

    8.11.4 步骤4:发布Artifact . 170

    8.11.5 步骤5:部署到目标环境 171

    8.11.6 步骤6:验证部署 . 171

    8.11.7 步骤7:必要时(可能)回滚 172

    8.12 流水线故障处理 172

    8.13 结论 173

    第三部分 概念 175

    第9 章 安全性、权限和隐私 . 177

    9.1 每个人都有责任,但你尤其有责任 . 179

    9.2 做好被黑的准备 180

    9.2.1 了解你的威胁和攻击者 181

    9.2.2 设计的安全 . 181

    9.3 限制,跟踪和审查所有秘密和访问 . 183

    9.4 准备更新 185

    9.4.1 深度防御 186

    9.4.2 限制爆炸半径 187

    9.4.3 信任,但要核查 188

    9.5 验证所有用户输入并对设置重复检查 190

    9.5.1 监控系统中的异常情况 192

    9.5.2 测试你的安全 192

    9.5.3 仔细选择依赖项并保持软件的 193

    9.5.4 优先保护你的数据和客户数据的隐私 195

    9.5.5 不要干扰生产 196

    9.6 确保你的电脑安全 197

    9.7 继续学习 197

    9.8 结论 . 198

    第10 章 质量、测试和模拟 201

    10.1 代码质量的作用 202

    10.1.1 代码风格 203

    10.1.2 代码校验 204

    10.2 测试 206

    10.2.1 测试什么,不测试什么 . 207

    10.2.2 测试类型 207

    10.2.3 代码覆盖率 212

    10.2.4 加强你的测试 . 214

    10.3 模拟 214

    10.4 结论 218

    第11 章 为失败做计划 219

    11.1 简介:理解它,即使你不能管理它 219

    11.2 识别风险 . 221

    11.3 做好准备 . 222

    11.4 做一个运行手册 223

    11.5 计划宕机 . 225

    11.6 监控你的云服务提供商 226

    11.7 了解你的(服务)限制 227

    11.8 结论 228

    第12 章 总结 . 229

    12.1 在供应商之间做取舍 230

    12.2 社区 231

    12.3 寻求其他人的建议 . 232

    12.4 陷入困境时该如何做 233

    12.5 迈出职业生涯的下一步 233
  • 内容简介:
    本书的主要内容有:生产路径。检查分布式系统、微服务、接口和Serverless体系结构和模式的进出情况。工具。深入研究监控、可监控性和警报、日志记录、流水线、自动化和部署。概念。学习如何设计安全性和隐私性,如何通过测试和模拟系统来管理质量,以及如何为失败做计划。
  • 作者简介:
    Jason Katzer是CloudPro.app的创造者。这是一个为云计算创造生产力的工具。他也提供serverless架构设计和更经济使用云系统的顾问服务。在Capital One收购Paribus后,他担任Capital One的软件工程部门总监,并曾经担任Blink健康公司的工程部门总监。Jason是一个连续的企业家和天使投资人,他创立并参与了许多新的企业。
  • 目录:
    目录

    前言 .1

    第0 章 Serverless 介绍 7

    0.1 什么是Serverless? .8

    0.1.1 Serverless 的历史 .9

    0.1.2 云服务提供商概况 . 10

    0.1.3 可靠性,可用性,灾难恢复 . 11

    0.2 Serverless 的优势 . 12

    0.2.1 增加的可伸缩性、安全性和可靠性 13

    0.2.2 只支付你使用的东西 13

    0.2.3 节省管理服务器的时间和金钱 13

    0.2.4 提高开发人员的生产力 14

    0.2.5 降低管理职责 14

    0.2.6 集成的便利 15

    0.3 Serverless 的弱点 . 15

    0.3.1 冷(启动)战 16

    0.3.2 计算时间. 16

    0.3.3 VPC/ 网络问题 17

    0.3.4 应用程序的大小 . 17

    0.3.5 可能会更贵 17

    0.3.6 厂商锁定. 18

    0.3.7 复杂的调试 19

    0.4 什么时候使用Serverless 有意义? . 19

    0.5 Serverless 的计算机什么时候不适合你? 21

    0.6 让我们开始 . 22

    部分 生产之路 .23

    第1 章 分布式系统 .25

    1.1 什么是分布式系统? . 25

    1.2 为什么我们需要一个分布式系统? 27

    1.3 分布式系统的严酷现实 27

    1.3.1 物理世界. 28

    1.3.2 失踪的消息 29

    1.3.3 不可靠的时钟 30

    1.3.4 级联故障. 31

    1.3.5 更新产生的意外 . 32

    1.3.6 幂等性 . 32

    1.4 我负责什么? 33

    1.5 在设计分布式系统时,你需要考虑哪些? 34

    1.5.1 松耦合(或解耦) . 34

    1.5.2 容错 35

    1.5.3 生成的(主)键 35

    1.5.4 规划幂等性 36

    1.5.5 两阶段的更新 36

    1.6 延伸阅读 37

    1.7 结论 38

    第2 章 微服务 39

    2.1 为什么要使用微服务? 40

    2.1.1 提高开发速度 40

    2.1.2 增加开发人员的自由 41

    2.2 微服务的问题 42

    2.2.1 增加了复杂性 43

    2.2.2 需要适当的DevOps 实践和资源 43

    2.2.3 本地开发和测试的挑战 44

    2.3 如何有效地使用微服务? 45

    2.3.1 一致的接口 45

    2.3.2 松散耦合. 46

    2.4 微服务有多微小? 47

    2.5 选择单体应用还是微服务 48

    2.5.1 什么时候应该使用单体应用? 49

    2.5.2 什么时候需要使用微服务? . 51

    2.6 结论 52

    第3 章 Serverless 架构和模式 53

    3.1 架构师的角色 54

    3.2 要成为一名架构师,你需要知道哪些? . 55

    3.3 决策 55

    3.3.1 什么样的决策? . 56

    3.3.2 记录你的决策 57

    3.3.3 我们如何做决策? . 57

    3.3.4 我们什么时候做决策? 58

    3.4 云服务提供商组件 59

    3.4.1 流 60

    3.4.2 队列 60

    3.4.3 桶 61

    3.4.4 计算 62

    3.4.5 数据存储. 62

    3.4.6 身份认证服务 63

    3.4.7 API 网关 . 64

    3.4.8 GraphQL . 64

    3.4.9 网络 64

    3.4.10 状态机 65

    3.4.11 日志记录 65

    3.4.12 监测和报警 . 66

    3.5 来自云服务提供商的事件 67

    3.6 模式 68

    3.6.1 示例1:Serverless 单体应用 69

    3.6.2 示例2:传入Webhook 69

    3.6.3 示例3:使用云服务提供商进行用户身份验证 70

    3.6.4 示例4:通用的后台任务模式 . 71

    3.6.5 示例5:流提取、转换、加载 . 71

    3.6.6 示例6:创建自己的轮询集成 . 72

    3.6.7 示例7:处理文件和图像 72

    3.6.8 示例8:迁移服务模式 73

    3.6.9 示例9:散开 74

    3.7 结论 75

    第4 章 接口 77

    4.1 接口:需要一些组装 . 78

    4.1.1 消息 78

    4.1.2 协议 78

    4.1.3 约定 79

    4.2 Serverless 接口 . 79

    4.2.1 自动重试和死信队列 80

    4.2.2 有限与无限规模 . 81

    4.3 设计接口 81

    4.3.1 消息/ 载荷 . 82

    4.3.2 会话和用户/ 身份验证 83

    4.3.3 避免无约束的请求 . 83

    4.3.4 接口与实现 84

    4.3.5 带逻辑的线 85

    4.4 设计不愉快的路径 86

    4.4.1 验证输入. 86

    4.4.2 失败 86

    4.5 与其他服务集成的策略 89

    4.5.1 超时 89

    4.5.2 重试 90

    4.5.3 指数补偿. 90

    4.5.4 网络钩子. 91

    4.5.5 评估外部服务 92

    4.5.6 速度限制. 93

    4.6 结论 93

    第二部分 工具 95

    第5 章 Serverless 框架 97

    5.1 为什么使用Serverless 框架? 98

    5.2 什么时候Serverless 框架不适合你 100

    5.2.1 AWS 是的一等公民 100

    5.2.2 AWS 的云服务模板也并不完美 100

    5.2.3 你的基础设施依赖陌生人 101

    5.3 开始之前你需要知道些什么 102

    5.3.1 YAML 102

    5.3.2 Node.js 104

    5.3.3 云资源和权限 104

    5.3.4 基础架构模板 106

    5.3.5 生产的机密 . 106

    5.3.6 .gitignore 文件 107

    5.4 serverless.yml 文件的组成 107

    5.4.1 提供者 108

    5.4.2 环境 109

    5.4.3 函数 110

    5.4.4 资源 111

    5.4.5 包 . 111

    5.4.6 插件 112

    5.4.7 自定义 113

    5.4.8 用于健全和安全的命名空间 114

    5.5 使用Serverless 命令 114

    5.5.1 安装Serverless . 114

    5.5.2 使用凭证设置Serverless . 115

    5.5.3 使用Serverless install 拉入模板 116

    5.5.4 检查示例项目的包(里面有什么) 116

    5.5.5 部署 117

    5.5.6 调用函数,并查看日志 117

    5.5.7 回滚 118

    5.5.8 销毁服务 118

    5.5.9 部署软件包 . 119

    5.6 现实世界serverless.yml . 119

    5.6.1 设置环境变量 120

    5.6.2 修改权限 120

    5.7 结论 . 121

    第6 章 监控、可观察性和警报 123

    6.1 监控是什么? . 123

    6.1.1 我们为什么需要监控? 124

    6.1.2 监控与Serverless 有什么关系? . 125

    6.1.3 自动化的入口 125

    6.2 我有什么选择? 126

    6.2.1 托管SaaS 产品 . 126

    6.2.2 自托管和开放源码 127

    6.3 监控的组成部分 128

    6.3.1 监控指标 128

    6.3.2 图表和图形 . 132

    6.3.3 仪表板 133

    6.3.4 警报/ 警告 134

    6.4 选择先进的实践 136

    6.4.1 心跳 136

    6.4.2 冒烟测试和/ 或金丝雀 . 137

    6.4.3 世界上重要的度量标准 137

    6.4.4 避免厂商锁定 139

    6.4.5 随着时间的推移清除度量和警报 140

    6.5 结论 . 140

    第7 章 日志 141

    7.1 日志是什么? . 142

    7.2 为什么需要日志? 143

    7.3 何时依赖日志而不是监控指标 144

    7.4 应该记录什么? 145

    7.5 你不应该记录什么? 147

    7.6 日志是如何工作的? 148

    7.6.1 确保你的日志可伸缩 . 149

    7.6.2 结构化的日志 150

    7.6.3 更有效的日志调试 150

    7.6.4 搜索日志 151

    7.6.5 异常日志(Sentry) 151

    7.7 收集其他日志 . 152

    7.8 合规 . 153

    7.9 分布式跟踪 154

    7.10 加密日志以保证隐私和遵从性 154

    7.11 那么你应该怎么做呢? 154

    7.11.1 只加密敏感字段的值 155

    7.11.2 加密整个日志语句 155

    7.12 结论 156

    第8 章 变更、自动化和部署流水线 157

    8.1 应对变化 158

    8.2 自动化的作用 . 158

    8.3 使你的代码为部署到生产系统做好准备 160

    8.4 基础设施即代码 161

    8.5 数据库更改(迁移) 163

    8.6 配置管理 164

    8.7 什么是流水线? 164

    8.8 关于流水线的决策 165

    8.9 金丝雀和蓝/ 绿部署 166

    8.10 为什么需要流水线? 168

    8.11 部署流水线的关键阶段 168

    8.11.1 步骤1:执行标准 . 169

    8.11.2 步骤2:构建和打包 169

    8.11.3 步骤3:测试 170

    8.11.4 步骤4:发布Artifact . 170

    8.11.5 步骤5:部署到目标环境 171

    8.11.6 步骤6:验证部署 . 171

    8.11.7 步骤7:必要时(可能)回滚 172

    8.12 流水线故障处理 172

    8.13 结论 173

    第三部分 概念 175

    第9 章 安全性、权限和隐私 . 177

    9.1 每个人都有责任,但你尤其有责任 . 179

    9.2 做好被黑的准备 180

    9.2.1 了解你的威胁和攻击者 181

    9.2.2 设计的安全 . 181

    9.3 限制,跟踪和审查所有秘密和访问 . 183

    9.4 准备更新 185

    9.4.1 深度防御 186

    9.4.2 限制爆炸半径 187

    9.4.3 信任,但要核查 188

    9.5 验证所有用户输入并对设置重复检查 190

    9.5.1 监控系统中的异常情况 192

    9.5.2 测试你的安全 192

    9.5.3 仔细选择依赖项并保持软件的 193

    9.5.4 优先保护你的数据和客户数据的隐私 195

    9.5.5 不要干扰生产 196

    9.6 确保你的电脑安全 197

    9.7 继续学习 197

    9.8 结论 . 198

    第10 章 质量、测试和模拟 201

    10.1 代码质量的作用 202

    10.1.1 代码风格 203

    10.1.2 代码校验 204

    10.2 测试 206

    10.2.1 测试什么,不测试什么 . 207

    10.2.2 测试类型 207

    10.2.3 代码覆盖率 212

    10.2.4 加强你的测试 . 214

    10.3 模拟 214

    10.4 结论 218

    第11 章 为失败做计划 219

    11.1 简介:理解它,即使你不能管理它 219

    11.2 识别风险 . 221

    11.3 做好准备 . 222

    11.4 做一个运行手册 223

    11.5 计划宕机 . 225

    11.6 监控你的云服务提供商 226

    11.7 了解你的(服务)限制 227

    11.8 结论 228

    第12 章 总结 . 229

    12.1 在供应商之间做取舍 230

    12.2 社区 231

    12.3 寻求其他人的建议 . 232

    12.4 陷入困境时该如何做 233

    12.5 迈出职业生涯的下一步 233
查看详情
您可能感兴趣 / 更多
Serverless学习手册
无辜者的谎言(相信我!看到结局你一定会头皮发麻;全美读者推荐的悬疑神作,GOODREADS高分作品)
[美]A.R.托雷 著;梁颂宇 译;星文文化 出品
Serverless学习手册
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
Serverless学习手册
哲学、历史与僭政——重审施特劳斯与科耶夫之争
[美]弗罗斯特(Bryan-Paul Frost) 编;[美]伯恩斯(Timothy W. Burns)
Serverless学习手册
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
Serverless学习手册
力量训练的科学基础与实践应用(第三版)
[美]弗拉基米尔· M.扎齐奥尔斯基;[美]威廉·J.克雷默;[美]安德鲁· C.弗赖伊
Serverless学习手册
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
Serverless学习手册
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
Serverless学习手册
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
Serverless学习手册
最后一章
[美]厄尼·派尔
Serverless学习手册
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
Serverless学习手册
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
Serverless学习手册
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译