随笔分类 -  go

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 16 下一页

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 说明: 阅读全文

posted @ 2021-01-22 11:18 ExplorerMan 阅读(572) 评论(0) 推荐(0) 编辑

go语言web开发系列之十三:gin框架实现图片文件上传
摘要:一,演示项目的信息 1,项目地址: https://github.com/liuhongdi/digv13 2,功能说明: 演示了通过gin框架上传图片文件,包括单张上传和多张上传 3, 项目结构:如图: 说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn 阅读全文

posted @ 2021-01-22 11:17 ExplorerMan 阅读(608) 评论(0) 推荐(0) 编辑

go语言web开发系列之十一:gin框架通过casbin实现rbac权限设计(csv存储)
摘要:一,安装casbin 1,casbin项目代码的地址 https://github.com/casbin/casbin 2,为go安装casbin liuhongdi@ku:~$ go get -u github.com/casbin/casbin/v2 说明:刘宏缔的go森林是一个专注golang 阅读全文

posted @ 2021-01-22 11:16 ExplorerMan 阅读(1099) 评论(0) 推荐(0) 编辑

go语言web开发系列之九:gin框架中用bigcache做进程内缓存
摘要:一,安装用到的库 1,安装go-redis liuhongdi@ku:~$ go get -u github.com/go-redis/redis 2,安装bigcache liuhongdi@ku:~$ go get -u github.com/allegro/bigcache 说明:刘宏缔的go 阅读全文

posted @ 2021-01-22 11:15 ExplorerMan 阅读(765) 评论(0) 推荐(0) 编辑

go语言web开发系列之六:gin使用zap记录http服务的访问日志(access log)并按日期分割
摘要:一,安装用到的库: 1,安装zap日志库: liuhongdi@ku:/data/liuhongdi/zaplog$ go get -u go.uber.org/zap 2,安装go-file-rotatelogs库 liuhongdi@ku:/data/liuhongdi/zaplog2$ go 阅读全文

posted @ 2021-01-22 11:08 ExplorerMan 阅读(760) 评论(0) 推荐(0) 编辑

go语言web开发系列之四:gin框架用viper读取配置文件数据
摘要:一,安装viper 1,viper的代码地址: https://github.com/spf13/viper 查看viper版本: https://github.com/spf13/viper/releases 2,安装: root@ku:~# go get -u github.com/spf13/ 阅读全文

posted @ 2021-01-22 11:06 ExplorerMan 阅读(701) 评论(0) 推荐(0) 编辑

go语言web开发系列之三:gin用go-playground/validator做参数的校验
摘要:一,演示项目的相关信息 1,项目地址: https://github.com/liuhongdi/digv03 2,功能说明:使用校验器(validator)实现对参数的校验 3,项目结构:如图: 说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net 阅读全文

posted @ 2021-01-22 11:05 ExplorerMan 阅读(627) 评论(0) 推荐(0) 编辑

go语言web开发系列之二:gin框架接口站统一返回restful格式的数据
摘要:一,演示项目的相关信息: 1,项目地址: https://github.com/liuhongdi/digv02 2,功能:演示gin返回restful格式的数据, 包括异常时的404/500等情况 3,项目结构:如图: 二,sql代码说明 CREATE TABLE `article` ( `art 阅读全文

posted @ 2021-01-22 11:02 ExplorerMan 阅读(863) 评论(0) 推荐(0) 编辑

go语言web开发系列之一:gin+gorm开发一个简单的热榜接口站
摘要:一,热榜的例子: 以抽屉新热榜为例,只存储资讯的链接和提示, 用户点击时会跳转到外部的网站阅读 我们在这里只实现了显示单条内容和多条内容的功能, 主要是把它做为后续功能集成演示的一个基础 后续的集成包括: 统一报错信息 统一rest输出 validator 日志功能 安全 接口文档 统一读取配置文件 阅读全文

posted @ 2021-01-22 11:00 ExplorerMan 阅读(368) 评论(0) 推荐(0) 编辑

go:用zap和go-file-rotatelogs实现日志的记录和日志按时间分割
摘要:一,安装zap和go-file-rotatelogs两个库: 1,安装zap: liuhongdi@ku:/data/liuhongdi/zaplog$ go get -u go.uber.org/zap 2,安装go-file-rotatelogs liuhongdi@ku:/data/liuho 阅读全文

