Go 语言开发必须知道的 17 种利器 | 码云周刊

Posted OSC开源社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go 语言开发必须知道的 17 种利器 | 码云周刊相关的知识,希望对你有一定的参考价值。

本期为大家精选了 码云 上优秀的 Go 语言开源项目,涵盖了文件服务系统、Web 开发框架、游戏服务器开发框架、API 工具、验证码、数据库、爬虫工具、端口转发工具等各个方面,希望能够给大家带来一点帮助:)


1、项目名称

分布式文件服务


项目简介:golang 基于 gridFs 的分布式文件服务,其支持:

   1、POST GET 上传

   2、图片大小控制

   3、文件下载,秒传,转正处理等。



2、项目名称

Golang Web 开发框架


Go 语言开发必须知道的 17 种利器 | 码云周刊


项目简介:Lessgo 是一款简单、稳定、高效、灵活的 golang web 开发框架,支持动态路由、自动化 API 测试文档、热编译、热更新等,实现前后端分离、系统与业务分离,完美兼容 MVC 与 MVVC 等多种开发模式,非常利于企业级应用与 API 接口的开发。



3、项目名称

HTTP API 统一前端


项目简介:api front 是 HTTP API 统一前端,用于测试环境 api 统一管理,主要功能是请求代理转发、协议抓包分析、流量复制。


用于解决如下问题:


  • HTTP API 大行其道,开发调试(特别是联调)花费的时间、人力成本很高。

  • 后端的 API 调用是一个黑盒,特别是有问题的时候,基本是抓瞎(目前一般是把请求信息记录到日志中去)。

  • 线下联调测试环境复杂多变,配置文件经常变动,经常其中一个环境好了另外一个又坏了。

  • 可将接口的请求历史记录全部记录方便排查问题



4、项目名称

基于 Go 实现的验证码


项目简介:基于 Golang 实现的图片验证码生成库,可以实现随机字母个数,随机直线,随机噪点等。可以设置任意多字体,每个验证码随机选一种字体展示。



5、项目名称

GUI 自动化系统


项目简介:Go 语言跨平台 GUI 自动化系统, 控制键盘、鼠标、位图和读取屏幕, 窗口句柄以及全局事件监听。



6、项目名称

基于 Go 的 mysql Proxy


项目简介:kingshard 是一个由 Go 开发高性能 MySQL Proxy 项目,kingshard 在满足基本的读写分离的功能上,致力于简化 MySQL 分库分表操作;能够让 DBA 通过 kingshard 轻松平滑地实现 MySQL 数据库扩容。 kingshard 的性能是直连 MySQL 性能的80%以上。



7、项目名称

分布式游戏服务器开发框架


项目简介:xingo 是免费、开源、可定制、可扩展、节点支持“热更新”的高性能分布式服务器开发框架,采用 golang 语言开发,天生携带高并发场景的处理基因,继承了 golang 语言本身的各种优点,开发简单易上手并且功能强大。


它主要实现了高性能的异步网络库,分布式节点间的高性能 rpc 通信,日志管理,数据库支持(暂时只支持mongodb),goroutine安全的定时器, telnet 在线服务器调试工具等,可用的开发场景包括但不局限于 IM 即时通讯服务器,游戏服务器(已有多款公司级别的项目选择了xingo)等可以节省大量

 游戏开发时间,让游戏开发人员可以将主要精力放到游戏玩法和游戏逻辑上。真正实现了修改配置文件就可以搭建自定义的分布式服务器架构。



8、项目名称

简单高效的搜索引擎


项目简介:本项目是基于 Go 实现的简单高效的搜索引擎,其特性如下

 

  • 高效索引和搜索(1M 条微博 500M 数据28秒索引完,1.65毫秒搜索响应时间,19K 搜索 QPS)

  • 支持中文分词(使用 gse 分词包并发分词,速度 27MB/秒)

  • 支持逻辑搜索

  • 支持中文转拼音搜索(使用 gpy 中文转拼音)

  • 支持计算关键词在文本中的紧邻距离(token proximity)

  • 支持计算BM25相关度

  • 支持自定义评分字段和评分规则



