分享十个优秀的 Go 类库_后端开发

分享十个优秀的 Go 类库_后端开发,第1张

详解PHP的反射使用_后端开发

一般情况下我们会对函数和类进行测试,判断其是否能够按我们预期返回结果,我们可以用反射实现一个简单通用的类测试用例。


本文将详细介绍PHP中反射的使用,希望和大家一起探讨。


分享十个优秀的 Go 类库_后端开发,第2张

1. Golang-Set

Go 有数组,切片,映射,但是它没有集合。


您可以使用布尔映射来模拟一个集合,但是最好拥有一个具有正确 *** 作和语义的实际数据类型。


这是 golang-set 的地址

2. Color

让我们继续 color 的介绍。


在编写命令程序时,使用颜色突出重要的消息和区分错误,成功和警告是非常有用的。


color 包提供了一种简单的方法来为程序添加一些颜色(看到我做了什么吗?) 。


它使用 ANSII 转义码,也支持 Windows!

4. Gen

gen 工具会为您生成代码——特别是类型识别代码,它试图弥补 Go 中没有模板或泛型的缺陷

您可以使用一个特殊的注释注释您的类型,然后 gen 会生成您的项目中包含的源文件。


5. Gorm

Go 以其简约的风格而闻名。


数据库编程也不例外。


Go 大多数流行的 DB 库都是非常底层的。


Gorm 将对象——关系映射引入到以下特性中:

  • 关联 (Has One, Has Many, Belongs To, Many To Many, Polymorphism)

  • 回调 (Before/After Create/Save/Update/Delete/Find)

  • 预加载 (预先加载)

  • 事务

  • 复合主键

  • SQL 构建器

  • 自动迁移

  • 日志

  • 可扩展, 基于 GORM 回调编写插件

但是这并不能涵盖所有内容。


如果你之前是使用 Python 开发,请不要指望 SQLAlchemy。


更多的高级用法,你需要去看底层。


6. Goose

使用关系数据库时最重要的任务之一是管理模式。


在一些公司中,修改数据库模式被认为是一种「可怕」的更改。


goose 包帮助你更改模式,甚至在需要时进行数据迁移。


你可以随意的 goose upgoose down


不过要注意你的数据,确保它不会丢失或损坏。


Goose 的工作方式是对模式进行版本控制,并使用与每个模式对应的迁移文件。


迁移文件可以使用 SQL 命令 或 Go 命令。


下面是一个添加新表的 SQL 迁移文件示例:

值得一看的Python高效数据处理_后端开发

Pandas是Python中非常常用的数据处理工具,使用起来非常方便。


它建立在NumPy数组结构之上,所以它的很多 *** 作通过NumPy或者Pandas自带的扩展模块编写,这些模块用Cython编写并编译到C,并且在C上执行,因此也保证了处理速度。


今天我们就来体验一下它的强大之处。


8. Ginkgo

Ginkgo 是一个 BDD (行为驱动开发) 测试框架。


它可以让你使用类似于英语的语法编写测试,并可以让不太懂技术的人来检查测试(与输出),并验证它们是否符合业务要求。


一些开发者也喜欢这种风格的测试规范。


它与 Go 的内置测试包集成,并经常与 Gomega 结合使用。


9. Etcd

Etcd 是可靠的分布式键值存储。


该服务器在 Go 中实现,并且 Go 客户端通过 gRPC 与之交互。


它着重在以下方面:

  • 简单: 良好定义的, 面向用户的 API (gRPC).

  • 安全: 自动 TLS 与可选的客户端证书身份验证。


  • 快速: 基准测试 10,000 写入/秒。


  • 可靠: 使用 Raft 合理分配。


10. NSQ

NSQ 是一个很好的分布式队列。


我已经成功地使用它作为一个大型分布式系统的主要组成部分。


以下是其一些功能:

  • 支持分布式拓扑并且没有 SPOF。


  • 水平可扩展 (没有代理,可以无缝地向群集添加更多节点)。


  • 低延迟基于推送的消息传递(性能)。


  • 组合负载均衡和多播消息路由方式。


  • 在流(高吞吐量)和面向工作(低吞吐量)的工作负载下均具有 Excel。


  • 主要在内存中(超出高水位标记的消息透明地保留在磁盘上)。


  • 供消费者查找生产者的运行时发现服务(nsqlookupd)。


  • 传输层安全 (TLS)。


  • 数据格式检测。


  • 很少有依赖项(易于部署)和合理,有界的默认配置。


  • 简单的TCP协议支持客户端库中的任何一种语言。


  • 用于统计信息,管理 *** 作和生产者的 HTTP 接口(无需发布客户端库)。


  • 与 statsd 集成,实现实时检测。


  • 健壮的集群管理接口( nsqadmin )。


推荐教程:《Go教程》

以上就是分享十个优秀的 Go 类库的详细内容,更多请关注ki4网其它相关文章!

PHP实战之Redis常见7种使用场景_后端开发

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、【Key-Value】数据库,并提供多种语言的API。


本篇文章,主要介绍利用PHP使用Redis,主要的应用场景。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/560173.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020-06-16
下一篇 2020-06-16

发表评论

登录后才能评论

评论列表(0条)

保存