如何5分钟跑起来一个完整项目? - 机智的程序员小熊
source link: https://www.cnblogs.com/pzqu/p/17150557.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
今天熊哥和大家聊聊,我怎么在5分钟之内生成一个完整的项目。
看看这个面板,这居然是我花了5分钟成功跑起来的项目。
竟然具备超过三十项功能。还可以直接在页面上生成代码。
它是什么?它是 go-gin-api
它支持哪些功能?
可能下面有一些功能你没听过,或者听不懂。没关系,先看看。我以后都会讲。
- 支持 rate 接口限流
- 支持 panic 异常时邮件通知
- 支持 cors 接口跨域
- 支持 Prometheus 指标记录
- 支持 Swagger 接口文档生成
- 支持 GraphQL 查询语言
- 支持 trace 项目内部链路追踪
- 支持 pprof 性能剖析
- 支持 errno 统一定义错误码
- 支持 zap 日志收集
- 支持 viper 配置文件解析
- 支持 gorm 数据库组件
- 支持 go-redis 组件
- 支持 RESTful API 返回值规范
- 支持 生成数据表 CURD、控制器方法 等代码生成器
- 支持 cron 定时任务,在后台可界面配置
- 支持 websocket 实时通讯,在后台有界面演示
- 支持 web 界面,使用的 Light Year Admin 模板
不懂的关键字,如果感兴趣也可以自己下来查查我的宝。
三行代码跑起来
git clone https://github.com/xinliangnote/go-gin-api.git
cd go-gin-api
go run main.go -env dev
跑完以后立马就会弹出一个页面。
不得不说go-gin-api
的作者实在想得周全,跑起来不报错,会提示你填写环境信息。
现在已经过了1
分钟了,熊哥还有4
分钟。
3分钟启一个环境
既然面板提示需要mysql
和redis
,立马打开hub.docker.com
搜索mysql
和redis
获得他们的启动命令。
docker
容器,可以最快速在本地提供开发环境。不懂就问熊哥
直接在概述里拿到最简单的启动命令如下。
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
docker run --name some-redis -d redis
稍做修改,加一下密码。
docker run --name mysql-bear -p 3307:3306 -e MYSQL_ROOT_PASSWORD=mysql-bear -d mysql:latest
docker run --name redis-bear -p 6479:6379 -d redis
docker ps
可看到环境搞定了。
- 我这里把端口映射到主机上了,用的
3307
、6479
不然端口只能在容器之间能访问。 redis
没有密码,mysql
密码是mysql-bear
。
最后1分钟
项目要求先建库。
docker exec -it mysql-bear mysql -pmysql-bear -e "create database bear_gin_db CHARACTER SET utf8 COLLATE utf8_general_ci;"
- 我直接把用户名密码写命令行了,为了安全建议密码不要写命令行,会要求输入。
- 创建了名为
bear_gin_db
的库,字符集是utf8
。
点击初始化项目,在本地重启项目。
go run main.go -env dev
后面给大家分别讲解各种概念,和go-gin-api
怎么使用。欢迎和我讨论。希望大家真的能快速上手做项目。
你好,我是小熊,是一个爱技术但是更爱钱的程序员。上进且佛系自律的人。喜欢发小秘密/臭屁又爱炫耀。
奋斗的大学,激情的现在。赚了钱买了房,写了书出了名。当过面试官,带过徒弟搬过转。
大厂外来务工人员。是我,我是小熊,是不一样的烟火欢迎围观。
我的博客 机智的程序员小熊 欢迎收藏
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK