<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dingyuana的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dingyuana</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dingyuana]]></copyright><item><title><![CDATA[WSL 中 Git Clone GitHub 仓库完整踩坑指南]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/170128658</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/170128658</guid><author>dingyuana</author><pubDate>Thu, 05 Nov 2026 10:36:16 +0800</pubDate><description><![CDATA[问题最佳解法WSL 证书验证失败或重装 ca-certificates22 端口超时SSH 走缺少密钥+ 添加到 GitHub权限过宽被拒Gitee 认证失败使用 PAT 替代密码 + 清除凭据缓存--system权限拒绝改用--global或--local作用域一条黄金建议：在 WSL 中访问 GitHub，优先使用 SSH over 443。一次配置，永久解决证书、端口、认证三重问题，比 HTTPS 方式稳定得多。]]></description><category></category></item><item><title><![CDATA[ROS2 节点通信与 Daemon 机制：从 DDS 底层协议讲起]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/169436768</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/169436768</guid><author>dingyuana</author><pubDate>Thu, 29 Oct 2026 09:29:49 +0800</pubDate><description><![CDATA[DDS（Data Distribution Service，数据分发服务）是由 OMG（Object Management Group）组织制定的一套去中心化的发布-订阅通信标准。ROS2 抛弃了 ROS1 中集中式的 Master 架构，转而基于 DDS 实现了真正的分布式通信。FastDDS（原 Fast RTPS）：由 eProsima 开发，是 ROS2 的默认 DDS 实现，性能优秀且开源。CycloneDDS。]]></description><category></category></item><item><title><![CDATA[ROS2 编译与运行实战指南：从源码到机器人系统启动]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/168532753</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/168532753</guid><author>dingyuana</author><pubDate>Tue, 20 Oct 2026 09:48:10 +0800</pubDate><description><![CDATA[定义：在中编写声明依赖，编写定义编译规则。规划：执行，Colcon 分析依赖图，确定先编译消息包，再编译键盘输入节点。构建：CMake 调用 g++ 编译器，将.cpp编译为二进制文件；Python 脚本被准备就绪。安装：编译产物根据install()规则，被复制（或软链接）到目录中。激活将所有包的路径注入环境变量。运行，系统在环境变量中找到路径，启动节点。调试：使用等命令确认节点运行状态和话题通信是否正常。]]></description><category></category></item><item><title><![CDATA[ROS 2 教程：从 setup.py 到 launch 文件，打通 URDF/xacro、RViz2 与 Gazebo]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/166894623</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/166894623</guid><author>dingyuana</author><pubDate>Wed, 30 Sep 2026 11:46:56 +0800</pubDate><description><![CDATA[setup.py：构建期文件，负责把 URDF/xacro、meshes、launch、RViz、config、maps、worlds 等运行时资源安装到install/share/<包名>/。核心配置项是data_files和。data_files：安装的是运行时非代码资源，包括但不限于模型、网格、启动文件、RViz 配置、参数、地图、Gazebo 世界、行为树、标定文件等。凡是通过读取的文件，都必须在这里声明。：注册 Python 节点，让ros2 run和 launch 中的Node。]]></description><category></category></item><item><title><![CDATA[从火热的Microduck看虚拟到物理：具身智能落地全流程——以 Spin 任务中的 Spec Coding、强化学习与 Sim2Real 为例]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/165485148</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/165485148</guid><author>dingyuana</author><pubDate>Tue, 15 Sep 2026 17:17:40 +0800</pubDate><description><![CDATA[Microduck项目的最大价值不在于它是一只可爱的机器鸭，而在于它把具身智能开发的“黑箱”打开了。Spec文档展示了任务设计背后的物理推理和决策权衡；Plan文档展示了从规范到可测试实现的翻译过程；训练日志展示了失败与诊断的真实过程；领域随机化配置展示了Sim2Real的工程实践。具身智能的核心能力不是“调参”，而是“建模”——物理建模（理解机器人与环境的交互）、任务建模（将目标转化为可优化的奖励）、以及迁移建模（预测哪些仿真-真实差异是关键的）。]]></description><category></category></item><item><title><![CDATA[探秘鸿蒙南向开发：Hi3861 架构、编译与实战全解析]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163705657</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163705657</guid><author>dingyuana</author><pubDate>Wed, 12 Aug 2026 21:09:54 +0800</pubDate><description><![CDATA[从一行代码到一套系统，从点亮一盏灯到驱动一块屏幕，OpenHarmony 的南向开发虽然有一定的学习门槛，但其分层解耦、组件化的设计思想，为万物互联时代提供了无限可能。布道师的最后叮嘱：鸿蒙南向开发的核心在于三个“转变”——从main到SYS_RUN的入口思维转变，从 Makefile 到 GN/Ninja 的构建思维转变，从单线程轮询到多任务并发的并发思维转变。跨过这三道门槛，你便真正推开了鸿蒙设备开发的大门。🚀。]]></description><category></category></item><item><title><![CDATA[第5章 第一次交棒：向Agent发出指令，见证红色海洋]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163509343</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163509343</guid><author>dingyuana</author><pubDate>Wed, 05 Aug 2026 17:03:53 +0800</pubDate><description><![CDATA[下一章，我们将对 Agent 发出第二条指令：“现在，用最少的代码，让这些测试全部变绿。”你会看到 Agent 像一个外科医生一样，一针一线地写出刚好通过测试的实现代码。：Agent 还贴心地写了一个“已小写邮箱不被篡改”的补充测试。的**阶段 1（TDD-Red）**中，我们已经列出了详细的测试子任务。你的角色已经从“写代码的人”变成了“审代码的人”。这在 Agent 驱动的 TDD 里，是最光荣的输出。：Agent 不仅写了基础重复测试，还额外生成了大小写不敏感的重复测试。这是边界测试的专业写法。]]></description><category></category></item><item><title><![CDATA[第五篇 变革的落地：实施挑战与未来展望]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163478442</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163478442</guid><author>dingyuana</author><pubDate>Tue, 04 Aug 2026 17:22:51 +0800</pubDate><description><![CDATA[本系列五篇文章，从理念到课程到实施，构建了一个完整的软件工程教育范式重构方案。这个方案的核心命题是：软件工程教育必须面向正在到来的规格时代，完成从培养“代码生产者”到培养“规格定义者与质量把关者”的历史性转变。第一篇文章指出变革为何不可避免——手工编码中心主义已经走到尽头，当AI能够生成大量高质量代码时，“能写代码”不再是核心竞争力，“能精确定义该写什么”才是。]]></description><category></category></item><item><title><![CDATA[从零构建：Windows 下MSYS2+ VS Code + SDL2 开发实战指南]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163461605</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163461605</guid><author>dingyuana</author><pubDate>Tue, 04 Aug 2026 09:39:33 +0800</pubDate><description><![CDATA[对于许多习惯了黑框控制台（Console）的 C 语言开发者来说，想要编写一个能显示图片、绘制图形的 Windows 软件，往往会面临一个巨大的技术鸿沟。在 Windows 环境下，实现图形界面通常有两条路：一是直接调用微软原生的 Win32 API，这需要处理繁琐的窗口类注册、消息循环（Message Loop）以及复杂的设备上下文（HDC）绘图，代码冗长且学习曲线极其陡峭；二是使用庞大的商业级框架（如 Qt 或 MFC），这对于只想写个简单小工具或入门游戏的人来说，又显得过于笨重。]]></description><category></category></item><item><title><![CDATA[第4章 蓝图先行：从 Spec 到 Task 再到红灯]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163367640</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163367640</guid><author>dingyuana</author><pubDate>Fri, 31 Jul 2026 14:41:51 +0800</pubDate><description><![CDATA[上一章，我们写好了一份滴水不漏的。你或许迫不及待地想对 Agent 说：“开始写测试吧！”——且慢。如果你直接把 Spec 扔给 Agent 让它写测试，它很可能会一口气生成几十个测试、然后试图一次性把实现代码也写完，完全违背 TDD 的“小步快跑”原则。在 Spec 和测试之间，还缺一份Task.md。它把 Spec 拆解成按 TDD 节奏排列的子任务，告诉 Agent：“先做这一步，做完等我检查，再做下一步。”本章，我们就来生成这份蓝图。]]></description><category></category></item><item><title><![CDATA[初识Git：为什么AI时代的开发者需要版本控制]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163310450</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163310450</guid><author>dingyuana</author><pubDate>Wed, 29 Jul 2026 17:43:34 +0800</pubDate><description><![CDATA[面向 AI 开发者的 Git 实操教程，技术布道式写作，11篇文章从入门到精通。]]></description><category></category></item><item><title><![CDATA[AI 时代的版本控制：从 Git 本地备份到 GitHub 自动化协作--初级篇：Git 与我]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163275237</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163275237</guid><author>dingyuana</author><pubDate>Tue, 28 Jul 2026 15:20:54 +0800</pubDate><description><![CDATA[这不是只讲 Git 命令的教程。以前，程序员的主要生产力是手写代码；现在，AI 可以帮写代码、生成配置、修复 bug、解释日志、生成测试用例。但 AI 的能力越强，越需要一个能的平台。这不是一篇教程，是三篇。]]></description><category></category></item><item><title><![CDATA[第四篇 Spec驱动 人机协同：应用型“人工智能应用与开发”设计]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163236267</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163236267</guid><author>dingyuana</author><pubDate>Mon, 27 Jul 2026 10:59:38 +0800</pubDate><description><![CDATA[本文是系列文章的第四篇，详细展开面向“人工智能应用与开发”方向的应用型培养路径。文章提出，AI时代应用型人才的培养应遵循一条清晰的能力跃迁脉络：在角色上，从传统“代码开发工程师”进化为集产品经理、项目架构师、开发指挥官、项目审核者于一身的复合型人才；在AI协作能力上，从Prompt Engineer到Agent Engineer，再到Harness Engineer和Loop Engineer，层层递进；在开发范式上，从传统敏捷开发向AI时代的SDD、BDD、DDD、TDD多范式融合演进。]]></description><category></category></item><item><title><![CDATA[第三篇 深入AI腹地：学术型“人工智能研究与开发”路径设计]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163164281</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163164281</guid><author>dingyuana</author><pubDate>Fri, 24 Jul 2026 15:52:50 +0800</pubDate><description><![CDATA[本文是系列文章的第三篇，详细展开面向“人工智能研究与开发”方向的学术型培养路径。在第一年共同基础之后，从第二年开始，志在深入AI底层的学生将进入一条以“创造和改进AI工具”为目标的深造通道。文章充分吸纳2024至2026年的技术前沿，设计了五门螺旋式上升的核心课程——深度学习系统原理与框架设计、大规模模型训练与后训练工程、数据工程与模型评估、模型压缩与高性能推理部署、生成式模型与智能体前沿——每门课程均包含详细的教学重点设计。]]></description><category></category></item><item><title><![CDATA[第3章：不写代码，先写“合同”]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163134206</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163134206</guid><author>dingyuana</author><pubDate>Thu, 23 Jul 2026 14:30:54 +0800</pubDate><description><![CDATA[这是整份Spec.md中最关键的部分。Agent 会根据这个模块生成所有测试用例的参数化数据和所有异常处理的错误码逻辑。]]></description><category></category></item><item><title><![CDATA[第2章：工欲善其事——搭好 Python 实验台与 Agent 工作环境]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163120733</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163120733</guid><author>dingyuana</author><pubDate>Thu, 23 Jul 2026 09:09:18 +0800</pubDate><description><![CDATA[你还记得 SDD 的核心原则吗？先定义再实现。环境搭建本身就是一次迷你 SDD 实践：只有环境是确定的，Agent 的产出才是可预期的。如果 Agent 用 Python 3.12 的语法生成代码，而你本地是 Python 3.8，那测试跑不过可不是 Agent 的错。如果你是 Windows 用户，去 python.org 下载最新 3.10 或 3.11 的安装包。安装时务必勾选 “Add Python to PATH”。macOS 或 Linux 用户，可以用  或系统包管理器安装。完成后，打开终端，]]></description><category></category></item><item><title><![CDATA[第1章：别急着写代码-认识你的 AI 搭档与 SDD+TDD]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163107715</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163107715</guid><author>dingyuana</author><pubDate>Wed, 22 Jul 2026 15:33:56 +0800</pubDate><description><![CDATA[代码是 AI 写的，但。]]></description><category></category></item><item><title><![CDATA[第二篇 产品先导与跨语言贯通：重塑软件工程的第一年]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163104428</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163104428</guid><author>dingyuana</author><pubDate>Wed, 22 Jul 2026 13:30:10 +0800</pubDate><description><![CDATA[本文是系列文章的第二篇，聚焦于软件工程本科第一学年的课程重构方案。核心观点是：在AI能够生成大量代码的时代，大学第一年不应再围绕“如何手写代码”展开，而应建立“产品-工具-架构-质量”四位一体的通识素养。文章提出了三项关键创新：第一，新增产品思维启蒙课程，让学生在写代码之前先学会“像产品经理一样思考”；第二，新增AI开发通识课程，将Markdown、Git/GitHub、现代IDE、Prompt提示词工程等基础设施型技能纳入正式教学；]]></description><category></category></item><item><title><![CDATA[第一篇 手工编码的黄昏：为何软件工程教育必须变革]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163104382</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163104382</guid><author>dingyuana</author><pubDate>Wed, 22 Jul 2026 13:28:32 +0800</pubDate><description><![CDATA[随着大语言模型在代码生成领域展现出颠覆性能力，传统软件工程教育所赖以存在的“手工编码中心主义”范式正面临根本性挑战。本文作为系列文章的开篇，系统诊断了当前教育范式的三重困境，分析了AI代码生成能力对“开发者”定义的重新书写，并从教育史规律和认知分配理论两个维度，论证了从“编码逻辑”向“协导逻辑”范式转向的历史必然性。文章提出，软件工程教育必须完成从“培养能写代码的人”到“培养能驾驭AI构建复杂系统的人”的范式跃迁，为后续四篇文章的具体改革方案奠定理论基础。]]></description><category></category></item><item><title><![CDATA[从一盏“红灯”开始：用 pytest 开启你的 TDD 之旅]]></title><link>https://blog.youkuaiyun.com/dingyuana/article/details/163082893</link><guid>https://blog.youkuaiyun.com/dingyuana/article/details/163082893</guid><author>dingyuana</author><pubDate>Tue, 21 Jul 2026 17:21:51 +0800</pubDate><description><![CDATA[太棒了！恭喜你刚刚体验了 TDD 流程中最经典的“红灯（Red）”时刻！让我们先来看看，这个让无数开发者心跳加速的“红灯”到底是怎么诞生的。当你运行测试时，终端无情地抛出了看到那个刺眼的FAILED和，说明你的测试环境已经完美就绪！.FF1 + 1232 == 3在 TDD（测试驱动开发）的流程中，这正是经典的**“红灯（Red）”32“绿灯（Green）”**了。你的测试环境已经彻底跑通，接下来可以尽情在里面写真正的业务代码和测试用例啦！]]></description><category></category></item></channel></rss>