<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Hello_MyDream的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/Hello_MyDream</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Hello_MyDream]]></copyright><item><title><![CDATA[Python中：可迭代对象、迭代器、生成器、生成器表达式、列表推导式]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/159618071</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/159618071</guid><author>Hello_MyDream</author><pubDate>Sun, 29 Mar 2026 21:59:32 +0800</pubDate><description><![CDATA[当。]]></description><category></category></item><item><title><![CDATA[鸿蒙中的Http请求]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/156583794</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/156583794</guid><author>Hello_MyDream</author><pubDate>Mon, 05 Jan 2026 02:37:40 +0800</pubDate><description><![CDATA[on(type: 'headersReceive')：订阅HTTP Response Header 事件。on('dataReceiveProgress')：订阅HTTP流式响应数据接收进度事件。on('dataSendProgress')：订阅HTTP网络请求数据发送进度事件。on可以注册监听的字段/事件：off为取消订阅，每一个on都有一个对应的off。on('dataReceive')：订阅HTTP流式响应数据接收事件。on('dataEnd')：订阅HTTP流式响应数据接收完毕事件。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/156552893</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/156552893</guid><author>Hello_MyDream</author><pubDate>Sun, 04 Jan 2026 04:39:54 +0800</pubDate><description><![CDATA[应用能力的抽象单元，分两类：]]></description><category></category></item><item><title><![CDATA[鸿蒙getContext(this)弃用后的替代方法]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/156552540</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/156552540</guid><author>Hello_MyDream</author><pubDate>Sun, 04 Jan 2026 04:22:57 +0800</pubDate><description><![CDATA[以上方法均基于鸿蒙API 12+的ArkUI声明式范式。实际开发中优先使用第一种直接获取方式，其代码简洁且符合最新规范。]]></description><category></category></item><item><title><![CDATA[?:/?.——可选链；!——非空断言操作符（强行保证）]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/156521447</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/156521447</guid><author>Hello_MyDream</author><pubDate>Sat, 03 Jan 2026 01:45:43 +0800</pubDate><description><![CDATA[“非空断言操作符”（Non-Null Assertion Operator）]]></description><category></category></item><item><title><![CDATA[Promise]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/156466527</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/156466527</guid><author>Hello_MyDream</author><pubDate>Thu, 01 Jan 2026 13:37:20 +0800</pubDate><description><![CDATA[承诺：将来某一刻，我要么给你一个结果，要么告诉你失败了。then()是你对 Promise 说：等你成功了，请帮我执行这一步。接收 Promise 成功后的结果对这个结果进行处理或转换把处理后的结果交给下一个步骤为什么需要then()，而不是直接拿结果？因为Promise 的结果不是立刻就有的。场景：读取文件 → 校验内容 → 写入新文件 → 提示成功❌ 回调方式（典型回调地狱）：使用同步阻塞api会阻塞UI，所以不回去返回值，直接在回调函数中操作返回值。所以一层套一层。if (err) {]]></description><category></category></item><item><title><![CDATA[继承和线程]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/156463078</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/156463078</guid><author>Hello_MyDream</author><pubDate>Wed, 31 Dec 2025 17:58:07 +0800</pubDate><description><![CDATA[比如，在32为操作系统中，一个进程的虚拟内存为4GB，这就是一个进程。进程是一个资源容器+至少一个线程。因此线程切换比进程切换开销小，但并发安全问题更复杂。是 CPU 调度的最小单位，只保存执行上下文，（线程 = 共享资源的 task）。拥有独立的虚拟地址空间和系统资源；是资源分配与隔离的基本单位，多个线程共享进程的资源。]]></description><category></category></item><item><title><![CDATA[ArkTS中箭头函数与泛型]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/156459489</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/156459489</guid><author>Hello_MyDream</author><pubDate>Wed, 31 Dec 2025 15:51:06 +0800</pubDate><description><![CDATA[>写在函数名后面，如下；箭头函数没有函数名，所以写在参数圆括号前面。这种不写{}的情况是一定有返回值的。]]></description><category></category></item><item><title><![CDATA[服务器被挂挖矿木马+改root密码，阿里云直接登录重新修改root的解决方案]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/155039911</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/155039911</guid><author>Hello_MyDream</author><pubDate>Wed, 19 Nov 2025 22:50:41 +0800</pubDate><description><![CDATA[sudo -i完成后，你的vendor用户及其家目录将被彻底删除。如果你后续还需要创建新用户、修改密码等操作，现在都可以正常进行了。如有其他问题，欢迎继续提问！]]></description><category></category></item><item><title><![CDATA[ArkTs中的尾随闭包]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/148145814</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/148145814</guid><author>Hello_MyDream</author><pubDate>Thu, 22 May 2025 17:28:01 +0800</pubDate><description><![CDATA[ArkTs中，组件后面的{}就是尾随闭包。在 ArkTS 中，当组件后面直接跟随 {} 大括号时，这种语法形式本质上就是​​尾随闭包​​的应用。但需结合具体场景理解其作用机制，以下是详细解析：]]></description><category></category></item><item><title><![CDATA[ArkTs中的wbSocket]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/148127431</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/148127431</guid><author>Hello_MyDream</author><pubDate>Thu, 22 May 2025 03:09:45 +0800</pubDate><description><![CDATA[*ws.on 监听器：**均在主线程执行，依赖事件队列实现异步非阻塞。**多线程需求：**需通过 Worker 或 TaskPool 显式创建，与 WebSocket 事件监听无关。**设计建议：**根据业务场景选择并发模型，避免主线程阻塞导致体验问题。]]></description><category></category></item><item><title><![CDATA[async/await和Promise，手写Promise]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/148053158</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/148053158</guid><author>Hello_MyDream</author><pubDate>Mon, 19 May 2025 02:04:31 +0800</pubDate><description><![CDATA[async/await和Promise，手写Promise]]></description><category></category></item><item><title><![CDATA[ArkTsUI入门]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/147344813</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/147344813</guid><author>Hello_MyDream</author><pubDate>Sat, 19 Apr 2025 08:43:54 +0800</pubDate><description><![CDATA[这样可以在自定义的函数中加入图片、结构（column）等。可以传参数。由框架直接提供的称为 系统组件，由开发者定义的称为 自定义组件。和空项目给出的是一样的，空项目多一个@Entry，可以复制一下直接改名字即可。使用自定义组件：HelloComponent()// 定义@Component// 状态变量build(){// .... 描述 UI在单独的文件中写事件，添加export导出，如果想要单独预览组件，可以使用 @Preview 进行装饰。]]></description><category></category></item><item><title><![CDATA[鸿蒙语言基础]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/147106666</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/147106666</guid><author>Hello_MyDream</author><pubDate>Fri, 18 Apr 2025 15:54:43 +0800</pubDate><description><![CDATA[这样可以在自定义的函数中加入图片、结构（column）等。可以传参数。由框架直接提供的称为系统组件，由开发者定义的称为自定义组件。和空项目给出的是一样的，空项目多一个@Entry，可以复制一下直接改名字即可。使用自定义组件：HelloComponent()// 定义@Component// 状态变量build(){// .... 描述 UI在单独的文件中写事件，添加export导出，如果想要单独预览组件，可以使用@Preview进行装饰。]]></description><category></category></item><item><title><![CDATA[聊天窗口拖拽 | 边界检测 | 元素在移动到边缘外松开鼠标后，移动到边缘范围内最边上的位置]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/138292131</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/138292131</guid><author>Hello_MyDream</author><pubDate>Tue, 01 Oct 2024 17:24:22 +0800</pubDate><description><![CDATA[其中有一个注意的点：offsetX和offsetY在第一次拖拽后值就不再为0，但是为什么之后还能成功拖拽呢？大概率是因为translate3d设置的是与初始位置的相对位置。* getBoundingClientRect的top值一直为0，offsetLeft的只开始为0，后来为600。* 猜测着可能是因为translate3d导致的，translate3d可能没有真正改变div的初始位置。整体思路为：鼠标移动后的位置 - 鼠标初始位置 为 偏移量，然后将x，y的偏移量传入translate3d中。]]></description><category></category></item><item><title><![CDATA[智能客服聊天逻辑实现]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/138273947</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/138273947</guid><author>Hello_MyDream</author><pubDate>Tue, 01 Oct 2024 17:23:59 +0800</pubDate><description><![CDATA[【代码】智能客服聊天逻辑实现。]]></description><category></category></item><item><title><![CDATA[聊天窗口关键词回复、定时发送、获取手机号发送到服务器]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/138310291</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/138310291</guid><author>Hello_MyDream</author><pubDate>Mon, 29 Apr 2024 13:58:00 +0800</pubDate><description><![CDATA[记录用户是否输入消息，用setInterval定时50秒检测并改变用户状态为false，发送消息、或者自动打印一轮完毕后，置为true。为时间戳字符串拼接函数，为了格式的统一，建议客户端、服务器（windows开发环境/linux上线）均使用此格式。是将用户信息发送大服务器的函数；阻止默认事件，回车时不添加换行。是将消息追加到聊天框的函数；是处理发送消息的函数；]]></description><category></category></item><item><title><![CDATA[管理node版本的工具——nvm]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/138222768</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/138222768</guid><author>Hello_MyDream</author><pubDate>Fri, 26 Apr 2024 16:26:17 +0800</pubDate><description><![CDATA[您可以根据nvm的官方安装指南进行安装。通常涉及下载nvm的安装脚本并执行。nvm允许您安装和管理多个Node.js版本，轻松切换不同版本。使用nvm安装您需要的Node.js版本。]]></description><category></category></item><item><title><![CDATA[node服务器——处理原始的请求流]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/138222089</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/138222089</guid><author>Hello_MyDream</author><pubDate>Fri, 26 Apr 2024 16:12:42 +0800</pubDate><description><![CDATA[请注意，这种方法仅适用于请求体不是非常大的情况，因为整个请求体都会存储在内存中。如果请求体非常大，您可能需要使用流来逐步写入文件，以避免内存不足的问题。此外，如果您还想记录请求的其他信息（如头部、URL等），您可以像之前那样直接访问。事件来接收请求体的数据块，并将它们存储在一个数组中。等属性，并将它们以您喜欢的方式写入文件。将数组中的所有数据块拼接成一个完整的。对象，然后将其写入到文件中。事件触发时），我们使用。2、当请求结束时（即。]]></description><category></category></item><item><title><![CDATA[vue模拟实时翻译，并添加防抖]]></title><link>https://blog.csdn.net/Hello_MyDream/article/details/138214918</link><guid>https://blog.csdn.net/Hello_MyDream/article/details/138214918</guid><author>Hello_MyDream</author><pubDate>Fri, 26 Apr 2024 12:15:51 +0800</pubDate><description><![CDATA[【代码】vue模拟实时翻译，并添加防抖。]]></description><category></category></item></channel></rss>