2 Star 2 Fork 613

上海联合仪器配套有限公司 / GinSkeleton

forked from 张奇峰 / GinSkeleton 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
history_log.md 15.18 KB
一键复制 编辑 原始数据 按行查看 历史
张奇峰 提交于 2020-10-30 18:25 . V1.4.00版本发布

V 1.3.06 2020-10-16

1.cobra 包升级至最新版, 相关的文档同步更新.
2.redis 部分修正一个有歧义的函数名: ReleaseOneRedisClientPool -> ReleaseOneRedisClient .

V 1.3.05 2020-10-15

1.response 响应中心增加常用的快捷函数(语法糖函数).
2.配置文件管理中心 (app/utils/yml_config) 文件变化监听事件升级、完善,避免 vipver 包文件变化事件回调函数触发两次的小问题.

V 1.3.04 2020-10-10

1.nginx 配置部分增加 https 配置与说明.

V 1.3.03 2020-10-08

1.对配置文件(config/config.yml)管理中心(app/utils/yml_config)进行了升级,相关键值凡是调用都会触发同步缓存功能,进而提升性能, 同时避免了配置文件多次调用额外增加的io开销.
2.增加了配置文件(config/config.yml)变化的监听事件,以便清除原有的缓存,当下次调用时,自动缓存最新值(备注:针对一次性加载项无效.例如:程序端口,项目启动时只初始化一次,不会有二次调用,因此无效.).
3.该功能基于 viper 包实现, windows 系统无法实时刷新,文件变化监听事件有滞后, linux 系统可实时刷新.

V 1.3.02 2020-09-29

1.主线文档完善,主要对验证器定义的数据绑定到 context 上下文进行了补充说明.

V 1.3.01 2020-09-22

1.项目文档排版进行了微调.
2.httpClient 和 zap日志 文档修正了一些描述不准确问题.

V 1.3.00 2020-09-21

1.为项目日志(nginx 的 access.log、error.log,goskeleton.log)提供了顶级解决方案.
2.修复注册验证器、登录验证器校验的密码字段pass长度不一致问题.
3.其他地方格式化、规划化了代码书写格式.

V 1.2.27 2020-09-08

1.文档更新,增加 FAQ 常见问题汇总、答疑文档.

V 1.2.26 2020-09-04

修复一处bug,兼容正常启动模式和单元测试模式:
1.运行命令:go run abc/xx.go 和 单元测试命令: go test abc/xxx.go 在golang中获取的可执行文件路径不一致,如果用户目录含有test就会导致了定位根目录出现错误. 本次更新修复此问题.
2.goCurl包更新至 v1.2.4,主要是文档方面的细节完善.

V 1.2.25 2020-09-03

1.进程信号监听,凡是收到结束进程信号时, 在退出之前增加日志记录功能.
2.文档布局进行了调整, 比较繁琐的地方独立为一个文件,使主文档显得简洁.

V 1.2.24 2020-09-02

1.增加 内用占用 分析报告,至此整个项目骨架的性能分析全部结束.

V 1.2.23 2020-09-01

1.开始启动项目骨架全方位性能分析.
2.路由文件:api 和 web 调整,调试阶段增加 pprof 系列路由,方便开发阶段性能分析.
3.goCurl 包升级到最新版 v1.2.3,一切从快速应用的角度出发,提供了全新的使用文档,代码进行了增强与精简.
4.本次版本更新后,请记得使用 go mod tidy 清理、整理相关引用包,保持项目干净利落.

V 1.2.22 2020-08-27

1.nginx运维文档更新,本次更新主要将 zhangqifeng/nginx_vts 镜像基于alpine3.12 重新编写,大幅度减小体积,更便于快速拉取使用.

V 1.2.21 2020-08-24

1.数据库(mysql、sqlserver、postgresql)增加读写分离配置支持,详情参见:config/config.yml 数据库配置部分.
2.修复上个版本中的一个Bug ,postgresql 数据库驱动初始化变量调用了 sqlserver 代码部分中的变量.
3.其它一些小地方进行了规范与完善.

V 1.2.20 2020-08-23

1.增加 (sqlserver)测试用例,本次更新主要是兼容sqlserver2008,截止目前版本号>=2008的全部sqlserver都已经支持.
2.增加 (postgreSql)测试用例.
3.文件上传部分代码进行了规范化,相关配置项增加使用细节说明.
4.配置文件 config/config.yml , 规范化被遗漏的 APP_DEBUG 为: AppDebug .

V 1.2.10 2020-08-20

1.验证码封装完成,相关文档
2.Redis 数据库底层继续增强,在网络出现短暂的断网情况下,程序能够自动等待、重连、从小异常中恢复,该功能 mysql 早已经支持。
3.config>config.yml > AppDebug: true 则所有的日志全部打印到控制台,AppDebug: false 则所有日志打印到日志文件: storage/logs .
4.本项目骨架的内核gin 框架更新至最新版本 v1.6.3 ,官方说:"进一步提升context性能".
5.项目在升级的过程中,会出现旧版本包的舍弃,请记得在 goland 终端执行 go mod tidy 清理、整理项目依赖包.