9、项目名称

OAuth 2.0 服务端工具


项目简介:Golang 实现的 OAuth 2.0 服务端,依照协议 RFC 6749 实现,具有简单使用、灵活、模块化的特点;支持内存存储、文件存储、redis 存储、mongodb 存储.



10、项目名称

Office Excel 文档类库


项目简介:Excelize 是 Go 语言编写的用于操作 Office Excel 文档类库,基于 ECMA-376 Office OpenXML 标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的 XLSX 文档。相比较其他的开源类库,Excelize 支持写入原本带有图片(表)、透视表和切片器等复杂样式的文档,还支持向 Excel 文档中插入图片与图表,并且在保存后不会丢失文档原有样式,可以应用于各类报表系统中。



11、项目名称

IP 库的 Golang 服务




12、项目名称

Go 语言 API 网关


项目简介:GoKu API Gateway CE 是开源 go 语言 API 网关,帮助企业进行 API 服务治理、API 性能安全维护,为企业数字化赋能。GoKu API Gateway CE,支持 OpenAPI 与微服务管理,支持私有云部署,实现 API 转发、请求参数转换、数据校验等功能,提供图形化界面管理,能够快速管理多个 API 网关,提高 API 业务安全性。



13、项目名称

分布式爬虫平台


项目简介:一款分布式爬虫平台,帮助你更好的管理和开发爬虫。 内置一套爬虫定义规则(模版),可使用模版快速定义爬虫,也可当作框架手动开发爬虫。



14、项目名称

Go 实现的 IP 代理池


项目简介:Golang 实现的 IP 代理池,采集免费的代理资源为爬虫提供有效的代理。



15、项目名称

端口转发工具


项目简介:Go 语言开发的端口转发工具,功能介绍:

  • 支持 Web 控制台添加端口映射

  • 支持对每条端口映射进行开启和关闭控制

  • 支持 RestfulAPI 接口,方便被其它系统集成

  • 支持每条端口转发的同时,再分发给多个端口,满足某些测试场景



16、项目名称

RESTful API 文档生成工具


项目简介:apidoc 是一个简单的 RESTful API 文档生成工具,它从代码注释中提取特定格式的内容,生成文档。 目前支持支持以下语言:C#、C/C++、D、Erlang、Go、Groovy、Java、javascript、Pascal/Delphi、 Perl、php、Python、Ruby、Rust、Scala 和 Swift。



17、项目名称

开源文库系统 DocHub


项目简介:DocHub 文库通过 svg 矢量图来实现文档阅读体验的,我知道的文库站点中,新浪爱问是通过 png 等图片提供文档阅读体验的。


SVG相比 png、jpeg 等图片格式有很大的优势,至少放大不会失真,而且与JPEG 和 GIF 图像比起来,svg 尺寸更小,可压缩性更强,DocHub 通过 gzip,将 svg 文件压缩,一般情况下,能减少70%的文件大小,比如200kb的 svg,gzip 压缩后,只有60kb左右的大小。


使用 svg,大大提升了加载速度,优化了内容的阅读体验。




如果大家有与 Go 语言相关的开源项目,记得托管到 码云 上哦,我们会及时给予推荐。最后,如果你喜欢以上提到的项目,别忘了分享给其他人哦!


Go 语言开发必须知道的 17 种利器 | 码云周刊


推荐阅读




点击“阅读原文”查看更多精彩内容

以上是关于Go 语言开发必须知道的 17 种利器 | 码云周刊的主要内容,如果未能解决你的问题,请参考以下文章

持续集成及部署利器:Go(不要和Google的编程语言Go混淆了!)

码云 Jenkins 插件重构出炉 —— 码云的持续集成利器

go调试利器-delve

Go语言开发Go语言面向接口

「开源」springboot快速开发框架推荐,接私活利器

Go语言HTTPServer开发的六种实现