自定义博客皮肤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)
  • 收藏
  • 关注

原创 x509问题

公司的开发机证书不全,在进行https请求时,会出现ssl校验失败的情况,对应的报错为x509: certificate signed by unknown authority。

2024-06-26 19:47:14 2729

原创 浏览器缓存问题

这几天有个需求涉及到文件压缩包的修改和下载,因为是测试环境,我在服务器内直接对压缩包进行反复修改(名字没变),但是在chrome进行下载时发现拿到的压缩包都是最原始的那个,排查发现是chrome浏览器缓存导致。

2024-06-21 12:54:02 2246

原创 base64部分字符缺失问题

这意味着解码器在解码时会缺失某些数据,但由于Base64编码的最后4个字符代表原始数据的最后3个字节,而最后的几个字节通常用于对齐,因此在某些情况下,即使丢失了一些信息,解码器仍然可以恢复出大部分(如果不是全部)原始数据。这意味着在Base64编码中,每4个字符代表原始数据的3个字节。有个文件数据上传功能,客户端上传文件内容时,会将文件内容base64并且附带上文件内容的md5,后端的逻辑是将这个base64解密后,再把内容md5,并对比客户端的md5是否一致,从而达到防止数据篡改的目的。

2024-06-17 15:05:54 1208

原创 【redis】互斥锁

2.锁的释放:确保在文件操作完成后正确释放锁是非常重要的,即使在操作过程中遇到错误也应该释放锁,以避免死锁。1.创建一个Go程序来实现基于Redis的互斥锁。这个程序将尝试获取一个锁,成功后对文件进行操作,并且在完成操作后释放锁。1.锁的自动过期:为了防止进程在持有锁的状态下异常终止而导致其他进程永远无法获取锁,避免死锁的产生。.假如文件处理的时间不是固定的,超了10s的过期时间,就会被其他的进程把锁给抢了。

2024-06-14 18:57:32 366

原创 golang文件锁

这是因为如果一个goroutine已经持有了锁,其他尝试获取锁的goroutine将不能获取锁,因此会跳过写入操作。这种机制确保了文件写入的互斥性。在Go语言中实现对同一个文件的写抢占,意味着你需要确保在任何给定时间点,只有一个goroutine(或者进程)能够写入文件。这通常通过文件锁来实现。这个程序创建了5个goroutine,每个goroutine都尝试对同一个文件加锁,并在成功获取锁之后写入一些信息。库,我们可以确保同一时间只有一个goroutine能够写入文件,从而避免了写入操作的竞争条件。

2024-06-13 17:51:18 668

golang文件锁强占

golang文件锁强占

2024-06-13

空空如也

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

TA关注的人

提示
确定要删除当前文章?
取消 删除
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部