自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Go语言数组和切片的坑点记录

虽说golang的数组和切片使用简单,但是当你编码到一定量的时候,你就会发现原来简单的数组和切片也有很多坑点啊,下面就记录了我实际工作中的采坑点,话不都说直接上代码,各种注意点都在代码注释里了。package mainimport "fmt"func main() { test01() //test02() test03() test04() test05() //test06() test07()}/* 下标索引操作的一些误区 s[i:l:c] i 是起...

2020-10-07 11:38:17 227

原创 有关AES的CBC模式加解密安全漏洞的实践

(1)CBC模式的原理 这种模式是先将明文切分成若干小段,然后每一小段与初始块(IV向量)或者上一段的密文段进行异或运算后,再与密钥进行加密,第一个数据块进行加密之前需要用初始化向量IV进行异或操作。 (此图和以上原理参考于网络)(2)漏洞复现 鄙人在实际开发API服务中用到了cbc模式的加密算法,但测试过程中却发现了此算法有安全漏洞,而且比较容易复现!下面是用于复现的测试代码:cbc.go(填充模式PKCS5和PKCS7都适用)package cbci...

2020-09-21 19:15:44 4624 1

原创 Go语言编程中遇到的小陷阱

Golang编程中遇到的小陷阱1.int类型和float类型不能匹配go语言规定不允许在整数型变量和浮点型变量之间进行任何数学运算。错误例子如下: var n, m = 21, 2.1 // 下面一行会报错:invalid operation: n / m (mismatched types int and float64) fmt.Println(n / m) 改正结果如下: var n = 21 / ...

2020-08-30 21:24:09 2681

原创 【go语言】

只使用channel,而不用go的waitgroup等其他元素,就可以实现协程复用,并且高效简洁,废话不多说直接show your code!代码可直接运行!

2023-05-26 02:41:27 131 1

转载 minio在实际工作项目中的应用

1.应用系统架构整个架构中,模块之间使用http协议通信,并且每个模块的作用如下:1)Web/API服务器的作用是提供UMS系统的认证和鉴权,即验证Web客户端或者开发者API请求接口的合法性;2)文件管理服务器的作用是提供对外操作minIO服务器的接口,根据目前UMS系统的业务需求,只提供了获取上传文件presignedURL,设置过期时间, 设置对外访问策略,创建存储桶,生成下载文件URL的功能;那么什么是presignedURL呢?它是对象所有者使用自己的安全凭证来创建预签名的 URL,以授

2021-12-06 14:30:49 2465

原创 在开启go module情况下,go.etcd.io/etcd/clientv3 报错的解决方法

本人在编译rpcx库里的client例子时,发生了如下etcd版本不兼容的问题:经过研究发现,google.golang.org/grpc 1.26 后的版本是不支持 clientv3 的,也就是说要把这个改成 1.26 版本的就可以了。具体操作方法是在 go.mod 里加上如下内容:replace google.golang.org/grpc => google.golang.org/grpc v1.26.0然后,重新go build,问题解决了!...

2020-10-18 15:28:53 3919

原创 go语言标准库里的定时器使用场景

(1)time.NewTimer,time.NewTicker,time.Tick的使用如下:package mainimport ( "errors" "fmt" "golang.org/x/sync/errgroup" "time")/*** ticker只要定义完成,从此刻开始计时,不需要任何其他的操作,每隔固定时间都会触发。* timer定时器,是到固定时间后值只会执行一次* 如果timer定时器要每隔间隔的时间执行,实现ticker的效果,使用 func (t *

2020-09-16 01:16:58 273

原创 MySql重置主从复制的核心步骤

# 1)在从服务器上操作:mysql> STOP SLAVE;# 2)在主服务器上操作:mysql> RESET MASTER;# 3)在从服务器上操作:mysql> RESET SLAVE;# 下面这步可不加mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1;# 4)在从服务器上操作:mysql> START SLAVE;# 在从服务器上查看同.

2020-09-16 00:55:49 427

原创 Ubuntu下安装zookeeper的最简洁的方法

在Ubuntu上:千万不要wget http://apache.osuosl.org/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5.tar.gz,这种带有apache的!因为这样的下载后,执行zkServer.sh和zkCli.sh会各种报错啊!而且还不好解决!正确方法如下:wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper

2020-09-15 23:51:41 400

原创 go语言实践中有关yaml和json的实用点

1.golang的map在yaml中应该配置成如下:testMap: {"aaa":true,"bbb":true,"ccc"}2.空的字符串反序列json会失败。具体代码如下:package mainimport ( "encoding/json" "fmt" "gopkg.in/yaml.v2" "io/ioutil")type testYAML struct { TestMap map[string]bool `yaml:"testMap"`

2020-09-15 23:30:56 297

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除