V 1.2.01 2020-08-19

1.配置文件config.yml 中 log 配置项修复一处被遗漏的路径大写问题。

V 1.2.00 2020-08-18

1.项目代码进行了一次全面规范化 , 对整个项目的代码严谨性进行了一次全面的梳理,部分地方做了精简。
2.本次更新较多,很多都是底层服务逻辑代码,使用上和原版本相差无几,详情参见文档.

V 1.1.00 2020-08-13

1.集成高性能日志包 zap , 文档详情
2.config/config.yaml 配置文件有关程序默认端口、运行模式都做了修改,请注意查看相关配置项。

V 1.0.26 2020-08-11

1.增加项目上线后,运维监控方案文档,终于,本项目从开发到上线运维形成了闭环。

V 1.0.25 2020-07-31

1.在线演示系统 ,V1.0 基本完成开发,后续将继续优化、深度开发相关功能,更好的测试 GoSkeleton 综合性能指标。

V 1.0.24 2020-07-23

1.Websocket 完善更多错误捕获,增加写入超时配置参数。

V 1.0.23 2020-07-16

1.SQL 场景继续增强,将预编译命令独立,主要解决大批量sql重复执行,导致预编译sql太多,mysql拒绝继续执行命令的错误。
2.封装了事务操作,补充相关的 sql单元测试sql示例文档

V 1.0.22 2020-07-09

1.Redis增加单元测试示例,并修复配置文件一处bug。
2.调整程序异常log打印方式,由 log.Panic 调整为 log.Println , 代码出错尽量不退出程序。

V 1.0.21 2020-06-23

1.httpClient客户端包版本更新,采集不同编码类型的简体中文网站时,更加友好。

V 1.0.20 2020-06-08

1.增加 Aop 面向切面编程功能,简洁高效地实现控制器相关函数的BeforeAfter 回调。
2.本项目骨架实现 Aop 通过匿名函数+巧妙的回调模拟实现,非常轻巧。
3.增加项目骨架启动时,检查程序依赖的必须目录、文件,主要有:config/config.yaml、Public、Storage/logs/

V 1.0.19 2020-06-05

1.增加函数级别的发布、订阅功能 查看详情 ,该模式主要将与主业务有弱关联关系的一组子业务进行了简单解耦。备注:如果只是一个子业务需要异步,没有必要用这种方法。
2.增加 nginxsupervisor 部署相关的文档。

V 1.0.18 2020-06-03

1.jwt增强,控制一个账号、密码同时能拥有有效的token数量,以便支持一个账号多人登录。
2.详细配置参见 app\global\consts\consts.go,JWT部分。
3.token部分与tb_users逻辑交互代码更新,主要有登录生成token、刷新token、用户更改密码,重置相关的token使之失效,用户删除数据,同步删除相关的token表数据。
4.dataBase\db_demo_mysql.sql同步更新,增加tb_oauth_access_tokens表,数据库必须及时更新此表。
5.特别提醒httpClient包的引用地址发生变更,主要为了解决和原库命名冲突,如果下载的项目骨架报错,请更新代码重新运行。

V 1.0.17 2020-05-28

1.rabbitmq文档 本次更新主要解决消费者端在阻塞状态处理消息时可能发生断网、服务端重启导致客户端掉线的情况。
2.增强了消费者端断线自动重连逻辑,增强程序自身的稳定性,增加错误回调函数。
3.针对消息队列编写了全量的单元测试 rabbitmq全量单元测试

V 1.0.16 2020-05-25

1.Cli命令模式包(Cobra)集成完成,可以创建非常强大的非http接口类服务。
2.详情参见Cobra文档

V 1.0.15 2020-05-23

1.消息队列rabbitmq开发完成,为了更好的使用rabbitmq我们编写了非常详细的使用指南,可以快速上手使用消息队列。
2.详情参见rabbitmq文档

V 1.0.14 2020-05-13

1.修复bug:表单参数验证器在一次请求之后没有及时释放上次请求相关的属性值。

V 1.0.13 2020-05-12

1.增加 httpClient客户端 ,基于goz改造,感谢goz(github.com/idoubi/goz.git)原作者提供了大量的基础代码,相比原版特色如下:
1.1 增加了文件下载功能,支持超大文件下载。
1.2 GetBody()返回值由原版本中的string格式数据调整为io.ReaderCloser ,将专门负责处理流式数据,因此代码逻辑处理完毕,必须使用io.ReaderCloser 接口提供的Close()函数手动关闭。
1.3 原版本的GetBody()被现有版本GetContents()代替,由于是文本数据,一次性返回,程序会自动关闭相关io资源。
1.4 删除、简化了原版本中为数据类型转换而定义的ResponseBody,本版本中使用系统系统默认的数据类型转换即可。
1.5 增强原版本中表单参数只能传递string、[]string的问题,该版本支持数字、文本、[]string等。
1.6 增加请求时浏览器自带的Headers默认参数,完全模拟浏览器发送数据。
1.7 增加被请求的网站数据编码自动转换功能,采集网站时不需要考虑对方站点的编码类型(gbk系列、utf8),全程自动转换。

