- 博客(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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人