自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 golang之线程安全

阅读本文前需要对并发机制有了解 只要是多线程,操作全局变量,就会有线程安全的问题,跟语言无关,同样,go也有互斥锁,读写锁这些 看一个线程不安全的例子: package main import ( "fmt" "sync" "time" ) var n = 0 func main() { for j := 0;j<10;j++ { go func() { for i := 0;i<10000;i++ { n++ } }() } for { time

2021-10-25 17:52:10 4813

原创 golang之消息队列rabbitmq

之前我写过一篇关于rocketmq的文章,因为rabbitmq的使用更广泛,所以写一篇关于rabbitmq,及go如何操作rabbitmq的笔记。 消息队列的作用: 异步,将同步的消息变为异步 解耦,将单体服务拆分多个微服务,实现了分布式部署,单个服务的修改、增加或删除,不影响其他服务,不需要全部服务关闭重启 抗压,由于是异步,解耦的,高并发请求到来时,我们不直接发送给服务,而是发给MQ,让服务决定什么时候接收消息,提供服务,这样就缓解了服务的压力 图示: 用户注册后发邮件和虚拟币: 异步解耦图: 抗压

2021-10-19 21:07:24 6040

原创 golang之JWT与session

由于目前JWT在验证权限方面是主流,因此重点介绍JWT session和JWT是干啥的? 由于http连接是无状态的,用户登录后,请求结束,立刻断开连接,登录状态并不会保留,用户想要进行操作,服务器就必须对用户进行权限验证,session和JWT的本质,都是服务器在收到用户登录请求的时候,颁发给客户端一个token(令牌)(其实就是一个字符串而已),这个令牌一定和userID有一一对应的关系,客户端下次发请求的时候,携带这个令牌,服务端通过对令牌进行验证,可以知道发请求的到底是哪一个用户。 session通

2021-10-09 11:25:41 601

原创 golang之单元测试与压力测试

golang系统包就继承了单元测试 这里演示表格驱动的方式,进行单元测试 示例: 待测试函数 package test func Add(a, b int) int { return a + b } 单元测试相关代码是可以自动生成的,选中测试代码,点击图示 同目录生成 add_test.go文件,内有表格驱动测试模板,看代码即可: 需要说明的几点: Testmain是可选函数,如果写上就是测试的入口,m.Run()进行测试的运行,并返回状态码,0代表成功,其他都为失败 package test

2021-10-07 11:31:48 636

原创 golang远程操作docker

本文讲述golang远程操作docker的方法,用到的库 go get github.com/docker/docker/client 由于本机内存不够,不得已只能远程连接docker 先找到要修改的文件位置:locate docker.service 修改部分如下 ExecStart=/usr/bin/dockerd $DOCKER_OPTS -H unix:///var/run/docker.sock -H tcp://0.0.0.0:端口 上代码: 开启一个mongo容器,并在100s后删除的示例

2021-10-06 11:11:15 1339

空空如也

空空如也

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

TA关注的人

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