同步操作将从 张奇峰/GinSkeleton 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
1.这是一个基于go语言gin框架的web项目骨架,专注于前后端分离的业务场景,其目的主要在于将web项目主线逻辑梳理清晰,最基础的东西封装完善,开发者更多关注属于自己的的业务即可。
2.本项目骨架封装了以tb_users
表为核心的全部功能(主要包括用户相关的接口参数验证器、注册、登录获取token、刷新token、CURD以及token鉴权等),开发者拉取本项目骨架,在此基础上就可以快速开发自己的项目。
3.本项目骨架请使用master
分支版本即可, 该分支是最新稳定分支.
1.提交问题请在项目顶栏的
issue
直接添加问题,基本上都是每天处理当天上报的问题。
2.本项目优先关注https://gitee.com/daitougege/GinSkeleton
仓库的所有问题, github 太卡严重影响效率。
3.从v1.2.26
版本之后开启qq群答疑, QQ群:273078549 欢迎喜欢gin框架go开发者一期参与讨论.
1.安装的go语言版本最好>=1.14,只为更好的支持
go module
包管理.
2.配置go包的代理,参见https://goproxy.cn
,有详细设置教程.
3.使用goland(>=2019.3版本)
打开本项目,找到database/db_demo_mysql.sql
导入数据库,自行配置账号、密码、端口等。
4.双击cmd/(web|api|cli)/main.go
,进入代码界面,鼠标右键run
运行本项目,首次会自动下载依赖, 片刻后即可启动.
1
goland
终端底栏打开terminal
, 依次执行set GOARCH=amd64
、set GOOS=linux
、set CGO_ENABLED=0
2 进入根目录(GinSkeleton所在目录):go build -o demo_goskeleton cmd/(web|api|cli)/main.go
可交叉编译出(web|api|cli)对应的二进制文件。
1.这部分主要介绍了
项目初始化流程
、路由
、表单参数验证器
、控制器
、model
、service
以及websocket
为核心的主线逻辑.
进入主线逻辑文档
序号 | 功能模块 | 文档地址 |
---|---|---|
1 | 消息队列 | rabbitmq文档 |
2 | cli命令 | cobra文档 |
3 | goCurl、httpClient | httpClient客户端 |
4 | websocket js客户端 | websocket服务端 |
5 | aop切面编程 | Aop切面编程 |
6 | redis | redis使用示例 |
7 | 原生sql操作(mysql、sqlserver、postgreSql) | sql操作示例 |
8 | 日志记录 | zap高性能日志 |
9 | 项目日志对接到 elk 服务器 | elk 日志顶级解决方案 |
10 | 验证码 | 验证码 |
11 | nginx负载均衡部署 | nginx配置详情 |
12 | supervisor | supervisor进程守护 |
序号 | 运维模块 | 文档地址 |
---|---|---|
1 | linux服务器 | 详情 |
2 | mysql | 详情 |
3 | redis | 详情 |
4 | nginx | 详情 |
5 | go应用程序 | 详情 |
1.开发之初,我们的目标就是追求极致的高性能,因此在项目整体功能越来越趋于完善之时,我们现将进行一次全面的性能分析评测.
2.通过执行相关代码, 跟踪 cpu 耗时 和 内存占用 来分析各个部分的性能,CPU耗时越短性、内存占用越低能越优秀,反之就比较垃圾.
序号 | 分析对象 | 文档地址 |
---|---|---|
1 | 项目骨架主线逻辑 | 主线分析报告 |
2 | 操作数据库代码段 | 操作数据库代码段分析报告 |
序号 | 分析对象 | 文档地址 |
---|---|---|
1 | 操作数据库代码段 | 操作数据库代码段 |
疑难杂症,例如:
golang.org
官方依赖可能无法下载解决办法, 项目相关的疑问等等都可以在这里找到答案.
点击查看详情
1.请先看这位开发者发布的文章:"7天用go开发一个docker", 地址:
https://learnku.com/articles/46878
,在这篇文章的留言处有作者的一句话:很多东西不是会了才能做,而是做了才能学会
.
2.基于第一条“真理”, 只要你会go基础的东西,有时间,就可以一起参与开发本项目.
3.参与方式:简单的东西直接提交PR,如果想法比较多,需要改动大段代码,你也可以直接加我qq:1990850157
,直接添加至开发组,共同商讨开发的功能,约定规范,提交代码。
4.成为共同开发者,你可以获得goland
官方提供的激活码,通用全部的Jetbrains
全家桶项目.
开发计划预告
1.所有的开发计划统一在 issue 部分(issue的列表、看板、里程碑三个分类进行),任何问题、新功能、bug等均可在 issue 提交,欢迎关注 issue .
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.1.xx - 1.2.xx 版本日志
1.历史日志
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。