posted @ 2021-01-22 10:58 ExplorerMan 阅读(676) 评论(0) 推荐(0) 编辑

gin框架用go-redis+redsync实现分布式锁
摘要:一,安装需要用到的库 1,go-redis的地址: https://github.com/go-redis/redis 2,安装go-redis liuhongdi@ku:~$ go get -u github.com/go-redis/redis/v8 3,redsync的地址 https://g 阅读全文

posted @ 2021-01-22 10:53 ExplorerMan 阅读(1582) 评论(0) 推荐(0) 编辑

go深度拷贝json版
摘要:go中的深度拷贝方式 1.使用json的序列化和反序列化 通过将原来的结构序列化成byte数组,然后将byte数组反序列化到 目标结构的方式来进行深度拷贝。相关代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 阅读全文

posted @ 2021-01-18 14:06 ExplorerMan 阅读(203) 评论(0) 推荐(0) 编辑

go深度拷贝gob版
摘要:通过gob的序列化和反序列化进行深度拷贝 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 阅读全文

posted @ 2021-01-18 11:57 ExplorerMan 阅读(160) 评论(0) 推荐(0) 编辑

go深度拷贝reflect版
摘要:使用 reflecting 和 gob 两种方式,性能比较结果: Deep copy with reflecting is 10x faster than gob and it will save more memory. reflecting 使用库 https://github.com/moha 阅读全文

posted @ 2021-01-18 11:56 ExplorerMan 阅读(148) 评论(0) 推荐(0) 编辑

深入理解Go Context
摘要:目录 emptyCtx类型 cancelCtx类型 timerCtx类型 valueCtx类型 在Go语言并发编程中,用一个goroutine来处理一个任务,而它又会创建多个goroutine来负责不同子任务的场景非常常见。如下图 这些场景中,往往会需要在API边界之间以及过程之间传递截止时间、取消 阅读全文

posted @ 2021-01-18 11:24 ExplorerMan 阅读(169) 评论(0) 推荐(0) 编辑

golang可变长参数函数
摘要:支持可变长参数列表的函数可以支持任意个传入参数,比如fmt.Println函数就是一个支持可变长参数列表的函数。 package main import "fmt" // 这个函数可以传入任意数量的整型参数 func sum(nums ...int) { fmt.Print(nums, " ") t 阅读全文

posted @ 2021-01-11 15:59 ExplorerMan 阅读(439) 评论(0) 推荐(0) 编辑

[Golang] kafka集群搭建和golang版生产者和消费者
摘要:一、kafka集群搭建 至于kafka是什么我都不多做介绍了,网上写的已经非常详尽了。 (没安装java环境的需要先安装 yum -y install java-1.8.0-openjdk*) 1. 下载zookeeper https://zookeeper.apache.org/releases. 阅读全文

posted @ 2020-12-21 18:24 ExplorerMan 阅读(1036) 评论(0) 推荐(0) 编辑

golang confluent-kafka-go
摘要:针对golang的 kafka client 有很多开源package,例如sarama, confluent等等。在使用sarama 包时,高并发中偶尔遇到crash。于是改用confluent-kafka-go,其简单易用,并且表现稳定。 本文主要介绍confluent-kafka-go的使用方 阅读全文

posted @ 2020-12-18 17:28 ExplorerMan 阅读(4483) 评论(0) 推荐(1) 编辑

Go语言mgo使用情况
摘要:本文重点介绍mgo使用,仅简单介绍mongodb。 mongodb特性 mongdb简单介绍 注意: 上图已经告知我们mongo不支持事务,在开发项目应用时,想要保证数据的完整性请考虑关系型数据库(经典例子银行转账)。 mongo提供了许多原子操作,比如文档的保存,修改,删除等,都是原子操作。所谓原 阅读全文

posted @ 2020-11-06 11:39 ExplorerMan 阅读(524) 评论(0) 推荐(0) 编辑

gob,protobuf,json在golang中的序列化效率对比
摘要:先上代码: looptimes:=10000 u:=User{66,"nxin","beijing"} gobbegintimestamp:=strconv.FormatInt(time.Now().UTC().UnixNano(), 10) gobbeginint,_:=strconv.Atoi( 阅读全文

posted @ 2020-11-05 18:38 ExplorerMan 阅读(1039) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 16 下一页

导航