大型微服务框架设计实践

比较偏理论,介绍的概念基本在现有的主流公司都有一定程度的应用,思路大同小异,但是将微服务比作操作系统,个人觉得这个比喻很不错,我们开发基础组件需要保有这个为业务服务的思维。

用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视频
关于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 化实践

...


MEX
81 声望1 粉丝

制心一处。