摘要
- ABC
- 基于 Golang 的应用
- Golang 最佳实践
围棋十诀
一、不得贪胜。
二、入界宜缓。
三、攻彼顾我。
四、弃子争先。
五、舍小就大。
六、逢危须弃。
七、慎勿轻速。
八、动须相应。
九、彼强自保。
十、势孤取和。
————(唐)王积薪
一、ABC
- Go by Example
- Popular sites, blogs and tutorials for learning and mastering Go Language
- Learn Go with tests
1.1 Install
1 | tar -C /usr/local/go-$version -xvf go-$version.tar.gz |
1.2 Go Version Manage
1 | //atom 代码提示 |
- build
1 |
|
二、基于 Golang 的应用
2.1 基于Go语言构建RESTful JSON API
2.2 基于Kafka构建事件溯源模式的微服务
讨论如何借助Kafka实现分布式消息管理,使用事件溯源(Event Sourcing)模式实现原子化数据处理,使用CQRS模式(Command-Query Responsibility Segregation )实现查询职责分离,使用消费者群组解决单点故障问题,理解分布式协调框架Zookeeper的运行机制。整个应用的代码实现使用Go语言描述。
2.3 开源技术架构漫谈:应用程序开发中的日志管理
2.4 网络数据包的捕获、过滤和分析(Packet Capturing)
- What is Packet Capturing
- How can it be used
- What is libpcap
- What is tcpdump & winpcap & snoop
- What is BPF
- What is gopacket
2.5 数据可视化(五)基于网络爬虫制作可视化图表
- 基于网络爬虫的可视化图表:golang,goquery
- 案例:最近十年全国彩票销售变化情况
- 案例:中国科学院院士分布
- 数据可视化技术方案:基于 SVG (D3、Raphael)、基于 Canvas(Echarts)
三、Golang 最佳实践
3.1 Grammar Tips & Simple Demo
- Port Forwarding with Go (zupzup.org)
- A guide to understanding HTTP Request handling and processing in Go
- Understand Go pointers in less than 800 words
- there-is-no-pass-by-reference-in-go
- 让go get显示进度
- exec.Command()实时输出
- Building a Worker Pool in Golang | Dynamically scalable queue consumer
- How did I improve latency by 700% using sync.Pool
The interface is a tool so that you can wire dependencies just by their behaviour, not by how they implement that behaviour.
3.2 Specialist: Architecture
Using Einstein Vision Within Golang (Waiting)
By Rajdeep Dua | Published: May 5, 2017
Einstein Vision is a service that helps you build smarter applications by using deep learning to automatically recognize images. It provides an API that lets you use image recognition to build AI-enabled apps.Trying Clean Architecture on Golang: Independent, Testable , and Clean
By Iman TumorangFollow | Passionate and Curious Learner in Software Engineering
3.3 Go Repository
goproxy
golang实现的高性能http,https,websocket,tcp,udp,socks5代理服务器,支持正向代理、反向代理、透明代理、内网穿透、TCP/UDP端口映射、SSH中转,TLS加密传输,协议转换
3.3 Business Product List
Books
《Introducing Go: Build Reliable, Scalable Programs》
- 特点:精简
- 预览链接
- Others 《The Little Go Book》
《The Go Programming Language》
- 特点:基础全面
- 预览链接
《Go Web Programming》
- 特点:Web Application
- 预览链接
Concurrency in Go: Tools and Techniques for Developers
- 特点:Concurrency
- 预览链接
《Go Programming Blueprints》
- 特点:covers a lot of topics,such as web services,command-line tools,microservices and app deployment.
- 预览链接
Others
book: https://github.com/thewhitetulip/web-dev-golang-anti-textbook/
youtube series: https://www.youtube.com/playlist?list=PL41psiCma00wgiTKkAZwJiwtLTdcyEyc4
code: http://github.com/thewhitetulip/Tasks
Quickstart
1 | //通过channel 实现协程间通信 |
Tips
一些 package时候的会由于众所周知的原因而无法下载
1
2
3unrecognized import path "golang.org/x/sys/unix"
cd $GOPATH/src/golang.org/x/
git clone --depth=1 https://github.com/golang/xxx.git