<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[red_eye的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/red_eye</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; red_eye]]></copyright><item><title><![CDATA[AI编程的新的团队角色转变]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/150104392</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/150104392</guid><author>red_eye</author><pubDate>Sat, 09 Aug 2025 10:53:28 +0800</pubDate><description><![CDATA[**摘要：**AI编程工具正在重塑软件开发流程与团队角色。传统瀑布式开发（需求分析→设计→编码→测试）和敏捷开发的迭代模式正被AI协作流程取代：AI直接解析需求并生成设计，开发者转为审查优化AI代码，Prompt工程师成为关键角色，AI还自动执行代码审查和测试。这一转变简化了开发环节，将人力从重复劳动中解放，转向策略性工作（如Prompt设计、测试策略制定），形成更扁平高效的AI驱动团队结构。传统架构师、测试工程师等角色进化为AI协作员、策略师，而非被取代。]]></description><category></category></item><item><title><![CDATA[【如何书写AI容易理解的需求文档】]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/149470132</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/149470132</guid><author>red_eye</author><pubDate>Sat, 19 Jul 2025 20:58:05 +0800</pubDate><description><![CDATA[AI需求文档撰写指南摘要：为让AI准确理解需求文档，需遵循结构化、清晰无歧义的原则。核心要点包括：1.使用Markdown结构化文档；2.避免模糊词汇，明确定义术语；3.提供完整背景说明和用户画像；4.给出具体功能示例和数据结构；5.明确说明项目范围边界。推荐采用标准PRD模板，包含背景、目标、用户故事、功能需求等模块。高质量文档能有效提升与AI协作效率，支持代码生成、测试用例编写等后续工作。关键原则是&quot;清晰输入=优质输出&quot;，这是发挥AI效能的重要前提。]]></description><category></category></item><item><title><![CDATA[ClickHouse 物化视图从 MySQL 获取数据的方式]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/148702323</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/148702323</guid><author>red_eye</author><pubDate>Mon, 16 Jun 2025 22:40:44 +0800</pubDate><description><![CDATA[最佳实践取决于您的具体需求(实时性要求、数据量、查询模式等)。对于生产环境，通常推荐使用 MaterializedMySQL 或 ETL 流程。]]></description><category></category></item><item><title><![CDATA[ClickHouse 中的视图类型及其用途]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/148702204</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/148702204</guid><author>red_eye</author><pubDate>Mon, 16 Jun 2025 22:34:26 +0800</pubDate><description><![CDATA[处理时间序列数据流 → 考虑窗口视图(Window View)需要实时监控数据变化 → 使用实时视图(Live View)只需要简化查询逻辑而不需要存储数据 → 使用普通视图。：封装复杂查询逻辑，使终端用户可以使用简单的接口。：在不修改原始数据的情况下提供转换后的视图。需要预计算和存储结果 → 使用物化视图。：预计算和存储聚合数据，提高查询性能。：物化视图可以预先计算并存储聚合结果。：简化复杂查询，提供数据抽象层。每次查询视图时都会执行底层查询。不存储数据，只是保存查询定义。提供查询结果的实时更新。]]></description><category></category></item><item><title><![CDATA[delph Xe 11 如何让程序以管理员身份运行]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/135347141</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/135347141</guid><author>red_eye</author><pubDate>Tue, 02 Jan 2024 18:26:28 +0800</pubDate><description><![CDATA[Project->Options->  如下图，Execution Level 改为 Require Administrator 及可。网上以前的方式很麻烦，需要UAC.RES 文件，XE11 可以直接在项目设置中提高程序运行的等级。]]></description><category></category></item><item><title><![CDATA[delphi 如何操作windows 防火墙并添加自己的规则]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/135148877</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/135148877</guid><author>red_eye</author><pubDate>Fri, 22 Dec 2023 11:16:08 +0800</pubDate><description><![CDATA[需要 import Component-> NetFwTypeLib 引入到项目中，才可以控制windows防火墙;]]></description><category></category></item><item><title><![CDATA[Windows 使用 Chocolatey 来为用户提供自动升级功能]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/130577121</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/130577121</guid><author>red_eye</author><pubDate>Tue, 09 May 2023 11:57:47 +0800</pubDate><description><![CDATA[使用包管理器：如果你的命令行程序已经被打包成了一个可通过包管理器安装的软件包，那么你可以考虑使用该包管理器的自动升级功能。发布你的 Chocolatey 包：最后，你需要将你的 Chocolatey 包发布到一个公共的 Chocolatey 软件包仓库，例如 chocolatey.org。发布你的程序：你需要将你的程序发布到一个可以被访问的位置，例如，一个公共的 URL 或者一个本地文件夹。测试你的程序：在发布你的程序之前，你需要测试你的程序，确保它能够正确地被安装和卸载，并且能够升级到最新版本。]]></description><category></category></item><item><title><![CDATA[使用Delphi XE HttpClientComponent 发起HTTP请求]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/130373102</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/130373102</guid><author>red_eye</author><pubDate>Tue, 25 Apr 2023 20:16:15 +0800</pubDate><description><![CDATA[需要注意的是，System.Net.HttpClientComponent默认是异步请求，如果需要使用同步请求，可以设置HttpClient的SynchronizedEvents属性为True，然后在OnRequestCompleted事件中获取响应内容。System.Net.HttpClientComponent是Delphi XE8及更高版本中引入的一个网络库组件，它提供了简单易用的HTTP请求和响应功能。]]></description><category></category></item><item><title><![CDATA[Moromot TWinHttpAPI 类的一些常见用法]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/130361893</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/130361893</guid><author>red_eye</author><pubDate>Tue, 25 Apr 2023 11:59:54 +0800</pubDate><description><![CDATA[这段代码创建了一个TWinHttpAPI对象，设置请求头和请求参数，使用Post方法发送HTTP POST请求，并在处理完响应后释放对象。这段代码创建了一个TWinHttpAPI对象，并设置了代理服务器信息，使用Get方法发送HTTP GET请求，并在处理完响应后释放对象。这段代码创建了一个TWinHttpAPI对象，使用Get方法发送HTTP GET请求获取响应数据，并在处理完响应后释放对象。这些只是TWinHttpAPI类的一些基本用法，更多详细的用法可以参考Moromot框架的文档和示例代码。]]></description><category></category></item><item><title><![CDATA[python爬取网页数据 定义字体的处理]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/129946472</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/129946472</guid><author>red_eye</author><pubDate>Tue, 04 Apr 2023 10:16:38 +0800</pubDate><description><![CDATA[在爬取网页数据时，有些网站使用了特殊的字符编码或自定义的字体来显示文本，这可能会导致爬取到的文本出现乱码或无法正确显示。在这个示例中，我们首先下载了字体文件并解析了字体映射表。然后，我们从包含编码的文本中提取编码，并将其转换为Unicode编码。对于自定义字体，我们需要先获取到字体文件，并解析出字体映射表。然后，我们可以通过解析字体映射表，将字体编码转换为Unicode编码，再使用。函数来还原HTML实体，其中包括HTML实体字符和数字实体字符。但是，对于自定义字体，函数将HTML实体还原为文本。]]></description><category></category></item><item><title><![CDATA[[delphi] EXE程序实现 DOS 命令行输入 -h 输出帮助信息]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/129893364</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/129893364</guid><author>red_eye</author><pubDate>Sat, 01 Apr 2023 10:11:53 +0800</pubDate><description><![CDATA[我想在一个delphi编译的EXE程序实现 DOS 命令行输入  XXX   -h 然后在提示一些命令行的参数使用信息。注意这个exe文件是带form窗口的，我并不想进入他的窗口中。使用ParamCount和ParamStr函数来判断命令行参数是否为-h，如果是，则在控制台输出帮助信息，否则启动带有form的程序。同时，需要使用AllocConsole函数来创建一个控制台窗口，以便在控制台输出信息。注意：上述代码中需要在使用Windows单元之前先使用Forms单元，否则会报错。]]></description><category></category></item><item><title><![CDATA[我delphi程序只有一个Datamodule,如何在运行时在任务栏显示图标？]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/129865910</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/129865910</guid><author>red_eye</author><pubDate>Thu, 30 Mar 2023 20:26:03 +0800</pubDate><description><![CDATA[在这个示例代码中，我们在DataModule的OnCreate事件中设置Application.ShowMainForm为False，以便隐藏主窗口，并将Application.MainFormOnTaskbar设置为True，以便在任务栏中显示主窗口的图标。如果您的Delphi程序只有一个DataModule，您可以将Application.MainFormOnTaskbar属性设置为False，并在DataModule的OnCreate事件中创建一个空白的主窗口，以便在任务栏中显示图标。]]></description><category></category></item><item><title><![CDATA[delphi Mormot 2.0 代码升级注意事项]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/129836068</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/129836068</guid><author>red_eye</author><pubDate>Wed, 29 Mar 2023 14:24:46 +0800</pubDate><description><![CDATA[需要注意的是，在进行升级之前，建议先阅读 V2.0 的文档和变更日志，了解新版本的特性和变化，以便更好地进行升级。ORM 单元：Mormot V2.0 对 ORM 的实现进行了改进，包括更好的支持 JSON 数据、更好的错误处理和调试支持等，需要对现有的 ORM 单元进行修改，以适应新的 API 和功能。Web 服务单元：Mormot V2.0 引入了新的 SynDBExplorer UI 框架和更好的错误处理和调试支持，需要对现有的 Web 服务单元进行修改，以适应新的 API 和功能。]]></description><category></category></item><item><title><![CDATA[umi 框架如何实现跨域请求？]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/129834412</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/129834412</guid><author>red_eye</author><pubDate>Wed, 29 Mar 2023 12:32:37 +0800</pubDate><description><![CDATA[这个配置将会把所有以 `/api` 开头的请求转发到 `http://example.com` 主机上。`changeOrigin` 选项表示是否改变请求的源地址，以便服务器收到的请求头中的 `Host` 字段正确。在组件中使用 `umi-request` 发起跨域请求时，只需要将请求的地址设置为相对于代理地址的路径即可。在这个示例中，`/api/users` 会被转发到 `http://example.com/api/users`。在 umi 中，你可以通过配置 `proxy` 来实现跨域请求。]]></description><category></category></item><item><title><![CDATA[delphi 程序中如何把base64图片编码转存到dataset中？]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/129711818</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/129711818</guid><author>red_eye</author><pubDate>Wed, 22 Mar 2023 15:55:26 +0800</pubDate><description><![CDATA[delphi 程序中如何把base64图片编码转存到dataset中？]]></description><category></category></item><item><title><![CDATA[delphi如何把json传递过来的base64值转成图片]]></title><link>https://blog.youkuaiyun.com/red_eye/article/details/129634709</link><guid>https://blog.youkuaiyun.com/red_eye/article/details/129634709</guid><author>red_eye</author><pubDate>Sat, 18 Mar 2023 11:51:46 +0800</pubDate><description><![CDATA[delphi如何把json传递过来的base64值转成图片]]></description><category></category></item></channel></rss>