Link: https://www.zhihu.com/question/22867411/answer/911161400
Source: Zhihu
Copyright belongs to the author. Commercial reprint please contact the author for authorization, non-commercial reprint please indicate the source.
Development tools
1) SQL2go used to convert SQL statements to golang struct. Use DDL statements. For example, to create a table: show create table XXX. I’m just going to paste in the output statement. Stming. Cn/tool/sql2go…
2) Toml2go is used to convert encoded TomL text to golang struct.xuri. me/toml-to-go/
Mholt.github. IO /curl-to-go/ curl-to-go/
4) Json2go is used to convert JSON text to struct.mholt.github. IO /json-to-go/
5) turn mysql ES tool at www.ischoolbar.com/EsParser/
6) The Golang template emulation tool should be considered before generics are supported. Github.com/cheekybits/…
7) Check the dependencies of a library, similar to the go list function github.com/KyleBanks/d…
8) a good file compression and decompression tool, integrated zip, tar and other functions, mainly cross-platform. Github.com/mholt/archi…
9) The go built-in command go List can be used to check the dependencies of a package. Go Vet can be used to check for code that does not conform to the Golang specification.
10) Hot compilation tools github.com/silenceper/…
11) Revive golang code quality testing tool github.com/mgechev/rev…
12)Go Callvis Golang code call link graph tool github.com/TrueFurby/g…
13)Realize development process improvement tools github.com/oxequa/real…
14)Gotests automatically generates test cases github.com/cweill/gote…
Two. Debugging tools
1) Perf proxy tool, support memory, CPU, stack view, and support flame map. Perf tool and go-Torch tool, quick location program problems. github.com/uber-archiv… github.com/google/gops
2) DLV remote debugging based on Goland + DLV can realize the ability of remote modulation. github.com/go-delve/de… Golang native support is provided, which is much simpler than GDB debugging.
3) Network proxy tool GoProxy proxy, support a variety of protocols, support SSH penetration and KCP protocol. github.com/snail007/go…
4) Packet capture tool The Go-sniffer tool is an extensible packet capture tool. You can develop a tool kit of user-defined protocols. Now only HTTP, mysql, redis, mongodb are supported. Based on this tool, we developed the packet capture of qAPP protocol. Github.com/40t/go-snif…
5) Reverse proxy tool to quickly open Intranet ports for external use. Ngrok enables external calls to ngrok.com/ github.com/inconshreve…
6) Configure the certificate to be generated from the root certificate to the service certificate in one click github.com/cloudflare/…
7) Free certificate acquisition tool Based on acME protocol, generated from letsENCRYPT free certificate, valid for 1 year, can be automatically renewed. Github.com/Neilpang/ac…
8) Develop environment management tools and build portable tools independently. Supports multiple virtual machine backends. Vagrant is often compared to Docker as desirable. Github.com/hashicorp/v…
9) The lightweight container scheduling tool Nomad can manage containers and traditional applications very easily, which is not too much simpler than K8s. github.com/hashicorp/n…
10) Sensitive information and key management tools github.com/hashicorp/v…
11) Highly configurable HTTP forwarding tool, based on ETCD configuration. Github.com/gojek/weave…
12) process monitoring tool supervisor www.jianshu.com/p/39b476e80…
13) Based on procFile process management tool. Simpler than Supervisor. Github.com/ddollar/for…
14) Debugging proxy tool based on HTTP, HTTPS, websocket, rich configuration functions. Online education nohost Web debugging tool, based on this development. github.com/avwo/whistl…
15) Distributed scheduling tool github.com/shunfei/cro… Github.com/ouqiang/goc…
16) Automated operation and Maintenance platform Gaia github.com/gaia-pipeli…
Network tools
4. Commonly used websites
Go encyclopedia: awesome-go.com/ json parsing: www.json.cn/ export IP: ipinfo. IO/redis command: doc.redisfans.com/ ES command home: www.elastic.co/guide/cn/el… UrlEncode: tool.chinaz.com/Tools/urlen… Base64: tool.oschina.net/encrypt?typ… Guid: www.guidgen.com/ Common tool: www.ofmonkey.com/
Golang common library
Log github.com/Sirupsen/lo… github.com/uber-go/zap
Configure log libraries compatible with JSON, TOML, YAML, and HCL formats github.com/spf13/viper
Store the mysql github.com/go-xorm/xor… Es github.com/elastic/ela… Redis github.com/gomodule/re… Mongo github.com/mongodb/mon… Kafka github.com/Shopify/sar…
Data structure github.com/emirpasic/g…
The command line github.com/spf13/cobra
Framework github.com/grpc/grpc-g… Github.com/gin-gonic/g…
Concurrent github.com/Jeffail/tun… Github.com/benmanns/go… Now we are using the frame, although the star is not much, but it is really good, of course, can be better used. github.com/rafaeldias/…
The utility defines a practical decision class and validation logic for the structure, avoiding complex business profile code. github.com/asaskevich/… Github.com/bytedance/g…
Protobuf file dynamic parsing interface, can achieve reflection – related capabilities. Github.com/jhump/proto…
Expression engine tools github.com/Knetic/gova… Github.com/google/cel-…
String handling github.com/huandu/xstr…
Github.com/uber-go/rat ratelimit tools… Blog.csdn.net/chenchongg/… Github.com/juju/rateli…
In addition to frequency limits, consider other things like QPS, error rate, etc. github.com/afex/hystri… Github.com/sony/gobrea…
Form github.com/chenjiandon…
Tail Tool library github.com/hpcloud/tag…