golang开发效率神器汇总
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
golang开发效率神器汇总相关推荐
- 程序员开发效率神器汇总!
本文作者:neonliu,腾讯 CSIG 开发工程师 neon 是鹅厂的一位资深后台开发工程师,多年工作下来他总结了很多效率神器,今天分享给大家. 一. 开发工具 1)sql2go 用于将 sql 语 ...
- mac开发效率神器AIfred详细使用说明
mac开发效率神器AIfred AIfred介绍 AIfred安装 AIfred偏好设置 General 设置(即:通用设置) Features 设置(即:特性设置) Default Results( ...
- 猿创征文|后端开发工程师提升开发效率神器推荐
简介 对于现在的后端工程师来说,并不仅仅局限于编写代码和解决bug,这两个要素了.如果你目前还只是忙碌的写代码和改bug的话,那要深度思考一下,我为什么日复一日的写这些重复代码?这样有何意义?或者说, ...
- pycharm 没有 python template languages_开发效率神器说说Pycharm的骚操作
关于自动补全,已经是任何一个IDE,甚至是VIM(需要自行配置complete)都具备的功能,但也仅限于 变量自动补全 和 函数自动补全. 我今天谈一谈,Pycharm的自定义代码补全,会让你的开发效 ...
- 程序员必备:提升开发效率神器,强烈推荐 !!!
你还在到处找工具而头疼吗? 你还在到处找资源而烦恼吗? 你想打开浏览器就是下面这种开发页面吗? 下面只需要1分钟,带你体验 CSDN 最新黑科技,打开浏览器就是满满的开发气息. [1]下载官方提供的浏 ...
- C#(Net)软件开发常用工具汇总,提高你的开发效率
C#(Net)软件开发常用工具汇总,提高你的开发效率 写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用技术文章. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是 ...
- order by 影响效率么_提升开发效率N倍的20+命令行神器
图 by:石头@青海湖 关于作者:程序猿石头(ID: tangleithu),现任阿里巴巴技术专家,清华学渣,前大疆后端 Leader.以每篇文章都让人有收获为目的,欢迎关注,交流和指导! 背景 本文 ...
- 提升开发效率N倍的20+命令行神器!(附 demo)
点击上方蓝色字体,关注我 -- 一个在阿里云打工的清华学渣! 图 by:石头@青海湖 关于作者:程序猿石头(ID: tangleithu),现任阿里巴巴技术专家,清华学渣,前大疆后端 Leader.以 ...
- 【汇总】细数VSCode中那些能够真正意义提升开发效率、鲜为人知的快捷键
自从用了这些快捷键,鼓励师也不需要了,代码开发效率蹭蹭提升!!! ctrl+shift+[折叠代码 (这个比ctrl+k ctrl+l.ctrl+k ctr+j不知道好用多少倍!) ctrl+shif ...
最新文章
- 安全公司:苹果iOS10备份功能安全性比iOS9差很多
- windows下redis安装,注册成系统服务
- 2021牛客多校2 - Girlfriend(球体积交)
- 实验15 安装新的int 9中断例程
- BugkuCTF-WEB题速度要快
- JAVA项目从运维部署到项目开发(三.Redis)
- java数据导出ex_Java高级特性注解:注解实现Excel导出功能
- 李大维:互联网人做硬件创业容易产生的七大误解【转载】
- 数据库mysql常用操作_mysql数据库常用操作
- 数据结构 5排序算法
- 【语音评价】基于matlab语音质量客观评价(PESQ)【含Matlab源码 1717期】
- mssql数据库单表导入、导出
- Python - 快速理解汉诺塔
- NmRF:从RNA序列中鉴定多物种RNA2‘-o-甲基化修饰位点(假尿苷位点)
- VSCode PIO创建工程失败分析和解决办法
- Markdown个人简历模板
- 怎么在一个jsp页面打开时加载servlet
- 不敢相信,技术栈,居然被P站秒了
- php 批量生成链接,php 生成迅雷链接的简单示例
- kettle6.0 连接oracle11g,Kettle表输出报关闭的连接问题的解决方法
热门文章
- 养老不用愁,这种机器人可以让老年人自主地进行日常生活
- 大数据workshop:《在线用户行为分析:基于流式计算的数据处理及应用》之《实时数据分析:海量日志数据多维透视》篇...
- VisualSVNServerTools(在线修改VisualSVN密码)
- spring配置文件加载流程
- kafka分区停留在UnderReplicated状态
- 【C++】 54_被遗弃的多重继承 (下)
- 用python numpy实现幻方
- erlang的epmd指定端口范围验证及端口权限配置
- 浅谈line-height
- [转]Java Web基础——Action+Service +Dao三层的功能划分