go

第一课Go程序怎么跑起来的

理解可执⾏⽂件,Go进程的启动与初始化,调度组件与调度循环,处理阻塞,调度器的发展历史,与调度有关的常⻅问题

管理多版本 Go 安装

管理 Go 安装
2021-11-23
1分钟阅读时长

第二课 Go语法背后的秘密

go build -x hello.go 语法分析 https://astexplorer.net GOSSAFUNC=funcname go builld x.go 编译过程 https://godbolt.org go tool compile -S ./hello.go | grep “hello.go:5” go tool objdump ./x goyacc 课上推荐资源 https://xargin.com/addr-of-empty-struct-may-not-eq/ https://xargin.com/go1-17-new-calling-convention/ https://elasticsearch.cn/article/114 Github https://github.com/cch123/elasticsql https://github.com/cch123/parser_example https://github.com/go-internals-cn/go-internals https://github.com/grantseltzer/weaver https://github.com/YYCoder/protobuf-thrift https://github.com/vitessio/vitess https://github.com/xwb1989/sqlparser Dash 文档工具 电子书渠道 libgen、z-lib

第三课 神奇的内置数据结构

理解可执⾏⽂件,Go进程的启动与初始化,调度组件与调度循环,处理阻塞,调度器的发展历史,与调度有关的常⻅问题

第五课 Go 语言的内存管理和拉垃圾回收

内存逃逸分析: cmd/compile/internal/escape.go test:/master/test go build -gcflags="-m" escapge.go 书 垃圾回收的算法与实现 垃圾回收算法手册(章节1、2、7、11.8、12.1、15、19.6)

第三课 神奇的内置数据结构

理解可执⾏⽂件,Go进程的启动与初始化,调度组件与调度循环,处理阻塞,调度器的发展历史,与调度有关的常⻅问题

第七课 社区优秀开源框架对比

https://jaycechant.info/2020/go-bindata-golang-static-resources-embedding/

第十课如何写出优雅的Go代码

effective-go 50 shades 100 Go Mistakes (How to Avoid Them) awesome-go golint golangci-lint go fmt go vet gocyclo 圈复杂度检查 ineffassign misspell reviewdog 《重构》第二版第三章 bad smell 《代码大全》表驱动章节 参考学习资料 goreportcard.com https://golang.com/cmd/vet https://github.com/kisielk/errcheck https://github.com/timakin/bodyclose https://github.com/gostaticanalysis/sqlrows https://github.com/analysis-tools-dev/static-analysis https://xargin.com/about-livinig-doc/ https://www.jetbrains.com/help/go/using-the-testify-toolkit.html#compare-expected-and-actual-values https://github.com/golang/go/wiki/TableDrivenTests https://segment.com/blog/5-advanced-testing-techniques-in-go/ https://stackoverflow.com/questions/42102496/testing-a-grpc-service https://github.com/smartystreets/goconvey https://github.com/onsi/ginkgo https://blog.csdn.net/zwqjoy/article/details/79474196 https://juejin.cn/post/6844903837875208205 Go programming language第11章 https://github.com/gopl-zh/gopl-zh.github.com PingCAP的failpoint https://github.com/pingcap/failpoint failpoint的设计与实现 https://juejin.cn/post/6844903837875208205 GoConvey测试 https://blog.csdn.net/zwqjoy/article/details/79474196 ginkgo测试 https://semaphoreci.com/community/tutorials/getting-started-with-bdd-in-go-using-ginkgo Didi的Go流量录制、流量回放⽅案 https://github.com/didi/sharingan

第十五课 微服务的监控和可观测序

Metrics Prometheus 默认端口9090 Counter【计数类】、Gauge【状态数据】、Summary【分位数据】、Histogram【直方图】 Pushgateway 默认端口9091 Alertmanager 告警模块 Google 的Monarch Traces Logs