3

如何5分钟跑起来一个完整项目? - 机智的程序员小熊

 1 year ago
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.
neoserver,ios ssh client

今天熊哥和大家聊聊,我怎么在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 

跑完以后立马就会弹出一个页面。

1116902-20230224110015629-2129697378.png

不得不说go-gin-api的作者实在想得周全,跑起来不报错,会提示你填写环境信息。

现在已经过了1分钟了,熊哥还有4分钟。

3分钟启一个环境

既然面板提示需要mysqlredis,立马打开hub.docker.com 搜索mysqlredis获得他们的启动命令。

docker容器,可以最快速在本地提供开发环境。不懂就问熊哥

1116902-20230224110015868-93595919.png

直接在概述里拿到最简单的启动命令如下。

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可看到环境搞定了。

1116902-20230224110016094-1040171747.png

  • 我这里把端口映射到主机上了,用的33076479 不然端口只能在容器之间能访问。
  • 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
1116902-20230224110016589-877903890.png
1116902-20230224110016796-1333402409.png

后面给大家分别讲解各种概念,和go-gin-api怎么使用。欢迎和我讨论。希望大家真的能快速上手做项目。

你好,我是小熊,是一个爱技术但是更爱钱的程序员。上进且佛系自律的人。喜欢发小秘密/臭屁又爱炫耀。

奋斗的大学,激情的现在。赚了钱买了房,写了书出了名。当过面试官,带过徒弟搬过转。

大厂外来务工人员。是我,我是小熊,是不一样的烟火欢迎围观。

我的博客 机智的程序员小熊 欢迎收藏


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK