提高效率的工具

作者:腾讯技术工程
链接:https://www.zhihu.com/question/22867411/answer/911161400
来源:知乎

(1)brew 安装:

(2)brew cask 安装

(3)其他工具


以下是原答案:

一. 开发工具

1)sql2go
用于将 sql 语句转换为 golang 的 struct. 使用 ddl 语句即可。
例如对于创建表的语句: show create table xxx. 将输出的语句,直接粘贴进去就行。

2)toml2go
用于将编码后的 toml 文本转换问 golang 的 struct.

3)curl2go
用来将 curl 命令转化为具体的 golang 代码.

4)json2go
用于将 json 文本转换为 struct.

5)mysql 转 ES 工具

6)golang
模拟模板的工具,在支持泛型之前,可以考虑使用。

7)查看某一个库的依赖情况,类似于 go list 功能

8)一个好用的文件压缩和解压工具,集成了 zip,tar 等多种功能,主要还有跨平台。

9)go 内置命令
go list 可以查看某一个包的依赖关系.
go vet 可以检查代码不符合 golang 规范的地方。

10)热编译工具

11)revive
golang 代码质量检测工具

12)Go Callvis
golang 的代码调用链图工具

13)Realize
开发流程改进工具

14)Gotests
自动生成测试用例工具

二.调试工具

1)perf
代理工具,支持内存,cpu,堆栈查看,并支持火焰图.
perf 工具和 go-torch 工具,快捷定位程序问题.

2)dlv 远程调试
基于 goland+dlv 可以实现远程调式的能力.

提供了对 golang 原生的支持,相比 gdb 调试,简单太多。

3)网络代理工具
goproxy 代理,支持多种协议,支持 ssh 穿透和 kcp 协议.

4)抓包工具
go-sniffer 工具,可扩展的抓包工具,可以开发自定义协议的工具包. 现在只支持了 http,mysql,redis,mongodb.
基于这个工具,我们开发了 qapp 协议的抓包。

5)反向代理工具,快捷开放内网端口供外部使用。
ngrok 可以让内网服务外部调用

6)配置化生成证书
从根证书,到业务侧证书一键生成.

7)免费的证书获取工具
基于 acme 协议,从 letsencrypt 生成免费的证书,有效期 1 年,可自动续期。

8)开发环境管理工具,单机搭建可移植工具的利器。支持多种虚拟机后端。
vagrant常被拿来同 docker 相比,值得拥有。

9)轻量级容器调度工具
nomad 可以非常方便的管理容器和传统应用,相比 k8s 来说,简单不要太多.

10)敏感信息和密钥管理工具

11)高度可配置化的 http 转发工具,基于 etcd 配置。

12)进程监控工具 supervisor

13)基于procFile进程管理工具. 相比 supervisor 更加简单。

14)基于 http,https,websocket 的调试代理工具,配置功能丰富。在线教育的 nohost web 调试工具,基于此开发.

15)分布式调度工具

16)自动化运维平台 Gaia

三. 网络工具

四. 常用网站

go 百科全书:
json 解析:
出口 IP:
redis 命令:
ES 命令首页:
UrlEncode:
Base64:
Guid:
常用工具:

五. golang 常用库

日志

配置
兼容 json,toml,yaml,hcl 等格式的日志库.

存储
mysql
es
redis
mongo
kafka

数据结构

命令行

框架

并发


现在我们框架在用的,虽然 star 不多,但是确实好用,当然还可以更好用.

工具
定义了实用的判定类,以及针对结构体的校验逻辑,避免业务侧写复杂的代码.

protobuf 文件动态解析的接口,可以实现反射相关的能力。

表达式引擎工具

字符串处理

ratelimit 工具


golang 熔断的库
熔断除了考虑频率限制,还要考虑 qps,出错率等其他东西.

表格

tail 工具库

posted @ 2019-11-29 20:46  闲云-野鹤  阅读(277)  评论(0编辑  收藏  举报