Go 语言从入门到实战
蔡超
Mobvista 技术副总裁兼首席架构师,前亚马逊(中国)首席软件架构师
48919 人已学习
新⼈⾸单
¥
59
课程目录
已完结/共 55 讲
第一章:Go语言简介
(4讲)
01 | Go语言课程介绍
时长 06:57
02 | 内容综述
时长 02:28
03 | Go语言简介:历史背景、发展现状及语言特性
时长 06:28
04 | 编写第一个Go程序
时长 13:08
第二章:基本程序结构
(4讲)
05 | 变量、常量以及与其他语言的差异
时长 21:16
06 | 数据类型
时长 11:51
07 | 运算符
时长 10:33
08 | 条件和循环
时长 13:22
第三章:常用集合
(3讲)
09 | 数组和切片
时长 31:47
10 | Map声明、元素访问及遍历
时长 13:09
11 | Map与工厂模式,在Go语言中实现Set
时长 09:44
第四章:字符串
(1讲)
12 | 字符串
时长 16:47
第五章:函数
(2讲)
13 | Go语言的函数
时长 12:38
14 | 可变参数和defer
时长 07:03
第六章:面向对象编程
(4讲)
15 | 行为的定义和实现
时长 11:08
16 | Go语言的相关接口
时长 14:12
17 | 扩展与复用
时长 16:03
18 | 不一样的接口类型,一样的多态
时长 14:30
第七章:编写好的错误处理
(2讲)
19 | 编写好的错误处理
时长 15:43
20 | panic和recover
时长 07:27
第八章:包和依赖管理
(2讲)
21 | 构建可复用的模块(包)
时长 19:30
22 | 依赖管理
时长 07:36
第九章:并发编程
(7讲)
23 | 协程机制
时长 09:05
24 | 共享内存并发机制
时长 09:29
25 | CSP并发机制
时长 12:44
26 | 多路选择和超时
时长 05:02
27 | channel的关闭和广播
时长 10:16
28 | 任务的取消
时长 04:16
29 | Context与任务取消
时长 05:32
第十章:典型并发任务
(5讲)
30 | 只运行一次
时长 09:39
31 | 仅需任意任务完成
时长 05:21
32 | 所有任务完成
时长 03:39
33 | 对象池
时长 07:51
34 | sync.pool对象缓存
时长 09:54
第十一章:测试
(3讲)
35 | 单元测试
时长 11:48
36 | Benchmark
时长 07:12
37 | BDD
时长 06:15
第十二章:反射和Unsafe
(3讲)
38 | 反射编程
时长 08:18
39 | 万能程序
时长 08:03
40 | 不安全编程
时长 06:04
第十三章:常见架构模式的实现
(2讲)
41 | 实现pipe-filter framework
时长 09:18
42 | 实现micro-kernel framework
时长 11:54
第十四章:常见任务
(4讲)
43 | 内置JSON解析
时长 03:36
44 | easyjson
时长 04:27
45 | HTTP服务
时长 05:14
46 | 构建RESTful服务
时长 08:23
第十五章:性能调优
(4讲)
47 | 性能分析工具
时长 19:08
48 | 性能调优示例
时长 16:03
49 | 别让性能被锁住
时长 14:08
50 | GC友好的代码
时长 11:14
第十六章:高可用性服务设计
(5讲)
51 | 高效字符串连接
时长 03:54
52 | 面向错误的设计
时长 11:39
53 | 面向恢复的设计
时长 08:46
54 | Chaos Engineering
时长 07:38
55 | 结课测试&结束语
时长 04:25
Go 语言从入门到实战
登录
|
注册
留言
2
收藏
沉浸
阅读
分享
手机端
回顶部
Sorry, your browser doesn't support embedded videos.
当前播放: 53 | 面向恢复的设计
00:00
/ 00:00
高清
高清
1.0x
2.0x
1.5x
1.25x
1.0x
0.75x
0.5x
音量
网页全屏
全屏
00:00
付费课程,可试看
01 | Go语言课程介绍
02 | 内容综述
03 | Go语言简介:历史背景、发展现状及语言特性
04 | 编写第一个Go程序
05 | 变量、常量以及与其他语言的差异
06 | 数据类型
07 | 运算符
08 | 条件和循环
09 | 数组和切片
10 | Map声明、元素访问及遍历
11 | Map与工厂模式,在Go语言中实现Set
12 | 字符串
13 | Go语言的函数
14 | 可变参数和defer
15 | 行为的定义和实现
16 | Go语言的相关接口
17 | 扩展与复用
18 | 不一样的接口类型,一样的多态
19 | 编写好的错误处理
20 | panic和recover
21 | 构建可复用的模块(包)
22 | 依赖管理
23 | 协程机制
24 | 共享内存并发机制
25 | CSP并发机制
26 | 多路选择和超时
27 | channel的关闭和广播
28 | 任务的取消
29 | Context与任务取消
30 | 只运行一次
31 | 仅需任意任务完成
32 | 所有任务完成
33 | 对象池
34 | sync.pool对象缓存
35 | 单元测试
36 | Benchmark
37 | BDD
38 | 反射编程
39 | 万能程序
40 | 不安全编程
41 | 实现pipe-filter framework
42 | 实现micro-kernel framework
43 | 内置JSON解析
44 | easyjson
45 | HTTP服务
46 | 构建RESTful服务
47 | 性能分析工具
48 | 性能调优示例
49 | 别让性能被锁住
50 | GC友好的代码
51 | 高效字符串连接
52 | 面向错误的设计
53 | 面向恢复的设计
54 | Chaos Engineering
55 | 结课测试&结束语
本节摘要
课件及源代码地址
https://gitee.com/geektime-geekbang/go_learning
书目推荐
《计算机程序的构造和解释》
登录
后留言
全部留言(2)
最新
精选
缥缈影子
做了个小项目,没有用任何框架,主要提供查询数据用,同样的接口和数据,调用一会可用,一会服务就自动停止了,通过日志也看不到那块出错了,这种情况我该从那入手解决。
作者回复: 通常可以多输出一些日志,很快就能找到问题。
2020-03-01
2
escray
通过 http 的 ping 或者是看 进程是否存在,对于僵尸进程可能无法察觉,会得到不准确的健康状态。对于关键路径需要做有效的健康检查,激活一个检查程序。 这个检查程序感觉有点类似于在关键路径上做自动化的冒烟测试。 对于一些不明确的错误,如果只是记录日志而没有真正 Recover,僵尸进程驻留,而没有彻底解决,那么始终会存在隐患。 相对来说,不如直接让它 Crash,还记得当年重启 Wiindows 的经历么? 单体系统,所有的功能都集成在一起,当一部分功能发生错误的时候,没有办法单独重启出错的功能。 微服务,可以通过降级、重启等措施,是可以让出现错误的部分恢复。 有状态的可能需要考虑状态迁移,而无状态的可以用任何一个 instance 来替代,做到 instance flexible 与客户端协商,古老而有效的技术,类似 TCP 协议中的滑动窗口协议 在服务能力成为瓶颈的时候,定义一个返回码,告诉客户端慢一点发,或者告诉客户端隔一段时间再发,主动协调负载,让服务器从繁忙恢复。
2021-04-13
5
收起评论