大型微服务框架设计实践
比较偏理论,介绍的概念基本在现有的主流公司都有一定程度的应用,思路大同小异,但是将微服务比作操作系统,个人觉得这个比喻很不错,我们开发基础组件需要保有这个为业务服务的思维。
用Go打造Grab的路径规划及ETA引擎
寻路算法,与之前几届内容差不多。
TiDB 的 Golang 实践
开发 TiDB 过程中的一些实践,自研的 Schrodinger
,模拟实际场景中硬件、软件中多种多样意外场景的随机测试平台,支持 gofail,自定义 failpoint;goroutine 内存泄露的讨论;高效的编码格式。
How to write testable code
单元测试的编写思想,针对可导出函数进行单元测试。
更加完整的测试结果输出:
func TestSplit(t *testing.T) {
tests := map[string]struct {
input string
sep string
want []string
}{
"simple": {input: "a/b/c", sep: "/", want: []string{"a", "b", "c"}},
"wrong sep": {input: "a/b/c", sep: ",", want: []string{"a/b/c"}},
"no sep": {input: "abc", sep: "/", want: []string{"abc"}},
"trailing sep": {input: "a/b/c/", sep: "/", want: []string{"a", "b", "c"}},
}
for name, tc := range tests {
t.Run(name, func(t *testing.T) {
got := Split(tc.input, tc.sep)
diff := cmp.Diff(tc.want, got)
if diff != "" {
t.Fatalf(diff)
}
})
}
}
关于TDD的一个YouTube视频
Go 业务基础库之 Error & Context
错误处理的一些思路分享;Context
的使用建议,在不确定的时候就是用 context.TODO;很多很实在的编程经验,受益良多。
Go 同步和并发设计模式
基础深入的讲解。
- Mutex
- RWMutex
- Cond
- Waitgroup
- Once
- Pool
- Map
- ReentrantLock
- Semaphore
- SingleFlight
- ErrGroup
- SpinLock
- Fslock
- Concurrent Map
后续还有原子操作、channel 和内存模型的讲解。
百度APP Go语言实践
开发框架,依赖管理,代码检查的相关介绍。
用Go打造实时音视频SaaS云服务
公司业务介绍,实践中遇到的问题分享,
基于Minio的对象存储方案在探探的应用
技术方案选型过程,压测中遇到的问题,以及相关的解决思路。Minio不能胜任小型数据的大量级读写操作,采用 leveldb 来有序化读写流程,从而提高效率。
从 0 开始用 Go 实现 Lexer & Parser
内容很深奥...
分享很有趣...
高性能高可用开发框架TarsGo的腾讯实践
不错,想用。
闪电网络—BTC小额支付解决方案
个人感觉还是在进行中心化。
Using Go Modules in everyday life
go mod 的使用技巧,还有 goland 的相关操作。
用Go构建高性能数据库中间件
赶火车去了...
golang在花椒直播业务场景下的微服务应用
...
知乎社区核心业务 Golang 化实践
...
有疑问加站长微信联系(非本文作者)