<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mx_jun的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/mx_jun</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mx_jun]]></copyright><item><title><![CDATA[代办清单：利用 AI Agent 从零开发并打包一款软件 Demo]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/169163152</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/169163152</guid><author>mx_jun</author><pubDate>Mon, 26 Oct 2026 15:44:33 +0800</pubDate><description><![CDATA[本文通过AIAgent辅助开发一个绿色免安装的Web待办清单应用，实现从需求分析、代码生成、调试修复到嵌入式打包的全流程自动化。项目采用Python嵌入式版本与Flask框架，结合前端HTML/CSS/JS，最终生成可直接分发的绿色软件包，无需用户安装环境。核心亮点为利用AIAgent完成技术选型、代码生成、错误修复及打包方案设计，验证了“将AI视为高级实习生”的高效开发模式，显著降低编程门槛，提升交付效率。]]></description><category></category></item><item><title><![CDATA[Wireshark 蓝牙 HCI 日志分析常用操作速查]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/167812328</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/167812328</guid><author>mx_jun</author><pubDate>Tue, 13 Oct 2026 20:14:25 +0800</pubDate><description><![CDATA[本文介绍使用Wireshark分析经典蓝牙BR/EDR HCI日志的常用过滤器与排查方法，涵盖建连、取消、断连等关键事件。通过bthci_cmd和bthci_evt过滤器定位连接过程，结合状态码（Status）、原因码（Reason）及时间参考点分析建连耗时与失败原因。重点包括：连接建立判断、Handle跟踪、断连原因解析及BLE建连补充过滤。推荐排查顺序为：定位命令→查看结果→记录关联信息→分析时序与状态。附过滤器语法检查与常见问题处理建议，提升日志分析效率。]]></description><category></category></item><item><title><![CDATA[shell复习(2)]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/150975667</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/150975667</guid><author>mx_jun</author><pubDate>Tue, 02 Sep 2025 17:09:17 +0800</pubDate><description><![CDATA[摘要：Bash Shell支持一维数组，下标从0开始，元素用空格分隔。关联数组使用-A选项声明，键值唯一。可通过${array_name[index]}访问数组元素。Shell提供expr工具进行表达式求值，支持算术、逻辑、字符串、文件测试等运算符，包括自增自减运算。数组操作包括获取元素、键和长度等功能。（150字）]]></description><category></category></item><item><title><![CDATA[shell 复习(1)]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/150951705</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/150951705</guid><author>mx_jun</author><pubDate>Thu, 28 Aug 2025 17:19:08 +0800</pubDate><description><![CDATA[Shell变量使用需注意：变量名与等号间不能有空格；命名规则为字母/数字/下划线组合且不以数字开头；避免使用Shell关键字和特殊符号。赋值时需注意：字符串可用单/双引号，特殊变量需谨慎处理。Shell支持字符串、整数、数组等多种变量类型，其中字符串最常用。数组允许存储多个值，包括整数索引和关联数组。环境变量和$0、$1等特殊变量具有特定功能。]]></description><category></category></item><item><title><![CDATA[Markdown学习笔记（4）]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/150861756</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/150861756</guid><author>mx_jun</author><pubDate>Tue, 26 Aug 2025 17:28:13 +0800</pubDate><description><![CDATA[Markdown图表工具Mermaid简介：支持流程图、时序图、类图等6种图表类型，通过简单文本语法即可绘制。其中流程图可自定义方向（TD/TB/RL/LR）、节点形状（方形/圆形/菱形等）和连接线类型（实线/虚线/粗线）。时序图通过participant定义参与者，甘特图可设置任务状态（完成/进行中/关键）。Mermaid使技术文档中的图表绘制变得简单高效。]]></description><category></category></item><item><title><![CDATA[Markdown学习笔记(3)]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/150847391</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/150847391</guid><author>mx_jun</author><pubDate>Tue, 26 Aug 2025 16:39:29 +0800</pubDate><description><![CDATA[本文介绍了Markdown中图片插入和表格制作的方法。图片支持相对/绝对路径和网络引用，建议使用相对路径并建立专门图片文件夹管理。表格通过|和-分隔单元格，可添加对齐和边框样式。文章还列举了LaTeX常用数学符号，包括运算、比较、集合符号及希腊字母等，适用于公式编写。内容涵盖基础语法和实用技巧，适合Markdown学习者参考。]]></description><category></category></item><item><title><![CDATA[Markdown学习笔记(2)]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/150759575</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/150759575</guid><author>mx_jun</author><pubDate>Mon, 25 Aug 2025 16:35:57 +0800</pubDate><description><![CDATA[本文介绍了Markdown中常用的列表和代码块语法。主要内容包括：无序列表和有序列表的区别、列表嵌套规则（推荐2空格缩进）、GitHub风格任务列表的创建方法。在代码部分，详细说明了行内代码（反引号包裹）和代码块的两种形式（缩进式和三反引号式），特别强调了缩进式代码块的注意事项（需要8空格缩进）。最后列举了三反引号代码块支持的语言标识符（如js、python、html等）及其对应的语法高亮功能。全文提供了清晰的Markdown语法参考。]]></description><category></category></item><item><title><![CDATA[Markdown 学习笔记(1)]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/150608582</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/150608582</guid><author>mx_jun</author><pubDate>Mon, 25 Aug 2025 09:21:01 +0800</pubDate><description><![CDATA[本文介绍了Markdown的基本语法，包括标题（使用#或=/-标记）、文本格式（加粗、斜体、删除线、下划线）、分隔线（使用***或---）、代码标记（反引号`）和段落换行技巧（双空格或HTML标签）。重点说明了标题层级建议不越级设置，以及行内代码的标记方法。还提到分隔线可用星号、减号或下划线创建，行内不能有其他内容。]]></description><category></category></item><item><title><![CDATA[编译固件 -- 自用]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/140615597</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/140615597</guid><author>mx_jun</author><pubDate>Mon, 22 Jul 2024 19:31:43 +0800</pubDate><description><![CDATA[当我们对自己开发的产品代码进行编译的时候，我们应该先准备好编译环境，比如我们这里是海思的路由器WR3000H，这里我们就得到这个路径openwrt-hisilicon。]]></description><category></category></item><item><title><![CDATA[curl参数大全]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/140600566</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/140600566</guid><author>mx_jun</author><pubDate>Mon, 22 Jul 2024 14:11:07 +0800</pubDate><description><![CDATA[实例：`curl -x http://proxyserver:port http://example.com`- 实例：`curl -G -d "key=value" http://example.com/api`- 实例：`curl -H "X-My-Header: 123" http://example.com`- 实例：`curl -X POST http://example.com/api/data`- 实例：`curl --trace-ascii http://example.com`]]></description><category></category></item><item><title><![CDATA[ApiPost7 用法介绍]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/140474605</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/140474605</guid><author>mx_jun</author><pubDate>Tue, 16 Jul 2024 19:44:31 +0800</pubDate><description><![CDATA[HTTP请求是客户端（如浏览器）向服务器务的方式。- **概念**：GET请求用于从服务器检索数据。它向服务器查询信息，服务器响应该请求并返回数据。- **数据传输**：数据通过URL传递，附加在URL后面，形成查询字符串。- **缓存**：GET请求可以被浏览器缓存。- **长度限制**：URL长度通常有限制，因此GET请求的数据长度也有限制。- **可见性**：数据在URL中可见，因此不适合传输敏感信息。- **用途**：适用于请求服务器发送资源或执行不需要数据修改的查询。]]></description><category></category></item><item><title><![CDATA[lua入门(5) - 错误处理]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/140396485</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/140396485</guid><author>mx_jun</author><pubDate>Sat, 13 Jul 2024 11:34:34 +0800</pubDate><description><![CDATA[Lua提供了xpcall函数，xpcall接收第二个参数——一个错误处理函数，当错误发生时，Lua会在调用桟展开（unwind）前调用错误处理函数，于是就可以在这个函数中使用debug库来获取关于错误的额外信息了。pcall接收一个函数和要传递给后者的参数，并执行，执行结果：有错误、无错误；通常在错误发生时，希望落得更多的调试信息，而不只是发生错误的位置。lua 里调用函数时，即使实参列表和形参列表不一致也能成功调用，多余的参数会被舍弃，缺少的参数会被补为 nil。实例中assert首先检查第一个参数，]]></description><category></category></item><item><title><![CDATA[编译x-Wrt 全过程]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/140379035</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/140379035</guid><author>mx_jun</author><pubDate>Sat, 13 Jul 2024 10:39:39 +0800</pubDate><description><![CDATA[需要详细了解的小伙伴还请参看原文 ^-^]]></description><category></category></item><item><title><![CDATA[lua入门(4) - 文件IO]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/140383116</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/140383116</guid><author>mx_jun</author><pubDate>Fri, 12 Jul 2024 17:30:55 +0800</pubDate><description><![CDATA[若不带参数时io.lines() <=> io.input():lines();设置和获取当前文件位置,成功则返回最终的文件位置(按字节),失败则返回nil加错误信息。实现功能类似，相比简单模式少了 io.input() 和 io.output() ，还支持同时处理多个文件。简单模式在做一些简单的文件操作时较为合适。但是在进行一些高级的文件操作的时候，简单模式就显得力不从心。模式并返回一个迭代函数，每次调用将获得文件中的一行内容，当到文件尾时，将返回。这样的操作，使用完全模式则较为合适。]]></description><category></category></item><item><title><![CDATA[openWrt(4) - uci]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/140359962</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/140359962</guid><author>mx_jun</author><pubDate>Thu, 11 Jul 2024 19:39:03 +0800</pubDate><description><![CDATA[我们以 network 为例。]]></description><category></category></item><item><title><![CDATA[openWrt(3) - ubus (下)]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/140326102</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/140326102</guid><author>mx_jun</author><pubDate>Thu, 11 Jul 2024 09:59:59 +0800</pubDate><description><![CDATA[OpenWrt ubus RPC daemon for backend server 是一组小型插件，在单独的命名空间中提供一组。）并不严格相关，因此将它们作为单独的项目实现是不值得的。RPCD 和所需的插件必须通过 OPKG 可用或安装。这些插件与任何特定软件（如。]]></description><category></category></item><item><title><![CDATA[openWrt入门(2) - ubus]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/140295085</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/140295085</guid><author>mx_jun</author><pubDate>Wed, 10 Jul 2024 11:27:06 +0800</pubDate><description><![CDATA[在 Linux 系统中，查看进程状态时可能会看到 `S` 或 `S+` 这样的状态。- 进程正在睡眠状态，等待某个事件或资源。这是正常的系统行为，例如等待I/O操作完成或等待信号。- 进程处于可中断的睡眠状态，并且可以响应终端产生的停止信号。这意味着进程正在等待某些条件的发生，但如果收到特定的信号（如停止信号），它可以被中断。- 进程处于不可中断的睡眠状态，通常是在等待 I/O 操作完成。在这种状态下，进程不会响应大多数信号，直到它所等待的 I/O 完成。]]></description><category></category></item><item><title><![CDATA[beyond Compare连接 openWrt 和 VsCode]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/140316545</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/140316545</guid><author>mx_jun</author><pubDate>Wed, 10 Jul 2024 11:09:32 +0800</pubDate><description><![CDATA[1. 先选中本机的工作目录(VsCode  存放文件夹)点击下图 右上角 浏览文件夹添加。]]></description><category></category></item><item><title><![CDATA[OpenWrt入门 (1) - 登录及ssh命令接入wifi]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/140288723</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/140288723</guid><author>mx_jun</author><pubDate>Tue, 09 Jul 2024 11:26:11 +0800</pubDate><description><![CDATA[串口连接：适合于直接与硬件设备进行通信，简单但功能有限。适合简单的远程命令执行，但不安全，逐渐被 SSH 所取代。适合安全的远程访问、命令执行和文件传输，是目前最推荐使用的远程连接方式。在选择连接方式时，需要根据具体需求、安全性要求以及可用的资源来决定使用哪种方式。对于需要高安全性的场景，SSH 是首选。对于与硬件设备的直接通信，串口连接可能是必要的。而 Telnet 由于其安全性问题，现在很少使用，除非在一些特定的、不涉及敏感数据的场景中。]]></description><category></category></item><item><title><![CDATA[lua入门(3) - 变量]]></title><link>https://blog.youkuaiyun.com/mx_jun/article/details/140260298</link><guid>https://blog.youkuaiyun.com/mx_jun/article/details/140260298</guid><author>mx_jun</author><pubDate>Mon, 08 Jul 2024 10:48:49 +0800</pubDate><description><![CDATA[a. 变量个数 > 值的个数             按变量个数补足nil。b. 变量个数 < 值的个数             多余的值会被忽略。，不会进行变量传递，]]></description><category></category></item></channel></rss>