Go 语言编写轻量级网络库以及工具库 GrapeNet

码农软件 · 软件分类 · 网页开发工具 · 2019-03-20 19:44:32

软件介绍

Go语言编写轻量级网络库 (grapeNet is a lightweight and Easy Use Network Framework)

可用于游戏服务端、强网络服务器端或其他类似应用场景,每个模块单独提取并且拥有独立的使用方法,内部耦合性较轻。

其实GO语言曾经有过很多强架构的框架,比如GOWOLRD之类的,已经足够了,但是我会将库用于各种轻量级应用不需要过于复杂的内容,所以我设计了GrapeNet,目的是模块独立化。 你可以拆开只使用其中很小的模块,也可以组合成一个服务端,并且在架构中设计也较为轻松,至于热更新的问题,目前脚本数据支持热更新,并且是自动的,只要跑一下UPDATE即可,程序本身稍后测试后发布(仅支持LINUX)。

本库更像是一个日常服务端开发的轻量级工具库集合,用的开心噢。

本库内的大部分子模块均用于实际线上游戏产品、防御类产品以及支付类产品中,经过一定的检验,可以放心使用。

慢慢更新中,很多坑要填,根据近期测试,除LUA库和网络库外,其他库均可直接用于商业产品。

安装

go get -u github.com/koangel/grapeNet/...

模块表(Function)

  • Lua脚本绑定管理(可绑定任何类型的函数、线程安全且自动推倒类型)
  • 日志库(底层采用Seelog)
  • 函数管理系统(可以根据任何类型参数将其与函数绑定并互相调用)
  • 流处理
  • Tcp网络
  • Websocket网络 (基础版)
  • Codec(任意类型注册对象并在其他位置动态创建该对象)
  • CSV序列化模块(通过Tag可以直接序列化到对象或对象序列化为CSV)
  • Sign生成库(自动将结构或map[string]interface{}排序后生成一个sign,可以自行设置KEY)
  • Etcd简易封装,针对Watcher做任意参数的监听callback(多Key监听)
  • Continers容器库,游戏用背包容器、带有锁的并行LIST等
  • Utils多种简易辅助库的集合(三元运算符、数值转换、轻并行执行库)

依赖第三方

  • Seelog (github.com/cihub/seelog)
  • Gopher-lua(github.com/yuin/gopher-lua)
  • Gopher-luar(layeh.com/gopher-luar)
  • Websocket (github.com/gorilla/websocket)
  • Etcd ClientV3(github.com/coreos/etcd)
  • Bson (gopkg.in/mgo.v2/bson)

不依赖任何CGO内容,lua本身也是纯GO实现。

本文地址:https://codercto.com/soft/d/1786.html

Python高性能(第2版)

Python高性能(第2版)

[加] 加布丽埃勒•拉纳诺(Gabriele Lanaro) / 袁国忠 / 人民邮电出版社 / 2018-8 / 59.00元

本书是一本Python性能提升指南,展示了如何利用Python的原生库以及丰富的第三方库来构建健壮的应用程序。书中阐释了如何利用各种剖析器来找出Python应用程序的性能瓶颈,并应用正确的算法和高效的数据结构来解决它们;介绍了如何有效地利用NumPy、Pandas和Cython高性能地执行数值计算;解释了异步编程的相关概念,以及如何利用响应式编程实现响应式应用程序;概述了并行编程的概念,并论述了如......一起来看看 《Python高性能(第2版)》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具