专栏首页腾讯大讲堂的专栏程序员开发效率神器汇总!

程序员开发效率神器汇总!

本文作者:neonliu,腾讯 CSIG 开发工程师

neon 是鹅厂的一位资深后台开发工程师,多年工作下来他总结了很多效率神器,今天分享给大家。

一. 开发工具

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

2)toml2go 用于将编码后的 toml 文本转换问 golang 的 struct. https://xuri.me/toml-to-go/

3)curl2go 用来将 curl 命令转化为具体的 golang 代码. https://mholt.github.io/curl-to-go/

4)json2go 用于将 json 文本转换为 struct. https://mholt.github.io/json-to-go/

5)mysql 转 ES 工具 http://www.ischoolbar.com/EsParser/

6)golang 模拟模板的工具,在支持泛型之前,可以考虑使用。 https://github.com/cheekybits/genny

7)查看某一个库的依赖情况,类似于 go list 功能 https://github.com/KyleBanks/depth

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

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

10)热编译工具 https://github.com/silenceper/gowatch

11)revive golang 代码质量检测工具 https://github.com/mgechev/revive

12)Go Callvis golang 的代码调用链图工具 https://github.com/TrueFurby/go-callvis

13)Realize 开发流程改进工具 https://github.com/oxequa/realize

14)Gotests 自动生成测试用例工具 https://github.com/cweill/gotests

二.调试工具

1)perf 代理工具,支持内存,cpu,堆栈查看,并支持火焰图. perf 工具和 go-torch 工具,快捷定位程序问题. https://github.com/uber-archive/go-torch https://github.com/google/gops

2)dlv 远程调试 基于 goland+dlv 可以实现远程调式的能力. https://github.com/go-delve/delve 提供了对 golang 原生的支持,相比 gdb 调试,简单太多。

3)网络代理工具 goproxy 代理,支持多种协议,支持 ssh 穿透和 kcp 协议. https://github.com/snail007/goproxy

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

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

6)配置化生成证书 从根证书,到业务侧证书一键生成. https://github.com/cloudflare/cfssl

7)免费的证书获取工具 基于 acme 协议,从 letsencrypt 生成免费的证书,有效期 1 年,可自动续期。 https://github.com/Neilpang/acme.sh

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

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

10)敏感信息和密钥管理工具 https://github.com/hashicorp/vault

11)高度可配置化的 http 转发工具,基于 etcd 配置。 https://github.com/gojek/weaver

12)进程监控工具 supervisor https://www.jianshu.com/p/39b476e808d8

13)基于procFile进程管理工具. 相比 supervisor 更加简单。 https://github.com/ddollar/foreman

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

15)分布式调度工具 https://github.com/shunfei/cronsun/blob/master/README_ZH.md https://github.com/ouqiang/gocron

16)自动化运维平台 Gaia https://github.com/gaia-pipeline/gaia

三. 网络工具

四. 常用网站

go 百科全书: https://awesome-go.com/

json 解析: https://www.json.cn/

出口 IP: https://ipinfo.io/

redis 命令: http://doc.redisfans.com/

ES 命令首页: 

https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

UrlEncode: http://tool.chinaz.com/Tools/urlencode.aspx

Base64: https://tool.oschina.net/encrypt?type=3

Guid: https://www.guidgen.com/

常用工具: http://www.ofmonkey.com/

五. golang 常用库

日志 https://github.com/Sirupsen/logrus https://github.com/uber-go/zap

配置 兼容 json,toml,yaml,hcl 等格式的日志库. https://github.com/spf13/viper

存储 mysql: https://github.com/go-xorm/xorm es: https://github.com/elastic/elasticsearch redis: https://github.com/gomodule/redigo mongo: https://github.com/mongodb/mongo-go-driver kafka: https://github.com/Shopify/sarama

数据结构 https://github.com/emirpasic/gods

命令行 https://github.com/spf13/cobra

框架 https://github.com/grpc/grpc-go https://github.com/gin-gonic/gin

并发 https://github.com/Jeffail/tunny https://github.com/benmanns/goworker 现在我们框架在用的,虽然 star 不多,但是确实好用,当然还可以更好用. https://github.com/rafaeldias/async

工具 定义了实用的判定类,以及针对结构体的校验逻辑,避免业务侧写复杂的代码. https://github.com/asaskevich/govalidator https://github.com/bytedance/go-tagexpr

protobuf 文件动态解析的接口,可以实现反射相关的能力。 https://github.com/jhump/protoreflect

表达式引擎工具 https://github.com/Knetic/govaluate https://github.com/google/cel-go

字符串处理 https://github.com/huandu/xstrings

ratelimit 工具 https://github.com/uber-go/ratelimit https://blog.csdn.net/chenchongg/article/details/85342086 https://github.com/juju/ratelimit

golang 熔断的库 熔断除了考虑频率限制,还要考虑 qps,出错率等其他东西. https://github.com/afex/hystrix-go https://github.com/sony/gobreaker

表格 https://github.com/chenjiandongx/go-echarts

tail 工具库 https://github.com/hpcloud/taglshi

文中含有大量超链接,可戳下方图片进入我们的「腾讯技术」圈子里阅读,在里面也可以分享你用过哪些效率神器。

腾讯政务云副总裁王景田谈To B销售:团队力量是关键

腾讯设计师告诉你,如何从用户体验角度将文案与视觉融合

“我有故事,你要听吗?” | 18个案例全盘解析中国跨文化传播创

本文分享自微信公众号 - 腾讯大讲堂(TX_DJT)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android开发在路上:少去踩坑,多走捷径

    最近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是挺有帮助的,所以有了这个小分享。 1.目前, Android APP开发完成后,通常需要...

    腾讯大讲堂
  • 产业互联网:构建智能+时代数字生态新图景 | 重磅发布(附全文下载)

    3月29日下午,“2019腾讯全球数字生态大会新闻发布会”在京举行,腾讯云联合腾讯研究院,共同发布了行业重磅报告:《产业互联网——构建智能+时代数字生态新图景...

    腾讯大讲堂
  • 腾讯员工造了一堵防水墙,无数机器人倒在墙下

    腾讯大讲堂
  • 一些好用的android开发的库

    NaOH
  • 甲方安全开源项目收集

    前阵子,我发布了一份甲方安全开源清单,不少朋友帮忙反馈,得到了大大的补充,重新整理了一份项目清单。

    Bypass
  • 知识体系、算法题、教程、面经,这是一份超赞的AI资源列表

    照例先放上 GitHub 地址:https://github.com/Awesome-Interview/Awesome-Interview#LeetCode,...

    CDA数据分析师
  • 【杂谈】从GitHub上星星最多的男人开始发GitHub综述资料

    没错,项目名字就叫Awesome。这第一个简直就是最“丧心病狂”的综述,10万+星星,要把所有方向一并索引了,自己当目录。

    用户1508658
  • 知识体系、算法题、教程、面经,这是一份超赞的AI资源列表

    照例先放上 GitHub 地址:https://github.com/Awesome-Interview/Awesome-Interview#LeetCode,...

    AI科技大本营
  • Android UI控件常用库

    现在App的开发已经是非常成熟,涌现了一大批开源的工具。这些项目能够提高我们的搬砖效率。以下是一些在开发中比较常使用的控件和库。

    阳仔
  • 微软热门开源项目及代码库地址

    非常流行的跨平台代码编辑器,提供全面的编辑和调试支持、可扩展性模型以及与现有工具的轻量级集成。

    Edi Wang

扫码关注云+社区

领取腾讯云代金券