自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (1)
  • 问答 (6)
  • 收藏
  • 关注

原创 用Go语言实现简单的自旋锁

锁是并发编程中的同步原语,他可以保证多线程在访问同一片内存时不会出现竞争来保证并发安全。对于获取锁,一般来讲有两种方案,一种是不断地自旋+CAS,另一种就是阻塞+唤醒。两种方式各有优劣。Go语言结合了这两种方案,自动的判断当前锁的竞争情况,先尝试自旋几次,如果锁一直没被释放,再加入阻塞队列。锁竞争方案优势劣势适用场景阻塞/唤醒精准打击,不浪费 CPU 时间片需要挂起协程,进行上下文切换,操作较重并发竞争激烈的场景自旋+CAS无需阻塞协程,短期来看操作较轻。

2023-11-01 13:18:30 182

原创 Gin中使用jwt-go实现JWT鉴权登陆

JWT全称Json web token ,是一种用于通信双方之间传递安全信息的简洁的、URL安全的表述性声明规范,是目前最流行的跨域身份验证解决方案。JWT基于token的鉴权机制类似于http协议也是无状态的,它不需要在服务端去保留用户的认证信息或者会话信息,一旦用户完成了登陆,在接下来的每个请求中都会包含JWT,可以用来验证用户身份以及对路由,服务和资源的访问权限的验证。由于它的开销非常小,可以轻松的在不同域名的系统中传递,这也为应用的扩展提供了便利。JWT 以 JSON 对象的形式安全传递信息。

2023-10-01 21:49:45 1172 1

原创 gin框架中使用中间件gin-contrib/cors处理跨域请求

CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。IE8+:IE8/9需要使用XDomainRequest对象来支持CORS。整个CORS通信过程,都是浏览器自动完成,不需要用户参与。

2023-09-25 23:14:31 1353

原创 Golang中channel的实现

channel俗称管道,用于数据传递或数据共享,其本质是一个先进先出的队列,使用goroutine+channel进行数据通讯简单高效,同时也线程安全,多个goroutine可同时修改一个channel,不需要加锁。channel可分为三种类型:只读channel:只能读channel里面数据,不可写入只写channel:只能写数据,不可读一般channel:可读可写。

2023-09-12 23:13:15 178

原创 加密技术基础知识

加密技术指的是数据在传输的过程中会利用数学方法将传输的数据进行组织,以密文的方式进行信息传输,即使在传输过程中被非法分子窃取密文,但是由于没有详细的算法和密钥,因此难以进行解密获得原始的数据, 从而保障了信息的安全性。加密技术(Cryptography)主要包括明文、密文、算法和密钥 4 项内容。明文(plaintext)指的是需要传输的信息数据密文(ciphertext)指的是加密处理之后的明文算法(algorithm)指的是加密处理中采用的处理组织方法。

2023-09-11 17:52:20 898

原创 Gin 日志框架 - 使用logrus+lfshook+file-rotatelogs进行日志记录

Gin 框架的日志默认只会在控制台输出,如果我们想要一个功能比较完善的日志模块,可以使用成熟的框架,这里介绍日志框架组合:logrus+lfshook+file-rotatelogs。logrus功能强大,性能高效,而且具有高度灵活性,提供了自定义插件的功能。很多开源项目,如docker,prometheus,dejavuzhou/ginbro等,都是用了logrus来记录其日志。但缺点是不支持日志按文件生成,对此可以引入file-rotatelogs、lfshook实现日志文件按时间切割。

2023-08-21 23:49:04 338

剑指offer.docx

剑指offer.docx

2021-05-20

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

TA关注的人

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