
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文探讨了Python多线程与底层C库交互时的线程安全问题。作者在开发多窗口游戏助手时,发现不同线程的实例会输出相同数据,经排查发现底层C扩展库使用了全局静态缓冲区,导致线程间数据污染。解决方案是在Python层引入类级别锁,强制串行化访问非线程安全的底层函数。文章揭示了GIL的局限性,强调Python线程安全不等同于整个程序栈的安全,并建议在调用非线程安全库时主动加锁,同时通过日志和调试验证数据
本文介绍了一种Python项目加密打包方案,通过编译字节码+加密+运行时解密的方式保护源代码。核心方法包括:1) 动态生成SHA3-512密钥;2) 对字节码进行异或加密并随机插入密钥;3) 输出自包含的加密文件;4) 使用runtime模块实现解密执行。该方案保留项目结构,简单有效但非高强度加密,适合防止普通用户查看源码,可通过结合C扩展或商业工具提升安全性。文章详细解析了实现原理和使用方法,并

本文探讨了Python多线程与底层C库交互时的线程安全问题。作者在开发多窗口游戏助手时,发现不同线程的实例会输出相同数据,经排查发现底层C扩展库使用了全局静态缓冲区,导致线程间数据污染。解决方案是在Python层引入类级别锁,强制串行化访问非线程安全的底层函数。文章揭示了GIL的局限性,强调Python线程安全不等同于整个程序栈的安全,并建议在调用非线程安全库时主动加锁,同时通过日志和调试验证数据
本文揭示了如何用轻量级方案实现OCR功能,让小型工具也能内置高效的文字识别。关键在于将训练与推理分离:使用PyTorch训练模型后,通过ONNX格式导出,搭配轻量推理引擎(如ONNX Runtime)部署,可大幅减少体积至30MB左右。文中提供了PaddleOCR等优质预训练模型的获取方式、极简Python推理代码示例,以及优化建议(模型量化、裁剪OpenCV等)。相比依赖大型框架,这种方案更高效
本文介绍在PyQt6中实现类似Photoshop橡皮擦工具的高性能解决方案。传统方法使用QWidget作为橡皮擦会导致卡顿、缩放变形等问题。正确方法是在QGraphicsView的drawForeground中绘制橡皮擦,并通过painter.resetTransform()切换到设备坐标系,使橡皮擦大小固定、精准跟随鼠标移动。关键点包括:避免QWidget叠加、正确转换坐标系、使用save/re
本文揭示了如何用轻量级方案实现OCR功能,让小型工具也能内置高效的文字识别。关键在于将训练与推理分离:使用PyTorch训练模型后,通过ONNX格式导出,搭配轻量推理引擎(如ONNX Runtime)部署,可大幅减少体积至30MB左右。文中提供了PaddleOCR等优质预训练模型的获取方式、极简Python推理代码示例,以及优化建议(模型量化、裁剪OpenCV等)。相比依赖大型框架,这种方案更高效







