lbbniu

polaris-go 源码走读

描述
2022-10-28
4分钟阅读时长

第一课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/

第8周 位运算、布隆过滤器和LRU缓存、排序算法

第16课 | 位运算,第17课 | 布隆过滤器和LRU缓存,第18课 | 排序算法

第十课如何写出优雅的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

第二十课 Go 语言与未来架构

Service Mesh cds (Cluster discovery service) eds (Endpotin discovery service) lds (Listener discovery service) rds (Route discovery service) 组件 xDS protoc Envoy MOSN Istio Dapr(Distributed Application Runtime) Mecha架构 http2&3学习手册: https://github.com/bagder/http2-explained https://http2-explained.haxx.se/zh https://github.com/bagder/http3-explained https://http3-explained.haxx.se/zh https://cloud.google.com/traffic-director/docs/proxyless-overview https://isovalent.com/blog/post/2021-12-08-ebpf-servicemesh 练习 Dapr 搭建hello world dapr 文档: https://docs.dapr.io/zh-hans/

第十八课 以go-micro为例讲讲抽象【二期内容】

参考链接 依赖反转相关 righting software 读书笔记