<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mxpan的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/mxpan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mxpan]]></copyright><item><title><![CDATA[决定 AI Agent 生死的，不是模型，是 Harness 和 Loop]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/162389983</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/162389983</guid><author>mxpan</author><pubDate>Sun, 28 Jun 2026 12:38:54 +0800</pubDate><description><![CDATA[摘要： AI 领域正形成新共识：当 AI 从“回答问题”转向“做事”时，决定产出的核心不再是模型本身，而是其运行的控制系统——Harness Engineering（管理运行时环境与治理架构）和 Loop Engineering（优化迭代反馈）。 Harness Engineering 如同“操作系统”，包含工具集成、状态管理、上下文工程等六层组件，确保模型行为受控。例如，OpenAI 通过调整 Harness 配置，使 Agent 生成百万行代码，而非直接修改模型。 Loop Engineering 聚焦]]></description><category></category></item><item><title><![CDATA[SDD：让 AI 写代码，先写一份好「剧本」]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/162042676</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/162042676</guid><author>mxpan</author><pubDate>Tue, 16 Jun 2026 18:27:37 +0800</pubDate><description><![CDATA[文章摘要 《Spec-Driven Development：让 AI 写代码，先写一份好「剧本」》介绍了SDD（规范驱动开发）这一新兴的AI编码方法论。SDD强调在开发前先创建结构化的、可验证的规格说明书，作为AI编码的唯一依据。文章指出，随着AI编码从辅助走向自主，SDD能有效解决AI生成代码的质量和安全问题，并将软件开发的核心从"修改代码"转变为"演进规范"。 SDD工作流包含四个阶段：意图定义（spec.md）、技术规划（plan.md）、任务分解（tasks.md）和自动化实现。文章还提出了SDD的]]></description><category></category></item><item><title><![CDATA[macOS 13+ 上使用 macFUSE + NTFS-3G 读写 NTFS 移动硬盘技术说明]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/161971989</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/161971989</guid><author>mxpan</author><pubDate>Sun, 14 Jun 2026 10:24:49 +0800</pubDate><description><![CDATA[本文介绍了在 macOS 13+ 系统上使用 macFUSE 和 NTFS-3G 实现 NTFS 移动硬盘读写的方法。由于苹果从 macOS 13 开始移除了内置的 NTFS 写入支持，开发者需要依赖第三方解决方案。文章详细阐述了 macFUSE + NTFS-3G 的架构原理、安装配置步骤和开发使用示例，包括手动挂载命令、代码调用方式和常用挂载选项。同时指出了性能、安全性等注意事项，并提供了商业软件、格式化兼容格式等替代方案。该方案虽然性能略低于原生驱动，但为开发者提供了免费开源的 NTFS 读写能力。]]></description><category></category></item><item><title><![CDATA[从 0 到 1：用 Python 对接阿里云 DashScope，轻松实现 AI 对话功能]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/153773503</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/153773503</guid><author>mxpan</author><pubDate>Thu, 23 Oct 2025 10:09:20 +0800</pubDate><description><![CDATA[本文介绍了如何使用Python调用阿里云DashScope平台的&quot;qwen-plus&quot;大模型实现AI对话功能。]]></description><category></category></item><item><title><![CDATA[VirtualBox中ubuntu1804虚拟机共享文件夹设置]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/152556734</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/152556734</guid><author>mxpan</author><pubDate>Sun, 05 Oct 2025 16:03:08 +0800</pubDate><description><![CDATA[本文介绍了在Ubuntu1804虚拟机中设置VirtualBox共享文件夹的完整步骤：1）在主机和虚拟机中分别创建共享目录；2）添加vboxsf用户组；3）手动挂载共享文件夹并设置权限；4）编辑fstab文件实现永久挂载；5）使用mount -a命令测试配置。通过uid/gid参数确保用户访问权限，实现主机与虚拟机之间的文件共享功能。]]></description><category></category></item><item><title><![CDATA[轻松部署Dify：打造你的AI应用平台]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/151682096</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/151682096</guid><author>mxpan</author><pubDate>Sun, 14 Sep 2025 15:01:52 +0800</pubDate><description><![CDATA[dify本地化部署及问题解决]]></description><category></category></item><item><title><![CDATA[现代C++ 文件系统库]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/149000763</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/149000763</guid><author>mxpan</author><pubDate>Sun, 29 Jun 2025 17:45:11 +0800</pubDate><description><![CDATA[C++17标准引入的std::filesystem库为文件系统操作提供了跨平台解决方案。该库源自Boost.Filesystem，实现了路径处理(path类)、文件属性查询、目录遍历等核心功能，支持自动路径标准化、递归目录扫描和文件操作。通过RAII机制和系统API封装，既保证了安全性又提升了性能。使用中需注意：1)路径分隔符的跨平台适配；2)异常处理；3)性能优化如状态缓存。典型案例包括构建安全路径、递归搜索文件、统计目录大小等，显著简化了原有依赖平台API的复杂操作。]]></description><category></category></item><item><title><![CDATA[现代 C++ 并发编程]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/148977243</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/148977243</guid><author>mxpan</author><pubDate>Sat, 28 Jun 2025 15:47:02 +0800</pubDate><description><![CDATA[C++并发编程从传统多线程到现代协程的演进历程：C++11标准化了线程管理、同步原语和原子操作，解决了传统API的平台依赖问题；C++17引入读写锁优化并发访问；C++20协程提供了轻量级并发方案。文章详细介绍了线程创建/管理、同步机制（互斥锁、条件变量）、无锁编程（原子操作）、线程池实现及协程应用，并给出最佳实践建议：避免共享状态、细粒度锁设计、异常安全和性能调优。现代C++已形成包含线程管理、同步机制、无锁编程和协程的完整并发体系，为开发者提供了丰富的工具选择。]]></description><category></category></item><item><title><![CDATA[现代 C++ 智能指针与内存管理]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/148947140</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/148947140</guid><author>mxpan</author><pubDate>Fri, 27 Jun 2025 10:19:57 +0800</pubDate><description><![CDATA[摘要：本文系统讲解了C++智能指针的核心概念与应用。首先分析了裸指针的内存泄漏、双重释放等风险，引出基于RAII原则的智能指针解决方案。重点剖析了三种智能指针：独占所有权的unique_ptr、共享所有权的shared_ptr及其引用计数机制，以及解决循环引用的weak_ptr。文章详细说明了各种智能指针的创建方式、所有权转移、自定义删除器等实用技巧，同时对比了它们的性能差异和适用场景。最后给出多线程环境下的使用建议和C++20新增功能，强调智能指针对提升代码健壮性和可维护性的重要意义。]]></description><category></category></item><item><title><![CDATA[现代 C++ 容器深度解析及实践]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/148921736</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/148921736</guid><author>mxpan</author><pubDate>Thu, 26 Jun 2025 11:32:00 +0800</pubDate><description><![CDATA[C++11引入的新容器特性摘要：std::array融合C数组效率与STL接口，适合固定长度场景；std::forward_list采用单向链表降低存储开销。无序容器基于哈希表实现O(1)复杂度查找，需注意哈希函数定制与负载因子优化。std::tuple支持多类型聚合，配合结构化绑定简化操作。建议根据场景选择容器：有序遍历用map/set，高频查找用unordered_map，固定数组用array，频繁头部操作用forward_list。]]></description><category></category></item><item><title><![CDATA[Go 语言并发模式实践]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/148900488</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/148900488</guid><author>mxpan</author><pubDate>Wed, 25 Jun 2025 15:40:51 +0800</pubDate><description><![CDATA[本文深入解析Go语言三种典型并发模式：1. runner模式通过通道机制实现任务生命周期管理，支持超时控制和中断信号处理，适用于定时任务场景；2. pool模式采用缓冲通道管理可复用资源，有效减少资源创建销毁开销，常用于数据库连接池等场景；3. work模式通过固定数量的goroutine池处理任务，控制并发量，适合批量任务处理。每种模式都通过核心代码示例展示实现原理，并分析其适用场景和特性。文章还对比了三种模式的应用差异，提出最佳实践建议：根据场景选择合适模式、遵循接口抽象原则、确保资源释放完善。]]></description><category></category></item><item><title><![CDATA[Go 语言并发编程]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/148892838</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/148892838</guid><author>mxpan</author><pubDate>Wed, 25 Jun 2025 10:08:03 +0800</pubDate><description><![CDATA[Go 语言的并发模型以简洁高效的方式解决了现代软件开发中的高并发需求，通过 goroutine 和通道的组合，开发者可以轻松构建复杂的并发系统。掌握并发编程不仅能充分利用多核处理器性能，还能简化异步任务的处理逻辑。在实际开发中，需要根据具体场景选择合适的并发模式，合理处理资源竞争和任务协调，才能发挥 Go 并发模型的最大优势。随着 Go 生态的不断发展，并发编程也将在微服务、云计算等领域发挥更加重要的作用。]]></description><category></category></item><item><title><![CDATA[C++ 中使用 SQLite 数据库深度解析]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/148863189</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/148863189</guid><author>mxpan</author><pubDate>Tue, 24 Jun 2025 09:18:21 +0800</pubDate><description><![CDATA[本文介绍了在C++项目中高效使用SQLite数据库的完整指南。主要内容包括：SQLite环境搭建、基础操作（数据库连接、SQL执行、数据查询）、预处理语句优化、事务处理机制、错误资源管理、性能优化技巧（索引/缓存配置）、自定义函数扩展以及多线程安全配置。文章通过代码示例详细演示了关键API的使用方法，并强调预处理语句防注入、事务批量操作、RAII资源管理等最佳实践。针对不同应用场景，提供了从基础到高级的全面技术方案，帮助开发者在C++项目中充分发挥SQLite轻量高效的优势。]]></description><category></category></item><item><title><![CDATA[Go 语言使用 excelize 库操作 Excel 的方法]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/148842542</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/148842542</guid><author>mxpan</author><pubDate>Mon, 23 Jun 2025 11:27:58 +0800</pubDate><description><![CDATA[Go 语言使用 excelize 库操作 Excel 的方法]]></description><category></category></item><item><title><![CDATA[深入探究 Go 语言中使用 SQLite 数据库]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/148840839</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/148840839</guid><author>mxpan</author><pubDate>Mon, 23 Jun 2025 10:34:26 +0800</pubDate><description><![CDATA[摘要：本文详细介绍了在Go语言中使用SQLite数据库的方法。首先阐述了SQLite作为轻量级嵌入式数据库的优势及Go语言对其的良好支持。主要内容包括：1)通过go-sqlite3库进行环境准备；2)创建数据库文件和表格的操作流程；3)实现增删改查(CRUD)的具体代码示例；4)优化操作的方法如事务处理和索引创建。文章通过实际代码演示了SQLite与Go的集成方式，并提供了性能优化的实用建议。]]></description><category></category></item><item><title><![CDATA[c++中左值与右值]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/148827617</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/148827617</guid><author>mxpan</author><pubDate>Sun, 22 Jun 2025 14:55:26 +0800</pubDate><description><![CDATA[C++中的左值(lvalue)和右值(rvalue)是区分表达式属性的关键概念。左值表示具名的持久对象，可以赋值和取地址（如变量）；右值表示临时对象，只能出现在赋值右侧（如字面值或表达式结果）。C++11进一步将右值分为纯右值(prvalue)和将亡值(xvalue)，后者通过std::move实现移动语义。左值引用(T&amp;)只能绑定左值，右值引用(T&amp;&amp;)专门处理右值，而const T&amp;可以绑定两者。正确理解这些概念对实现移动语义、完美转发和优化资源管理至关重要。]]></description><category></category></item><item><title><![CDATA[c++中auto与decltype使用]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/148823244</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/148823244</guid><author>mxpan</author><pubDate>Sun, 22 Jun 2025 10:10:09 +0800</pubDate><description><![CDATA[C++11类型推导特性对比摘要：auto用于变量类型推导，忽略顶层const和引用；decltype精确获取表达式类型，保留所有类型信息；decltype(auto)结合两者优势。auto简化代码，decltype适用于模板编程，decltype(auto)适合精确转发。使用时需注意：auto需初始化，decltype区分变量名和表达式，decltype(auto)保留引用特性。三者各有所长，应根据场景选择使用。]]></description><category></category></item><item><title><![CDATA[STL 容器迭代器失效问题分析与解决方案]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/148814672</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/148814672</guid><author>mxpan</author><pubDate>Sat, 21 Jun 2025 20:11:19 +0800</pubDate><description><![CDATA[C++ STL容器迭代器失效问题解析：本文详细分析了vector和map两种容器删除元素时的迭代器失效机制。vector因连续内存特性，删除元素会使其后所有迭代器失效，需利用erase返回值更新迭代器；map因红黑树结构，仅被删除节点的迭代器失效，可采用先递增再删除或后置递增方式处理。文章通过代码示例对比了错误和正确的删除方法，为有效避免迭代器失效问题提供了实用解决方案，对提升程序健壮性具有重要参考价值。]]></description><category></category></item><item><title><![CDATA[Go 语言 GMP 调度模型解析]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/148812253</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/148812253</guid><author>mxpan</author><pubDate>Sat, 21 Jun 2025 17:13:48 +0800</pubDate><description><![CDATA[轻量级协程，是 Go 并发的基本执行单元。每个 Goroutine 拥有自己的栈空间、程序计数器和状态信息，初始栈大小仅 2KB，可动态扩缩容。M（Machine）：对应操作系统线程，负责执行 Goroutine 的代码。每个 M 必须关联一个 P 才能执行 G，M 的数量通常由系统自动调整。：逻辑处理器，持有执行 Goroutine 所需的资源，包括本地运行队列（LRQ）、G 上下文缓存等。]]></description><category></category></item><item><title><![CDATA[C++ 单例模式一种实现方式]]></title><link>https://blog.youkuaiyun.com/mxpan/article/details/148798301</link><guid>https://blog.youkuaiyun.com/mxpan/article/details/148798301</guid><author>mxpan</author><pubDate>Fri, 20 Jun 2025 19:34:32 +0800</pubDate><description><![CDATA[摘要：单例模式是一种确保类只有一个实例并提供全局访问点的设计模式。其实现关键包括：私有构造函数、静态成员变量存储实例、静态方法获取实例。文章以C++为例展示了线程安全的单例实现，采用双重检查锁定机制保证多线程环境下的安全性，同时优化了性能。代码包含实例创建、销毁方法，并通过保护构造函数防止外部实例化。该实现兼顾线程安全和效率，适用于配置管理、日志记录等需要全局唯一实例的场景。]]></description><category></category></item></channel></rss>