C++ 内存问题排查:创建 Zip 压缩包,解压后内容错乱

0 Comment

在日常的 C++ 后台开发工作中,很少会动态生成 Zip 包,所以对 C++ 的 libzip 并不熟悉。最近刚好有个场景,需要将后台生成的一份数据压缩为一个 Zip 包以便下载。这里其实之前已经有生成 Zip 包的代码,只是需要在 Zip 包里面增加一个文件。本来是一个简单的需求,但是实现中遇到了一个诡异的问题,解压生成的 Zip 包里,里面文件开头部分有错乱

C++ 创建 Zip 压缩包乱码问题C++ 创建 Zip 压缩包乱码问题

阅读全文

复杂 C++ 项目堆栈保留以及 eBPF 性能分析

0 Comment

在构建和维护复杂的 C++ 项目时,性能优化和内存管理是至关重要的。当我们面对性能瓶颈或内存泄露时,可以使用eBPF(Extended Berkeley Packet Filter)和 BCC(BPF Compiler Collection)工具来分析。如我们在Redis Issue 分析:流数据读写导致的“死锁”问题(1)文中看到的一样,我们用 BCC 的 profile 工具分析 Redis 的 CPU 占用,画了 CPU 火焰图,然后就能比较容易找到耗时占比大的函数以及其调用链。

CPU 火焰图CPU 火焰图

阅读全文

ChatGPT 多模态图像识别可以破解验证码?

0 Comment

验证码已成为我们日常网络生活中不可或缺的一部分,为网站和应用程序提供了一道基本的安全屏障。从最开始的简单数字验证码,到现在的各种奇葩验证码,复杂性在逐步增加,用来抵御自动化工具和机器人的攻击。

下图展示了部分常见的验证码:

各种验证码展示各种验证码展示

这些验证码存在的唯一目的就是用来区别人和机器。然而随着 ChatGPT 大模型崛起,特别是 GPT4-Vision 多模态能力的问世,验证码还能拦截住机器吗?

阅读全文