GopherChina-2019

71次阅读

共计 1393 个字符,预计需要花费 4 分钟才能阅读完成。

大型微服务框架设计实践

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

用 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 化实践

正文完
 0