<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[WonderThink的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/WonderThink</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; WonderThink]]></copyright><item><title><![CDATA[OpenSpec + Claude Code 规范驱动开发]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/162026012</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/162026012</guid><author>WonderThink</author><pubDate>Tue, 16 Jun 2026 09:39:09 +0800</pubDate><description><![CDATA[本文提供了在Windows系统上安装和配置OpenSpec配合ClaudeCode的完整指南。主要内容包括：1）安装ClaudeCode命令行工具并配置AI模型API；2）安装OpenSpec规范开发框架；3）在项目中初始化OpenSpec并与ClaudeCode对接；4）验证配置及常见问题解决方法。指南详细说明了环境要求、安装步骤、系统变量设置和项目初始化流程，并提供了国内镜像源等优化方案。最后还介绍了更轻量的SkilledSpec替代方案，适合偏好自然语言交互的用户。]]></description><category></category></item><item><title><![CDATA[AI编程：Claude Code + VSCode + CC-Switch]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/162025571</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/162025571</guid><author>WonderThink</author><pubDate>Tue, 16 Jun 2026 09:01:43 +0800</pubDate><description><![CDATA[【摘要】本文详细介绍了如何通过ClaudeCode+VSCode+CC-Switch组合方案在国内无障碍使用AI编程助手。解决方案包含四个关键步骤：1）安装VSCode和Node.js基础环境；2）通过国内镜像源安装ClaudeCode CLI和CC-Switch桌面端；3）配置DeepSeek API接口替代原版服务，包括获取API Key和设置BaseURL；4）验证配置并启动使用。特别提供了终端命令和参数优化技巧，如--dangerously-skip-permissions快速模式，并附常见错误排查]]></description><category></category></item><item><title><![CDATA[Python中的浮点数精度问题与round()四舍六入五成双问题]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/147222425</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/147222425</guid><author>WonderThink</author><pubDate>Mon, 14 Apr 2025 14:19:03 +0800</pubDate><description><![CDATA[1.浮点数运算问题；2.round() 采用“四舍六入五成双”规则]]></description><category></category></item><item><title><![CDATA[logging.exception或traceback跟踪Python异常的堆栈信息]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/144240565</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/144240565</guid><author>WonderThink</author><pubDate>Wed, 04 Dec 2024 14:57:08 +0800</pubDate><description><![CDATA[python显示错误消息和堆栈跟踪，使用logging.exception或者traceback进行跟踪。]]></description><category></category></item><item><title><![CDATA[Modbus TCP报错：Response length is only 0 bytes]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/143115562</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/143115562</guid><author>WonderThink</author><pubDate>Mon, 21 Oct 2024 16:19:18 +0800</pubDate><description><![CDATA[与Modbus TCP 服务端建立连接后没有断开，继续作为长连接使用，客户端请求的间隔超过了服务端设置的超时时间，导致报错。]]></description><category></category></item><item><title><![CDATA[Docker设置日志滚动]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/143111444</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/143111444</guid><author>WonderThink</author><pubDate>Mon, 21 Oct 2024 14:27:05 +0800</pubDate><description><![CDATA[Docker 容器中的进程会将打印到控制台(console)的日志保存到容器的目录下，默认的 Docker 配置不带有日志的回滚。会在自己的容器目录下往同一个日志文件中不停写入，最后会导致。修改 docker.service 的配置，改完后 docker run 的新容器都可以应用该配置，但旧的 container 不生效。按以上方法操作后 Docker 容器将会按照配置的的日志回滚规则管理日志文件，确保日志文件不会无限增长，也能够方便地查看日志文件。]]></description><category></category></item><item><title><![CDATA[VNC 远程控制工具安装]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/136257017</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/136257017</guid><author>WonderThink</author><pubDate>Fri, 23 Feb 2024 15:16:30 +0800</pubDate><description><![CDATA[VNC(Virtual Network Console)是虚拟网络控制台的缩写。它 是一款优秀的远程控制工具软件, 主要由两部分组成：一部分是客户端的应用程序(vncviewer)，另外一部分是服务器端的应用程序vncserver。]]></description><category></category></item><item><title><![CDATA[Python的共享内存、共享内存队列]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/135912857</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/135912857</guid><author>WonderThink</author><pubDate>Mon, 29 Jan 2024 15:09:50 +0800</pubDate><description><![CDATA[pythons通过共享内存、共享内存队列进行图像传输、提升性能的示例]]></description><category></category></item><item><title><![CDATA[【Python源码保护】04 - pyinstaller]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/135244313</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/135244313</guid><author>WonderThink</author><pubDate>Wed, 27 Dec 2023 14:01:46 +0800</pubDate><description><![CDATA[用户可以在不安装Python解释器或任何模块的情况下运行打包的应用程序。PyInstaller支持Python 3.8及更新版本，并正确地捆绑了许多主要的Python包，如numpy、matplotlib、PyQt、wxPython等。然而，它不是一个交叉编译器；制作一个Windows应用程序，你可以在Windows上运行PyInstaller，制作一个Linux应用程序，需要在Linux上运行它。pyinstaller官方文档： https://pyinstaller.org/en/v6.3.0/]]></description><category></category></item><item><title><![CDATA[【Python源码保护】03 - pyd或so动态库]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/135244257</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/135244257</guid><author>WonderThink</author><pubDate>Wed, 27 Dec 2023 13:59:58 +0800</pubDate><description><![CDATA[Cython是一个编程语言，它通过类似Python的语法来编写C扩展并可以被Python调用。将 .py 编译为 .c 文件，再将 .c 文件编译为 .so(Unix) 或 .pyd(Windows)，这样得到的文件更难反编译，同时带来了性能提升，缺点是兼容性稍差，对于不同版本的操作系统，可能需要重新编译， 虽然支持大多数 Python 代码，但如果一旦发现部分代码不支持，完善成本较高。就是生成的动态库， 需要注意的是，使用这种方式加密后的文件使用时。动态链接库，在运行时链接到调用程序。]]></description><category></category></item><item><title><![CDATA[【机器视觉技术栈】04 - 光源]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/131179024</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/131179024</guid><author>WonderThink</author><pubDate>Thu, 07 Dec 2023 21:40:08 +0800</pubDate><description><![CDATA[机器视觉应用的照明的最重要的任务就是使需要被观察的特征与需要被忽略的图像特征之间产生最大的对比度，从而易于特征的区分。应用于：系列光源最适宜用于反射度极高的物体，如金属、玻璃、胶片、晶片等表面的划伤检测，芯片和硅晶片的破损检测，Mark点定位，包装条码识别。应用案例:CB基板检测，IC元件检测，焊锡检查，Mark点定位，显微镜照明，包装条码照明，球形物体照明等。好的光源需要能够使你需要寻找的特征非常明显，除了是摄像头能够拍摄到部件外，好的光源应该能够产生最大的对比度、亮度足够且对部件的位置变化不敏感。]]></description><category></category></item><item><title><![CDATA[【Python源码保护】02 - pyc]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/134865567</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/134865567</guid><author>WonderThink</author><pubDate>Thu, 07 Dec 2023 21:31:36 +0800</pubDate><description><![CDATA[Python虽然是一门解释型语言，但Python程序执行时，也需要将源码进行编译生成字节码，然后由Python虚拟机进行执行。]]></description><category></category></item><item><title><![CDATA[【机器视觉技术栈】03 - 镜头]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/134819020</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/134819020</guid><author>WonderThink</author><pubDate>Tue, 05 Dec 2023 22:39:43 +0800</pubDate><description><![CDATA[机器视觉技术栈之镜头原理、参数、选型。]]></description><category></category></item><item><title><![CDATA[Linux 环境下的性能测试——top与stress]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/134817300</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/134817300</guid><author>WonderThink</author><pubDate>Tue, 05 Dec 2023 21:08:29 +0800</pubDate><description><![CDATA[对于Linux 环境，top命令是使用频繁且信息较全的命令， 它对于所有正在运行的进行和系统负荷提供实时更新的概览信息。stress是个简单且全面的性能测试工具。通过它可以模拟各种高负载情况。通过top与stress这两个命令的结合使用，基本可以达到压力测试的目的。]]></description><category></category></item><item><title><![CDATA[【机器视觉技术栈】02 - 工业相机]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/134745242</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/134745242</guid><author>WonderThink</author><pubDate>Fri, 01 Dec 2023 22:43:54 +0800</pubDate><description><![CDATA[实践中还有中实践采用了软硬触发结合的方式，一个相机采用软触发的方式，将其信号线作为触发源来硬触发其他相机及光源频闪。**曝光时间：**0.1ms（曝光时间越长，图像越亮，但产线是运动的话，过曝会导致图像模糊）**像素数：**200万 约等于 1626*1236 = 2009736。**像素分辨率：**24.5mm/1626px = 0.015mm/px。**相机：**2D（面阵相机、线阵相机）、3D。：目标运动时，会出现图像位置不一致的情况。**视场大小：**24.5 mm。**镜头：**远心镜头。]]></description><category></category></item><item><title><![CDATA[【Python源码保护】01 - pyobfuscate代码混淆]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/134745204</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/134745204</guid><author>WonderThink</author><pubDate>Fri, 01 Dec 2023 22:41:15 +0800</pubDate><description><![CDATA[代码混淆是指将代码进行等操作，使得代码难以被阅读和理解，从而达到保护代码的目的。代码混淆可以有效地保护源码。]]></description><category></category></item><item><title><![CDATA[【机器视觉技术栈】01 - 机器视觉基础]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/134722989</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/134722989</guid><author>WonderThink</author><pubDate>Thu, 30 Nov 2023 22:05:50 +0800</pubDate><description><![CDATA[1. 为什么采用机器视觉；2.机器视觉主要应用；3.机器视觉项目的成功关键因素]]></description><category></category></item><item><title><![CDATA[Python如何优雅的写包——Packages]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/134721870</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/134721870</guid><author>WonderThink</author><pubDate>Thu, 30 Nov 2023 21:14:20 +0800</pubDate><description><![CDATA[Packages 可以理解为一组模块的包，并用Package.Module的方式来构建命名空间。文件夹中必须有__init__.py这个文件，才能使 Python 将包含该文件的目录视为包（Package）。]]></description><category></category></item><item><title><![CDATA[Miniconda 常用命令]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/134701184</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/134701184</guid><author>WonderThink</author><pubDate>Wed, 29 Nov 2023 22:52:52 +0800</pubDate><description><![CDATA[Miniconda 是一个 Anaconda 的轻量级替代，默认只包含了 python 和 conda，但是可以通过 pip 和 conda 来安装所需要的包。]]></description><category></category></item><item><title><![CDATA[EISeg 交互式分割标注软件安装]]></title><link>https://blog.youkuaiyun.com/WonderThink/article/details/134700605</link><guid>https://blog.youkuaiyun.com/WonderThink/article/details/134700605</guid><author>WonderThink</author><pubDate>Wed, 29 Nov 2023 22:31:13 +0800</pubDate><description><![CDATA[EISeg(Efficient Interactive Segmentation)是以RITM及EdgeFlow算法为基础，基于飞桨开发的一个高效智能的交互式分割标注软件。涵盖了通用、人像、遥感、医疗、工业质检等不同方向的高质量交互式分割模型，方便开发者快速实现语义及实例标签的标注，降低标注成本。另外，将EISeg获取到的标注应用到PaddleSeg提供的其他分割模型进行训练，便可得到定制化场景的高精度模型，打通分割任务从数据标注到模型训练及预测的全流程。]]></description><category></category></item></channel></rss>