V 1.0.12 2020-05-08

1.根据大家反馈,按照golang 项目标准布局梳理项目组织结构,相比原来结构稍显复杂,但是当项目业务较大时,这种布局会更加灵活。
2.入口文件位置调整:Cmd/Web/Main.go,建议用于后台管理类站点使用;Cmd/Api/Main.go,建议用于门户网站类站点使用;
3.相关文档随着项目结构调整同步更新。

V 1.0.11 2020-04-30

1.SqlServerMysql驱动初始化代码相似度比较高,因此进行了优化合并。
2.SqlServerMysql操作基类进一步完善,规范日志记录。
3. 增加项目骨架使用文档。

V 1.0.10 2020-04-29

1.websocket功能开发完成,特色如下:
1.1 屏蔽底层繁琐的基础设置,使用超级简单,对于开发者只需要关注OnOpenOnMessageOnErrorOnClose 事件即可。
1.2 严格按照websocket协议实现,服务器、浏览器自动隐式维护心跳,开发者只需要关注业务的核心数据交互,无需额外维护任何形式的心跳数据包。
1.3 websocket服务模块默认不开启,若有需要请在配置文件config/config.yaml 中开启。
2 SqlServer数据库驱动以及相关Api封装完成,像其他数据库一样具有完善的连接池,无感知调用。

V 1.0.09 2020-04-25

1.增加用户token刷新接口,精简刷新逻辑代码。
2.完善用户密码加密存储方式,同步更新dataBase/db_demo_mysql.sql文件。

V 1.0.08 2020-04-24

1.增加SnowFlake算法,用于全局生成唯一ID,便于业务使用。
2.封装MD5函数,方便快速调用。
3.文件上传公共模块完善,存储文件自动使用SnowFlake、MD5算法生成全局唯一名称存储。

V 1.0.07 2020-04-23

1.自定义错误常量包名调整:Errors——>MyErrors,避免和系统错误包名称混淆。
2.文件上传公共模块示例代码完善。
3.路由增加静态资源处理以及相关说明。
4.验证器示例代码进一步简洁清晰化、同时增加了最常用的注释说明(参见:app\http\validator\users\register.go)。

V 1.0.06 2020-04-22

1.完善文件上传公共模块,增加文件上传最大值限制,允许的文件mimetype类型设置。
2.文件上传验证器同步增加验证条件相关的代码、全部错误代码、提示消息、yaml配置项等。
3.验证器初始化加载顺序由原来的验证器调用时加载调整为程序启动时加载。
4.增加跨域,默认开启,该功能与 nginx 跨域二选一。

V 1.0.05 2020-04-20

1.增加json统一返回逻辑。
2.用户模块核心逻辑全部完成(注册、登录、token授权、token认证、CURD等操作)。
3.全局常量增加CURD常用的列表。
4.增加Service层逻辑,并提供相关的示例代码。
5.继续精简代码,使本项目骨架逻辑主线更加清晰,快速上手。
6.更新本项目所必须的数据库db_demo_mysql.sql文件。
7.精简代码,基本的业务操作只保留tb_users表的完整操作示例代码。
8.增加文件上传公共模块,供任何有需要上传文件的业务模块调用。
9.日志存储路径调整为全局变量统一定义。

V 1.0.04 2020-04-19

1.路由——>中间件——>表单验证器——>控制器 上下文数据一致性开发完成。
2.验证器结构调整,将业务部分和系统核心部分分离,开发者只需更多关注业务即可。
3.增加项目骨架所需的demo数据库。

V 1.0.03 2020-04-17

1.增加linux环境chan signal监听信号值,使程序在退出时,更加优雅,资源的释放更加完善。

V 1.0.02 2020-04-16

1.容器、事件注册器调整命名规范,增加模糊处理函数。

V 1.0.01 2020-04-15

1.增加容器,将一些比较繁琐的功能模块率先注册在容器,方便后续调用。
2.表单参数验证器首先注册在容器,避免在路由模块不停地引入表单验证器造成该文件过于庞大。
3.函数类事件精简代码,删除原有的一个键对应多个事件的逻辑,目前设置为键值一一对应关系。
4.Mysql、Redis数据库连接的释放统一注册在函数事件管理器,由程序退出时统一释放。
5.容器存储变量修改为sync.map,避免了并发情况下发生bug。

V 1.0.00 2020-04-14

1.基于gin框架的web项目骨架.
2.开发单体应用基本的功能模块全部已经封装完毕.

Go
1
https://gitee.com/zhang-cao_1/GinSkeleton.git
git@gitee.com:zhang-cao_1/GinSkeleton.git
zhang-cao_1
GinSkeleton
GinSkeleton
master

搜索帮助