用go做web开发
文章平均质量分 74
基于gin+gorm进行web站的开发,实现一个热榜的接口站
老刘你真牛
系统分析师,擅长python/go/java/php等进行web开发,多年开发/管理技术团队经验
展开
-
go语言web开发系列之三十:gin:为路由按版本分组
一,安装用到的库:1,gin框架在github的地址:https://github.com/gin-gonic/gin2,从命令行安装:root@ku:/data/go/ginhello# go get -u github.com/gin-gonic/gin@v1.6.3说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.com...原创 2021-02-05 18:33:52 · 810 阅读 · 0 评论 -
go语言web开发系列之二十九:gin框架用gin-contrib/sessions库管理session(基于cookie)
一,安装用到的库:1,库的地址:https://github.com/gin-contrib/sessions2,从命令行安装:liuhongdi@ku:~$ go get -u github.com/gin-contrib/sessions说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.com二,演示项目的相关信息...原创 2021-02-05 11:35:46 · 2611 阅读 · 2 评论 -
go语言web开发系列之二十八:用gin-contrib/cors解决cors跨域访问
一,安装用到的库1,cors库地址:https://github.com/gin-contrib/cors2,从命令行安装:liuhongdi@ku:~$ go get -u github.com/gin-contrib/cors说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.com二,演示项目的相关信息1,地址:...原创 2021-02-04 15:30:26 · 2810 阅读 · 0 评论 -
go语言web开发系列之二十七:gin框架:用gin-swagger实现接口文档
一,安装用到的库1,swag库的地址:https://github.com/swaggo/swag2,安装swag命令:liuhongdi@ku:~$ go get -u github.com/swaggo/swag/cmd/swag测试安装是否成功?liuhongdi@ku:/data/liuhongdi/digv27$ /home/liuhongdi/go/bin/swag -vswag version v1.6.9在项目包含main.go文件的目录下执行:liu原创 2021-02-03 17:48:50 · 3107 阅读 · 0 评论 -
go语言web开发系列之二十六:gin框架:演示有多个middleware时代码的执行顺序
一,安装需要用到的库1,gin框架在github的地址:https://github.com/gin-gonic/gin2,从命令行安装:root@ku:/data/go/ginhello# go get -u github.com/gin-gonic/gin@v1.6.3说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.co...原创 2021-02-03 11:59:17 · 3089 阅读 · 1 评论 -
go语言web开发系列之二十五:gin框架:用md5方式为接口站验证签名
一,安装用到的库1,gin框架在github的地址:https://github.com/gin-gonic/gin2,从命令行安装:root@ku:/data/go/ginhello# go get -u github.com/gin-gonic/gin@v1.6.3说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.com...原创 2021-02-02 18:55:36 · 2161 阅读 · 0 评论 -
go语言web开发系列之二十四:用imagemagick为上传图片生成缩略图
一,安装所需的外部程序1,用apt-get安装ImageMagickroot@ku:/data/liuhongdi/digv23# apt-get install imagemagick2,查看安装是否成功:root@ku:/data/liuhongdi/digv23# convert --versionVersion: ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.orgCopyright: © 1999原创 2021-01-21 17:01:17 · 1346 阅读 · 0 评论 -
go语言web开发系列之二十三:gin框架用go-redis+redsync实现分布式锁
一,安装需要用到的库1,go-redis的地址:https://github.com/go-redis/redis2,安装go-redisliuhongdi@ku:~$ go get -u github.com/go-redis/redis/v83,redsync的地址https://github.com/go-redsync/redsync4,安装redsyncliuhongdi@ku:~$ go get -u github.com/go-redsync/redsync原创 2021-01-21 12:48:41 · 1835 阅读 · 0 评论 -
go语言web开发系列之二十二:用signintech/gopdf库生成带有图片和表格的pdf
一,安装需要用到的库:1,gopdf库的地址:https://github.com/signintech/gopdf2,gopdf库安装的命令:liuhongdi@ku:~$ go get -u github.com/signintech/gopdf3,gorm库的官网地址:https://gorm.io/4,gorm库安装:liuhongdi@ku:~$ go get -u gorm.io/gorm说明:刘宏缔的go森林是一个专注golang的博客, ...原创 2021-01-19 18:55:52 · 5083 阅读 · 1 评论 -
go语言web开发系列之二十一:用go-qrcode库生成二维码
一,安装用到的库1,go-qrcode库的地址https://github.com/skip2/go-qrcode2,安装go-qrcode库liuhongdi@ku:~$ go get -u github.com/skip2/go-qrcode/...3,resize库的地址(在二维码中间放icon时太大时需要缩放)https://github.com/nfnt/resize4,安装resize库:liuhongdi@ku:~$ go get -u github.com原创 2021-01-18 17:58:40 · 2826 阅读 · 0 评论 -
go语言web开发系列之二十:用gorm+excelize库生成excel表格并下载
一,安装所需的库1,excelize库的地址:https://github.com/360EntSecGroup-Skylar/excelize,excelize库的文档:https://xuri.me/excelize/zh-hans/2,excelize库的安装命令:liuhongdi@ku:~$ go get -u github.com/360EntSecGroup-Skylar/excelize/v23,gorm库的官网地址:https://gorm.io/4,原创 2021-01-18 14:47:32 · 3168 阅读 · 0 评论 -
go语言web开发系列之十九:gin框架:go-redis v8+base64Captcha v1.3.1实现用redis存储图形验证码
一,安装用到的库1,验证码库的地址https://github.com/mojocn/base64Captcha2,安装验证码库:liuhongdi@ku:~$ go get -u github.com/mojocn/base64Captcha3,redis库的地址:https://github.com/go-redis/redis4,安装redis库:liuhongdi@ku:~$ go get -u github.com/go-redis/redis/v8说明:刘原创 2021-01-15 15:11:04 · 3089 阅读 · 1 评论 -
go语言web开发系列之十八:gin框架用base64Captcha生成图形验证码
一,安装库1,库的地址https://github.com/mojocn/base64Captcha2,安装:liuhongdi@ku:~$ go get -u github.com/mojocn/base64Captcha说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.com二,演示项目的相关信息1,地址:...原创 2021-01-14 18:17:52 · 4570 阅读 · 5 评论 -
go语言web开发系列之十七:用go-redis+lua实现顺序自增的唯一id发号器
一,安装go-redis1,从命令行执行:liuhongdi@ku:~$ go get -u github.com/go-redis/redis/v8说明:安装命令及版本等信息可以从github站直接得到说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.com二,演示项目的相关信息1,地址:https://...原创 2021-01-13 18:42:49 · 3242 阅读 · 1 评论 -
go语言web开发系列之十六:gin框架中通过gorm使用事务
一,演示项目的相关信息1,地址:https://github.com/liuhongdi/digv162,功能:以下订单为例,演示了在gorm中启用事务3, 项目结构:如图:说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.com二,数据库及sql1,数据表:2,建表sql:CREATE TABLE `...原创 2021-01-13 13:58:15 · 5850 阅读 · 3 评论 -
go语言web开发系列之十五:gin框架统一定义API错误码
一,演示项目的相关信息:1,地址:https://github.com/liuhongdi/digv152,功能:演示了统一定义api返回结果中的错误代码3,项目结构:如图:说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.com二,go代码说明:1,pkg/result/result.gopack...原创 2021-01-11 15:52:41 · 1345 阅读 · 0 评论 -
go语言web开发系列之十四:用gin框架实现基于ip地址的限流
一,安装用到的库1,从命令行安装 x/time/rate库iuhongdi@ku:~$ go get -u golang.org/x/time/rate说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.com二,演示项目的相关信息1,地址:https://github.com/liuhongdi/digv142,...原创 2021-01-04 14:15:55 · 4036 阅读 · 3 评论 -
go语言web开发系列之十三:gin框架实现图片文件上传
一,演示项目的信息1,项目地址:https://github.com/liuhongdi/digv132,功能说明: 演示了通过gin框架上传图片文件,包括单张上传和多张上传3, 项目结构:如图:说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.com二,配置文件说明:1,config/c...原创 2020-12-31 16:22:33 · 3242 阅读 · 0 评论 -
go语言web开发系列之十二:gin框架通过casbin实现rbac权限设计(mysql存储规则)
一,安装casbin1,casbin项目代码的地址https://github.com/casbin/casbin2,为go安装casbinliuhongdi@ku:~$ go get -u github.com/casbin/casbin/v23,安装casbin/gorm-adaptergorm-adapter代码地址:https://github.com/casbin/gorm-adapter安装gorm-adapterliuhongdi@ku:~$ go.原创 2020-12-29 14:46:01 · 3490 阅读 · 1 评论 -
go语言web开发系列之十一:gin框架通过casbin实现rbac权限设计(csv存储)
一,安装casbin1,casbin项目代码的地址https://github.com/casbin/casbin2,为go安装casbinliuhongdi@ku:~$ go get -u github.com/casbin/casbin/v2说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.com二,演示项...原创 2020-12-29 11:40:15 · 3535 阅读 · 2 评论 -
go语言web开发系列之十:gin框架中通过订阅redis消息更新进程内缓存bigcache
一,安装用到的库1,安装go-redisliuhongdi@ku:~$ go get -u github.com/go-redis/redis2,安装bigcacheliuhongdi@ku:~$ go get -u github.com/allegro/bigcache说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq...原创 2020-12-22 18:24:33 · 935 阅读 · 0 评论 -
go语言web开发系列之九:gin框架中用bigcache做进程内缓存
一,安装用到的库liuhongdi@ku:~$ go get -u github.com/allegro/bigcache说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.com二,演示项目的相关信息1,项目地址:https://github.com/liuhongdi/digv092,项目功能说明: ...原创 2020-12-21 15:15:12 · 1342 阅读 · 0 评论 -
go语言web开发系列之八:gin框架中用go-redis缓存数据
一,安装需要用到的库1,安装go-redisliuhongdi@ku:~$ go get -u github.com/go-redis/redis说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.com二,演示项目的相关信息1,项目地址: https://github.com/liuhongdi/digv08...原创 2020-12-18 15:20:49 · 4738 阅读 · 0 评论 -
go语言web开发系列之七:gin用jwt-go和crypto/bcrypt实现用户登录验证
一,安装需要用到的库1,安装jwt-goliuhongdi@ku:~$ go get -u github.com/dgrijalva/jwt-go2,安装bcryptliuhongdi@ku:~$ go get -u golang.org/x/crypto/bcrypt说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq....原创 2020-12-17 15:09:21 · 1669 阅读 · 0 评论 -
go语言web开发系列之六:gin使用zap记录http服务的访问日志(access log)并按日期分割
一,安装用到的库:1,安装zap日志库:liuhongdi@ku:/data/liuhongdi/zaplog$ go get -u go.uber.org/zap2,安装go-file-rotatelogs库liuhongdi@ku:/data/liuhongdi/zaplog2$ go get -u github.com/lestrrat/go-file-rotatelogs说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog....原创 2020-12-16 16:31:39 · 3864 阅读 · 0 评论 -
go语言web开发系列之五:gin用zap+file-rotatelogs实现日志记录及按日期切分日志
一,安装需要用到的库:1,安装zap日志库:liuhongdi@ku:/data/liuhongdi/zaplog$ go get -u go.uber.org/zap2,安装go-file-rotatelogs库liuhongdi@ku:/data/liuhongdi/zaplog2$ go get -u github.com/lestrrat/go-file-rotatelogs说明:刘宏缔的go森林是一个专注golang的博客, 地址:https...原创 2020-12-16 14:50:17 · 3431 阅读 · 1 评论 -
go语言web开发系列之四:gin框架用viper读取配置文件数据
一,安装viper1,viper的代码地址:https://github.com/spf13/viper查看viper版本:https://github.com/spf13/viper/releases2,安装:root@ku:~# go get -u github.com/spf13/viper@v1.7.1说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:...原创 2020-12-15 13:53:51 · 3051 阅读 · 1 评论 -
go语言web开发系列之三:gin用go-playground/validator做参数的校验
一,演示项目的相关信息1,项目地址:https://github.com/liuhongdi/digv032,功能说明:使用校验器(validator)实现对参数的校验3,项目结构:如图:说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017说明:作者:刘宏缔 邮箱: 371125307@qq.com二,sql说明CREATE TABLE `article` ( `ar...原创 2020-12-14 19:14:26 · 2335 阅读 · 0 评论 -
go语言web开发系列之二:gin框架接口站统一返回restful格式的数据
一,演示项目的相关信息:1,项目地址:https://github.com/liuhongdi/digv022,功能:演示gin返回restful格式的数据, 包括异常时的404/500等情况3,项目结构:如图:二,sql代码说明CREATE TABLE `article` ( `articleId` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `type` tin...原创 2020-12-14 17:54:00 · 2422 阅读 · 1 评论 -
go语言web开发系列之一:gin+gorm开发一个简单的热榜接口站
一,热榜的例子:以抽屉新热榜为例,只存储资讯的链接和提示,用户点击时会跳转到外部的网站阅读我们在这里只实现了显示单条内容和多条内容的功能,主要是把它做为后续功能集成演示的一个基础后续的集成包括:统一报错信息统一rest输出validator日志功能安全接口文档统一读取配置文件...其他想到再补充吧说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881...原创 2020-11-20 16:40:25 · 1928 阅读 · 0 评论 -
linux(ubuntu20.10)安装golang(go 1.15.4)
一,golang的官网地址:https://golang.org/因为国内不能正常访问这个地址,通常大家会访问:https://studygolang.com/说明:刘宏缔的架构森林是一个专注golang的博客, 地址:说明:作者:刘宏缔 邮箱: 371125307@qq.com二,下载go的安装文件:1,下载地址:https://studygolang.com/dl2,下载到本地liuhongdi@ku:~/桌面$ cd /us...原创 2020-11-14 16:05:15 · 3196 阅读 · 2 评论