<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[AHv12gWeC的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/AHv12gWeC</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; AHv12gWeC]]></copyright><item><title><![CDATA[.NET 高级开发 | i18n 原理、实现一个 i18n 框架]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159955393</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159955393</guid><author>AHv12gWeC</author><pubDate>Wed, 08 Apr 2026 13:37:47 +0800</pubDate><description><![CDATA[由于数据会被缓存到本地，所以该扩展库可以实时更新多语言数据，同时保持高性能。框架会扫描程序集目录的 json 文件，然后解析 json 文件以键值对的形式存储到内存中，Key 的形式与第三章中提到的 IConfiguration 的 Key 一致，在第四章中也提到了如何解析 json 文件，比如要取得商品名称的值，可以使用。在本章中，讲解了如何编写一个全球化语言的类库，其实现比较简单，也许并不满足业务系统的需求，那么你可以根据本章的内容，结合业务系统的需求，实现一个更好用的 i18n 类库。]]></description><category></category></item><item><title><![CDATA[用300行代码手写SpringBoot核心原理 _]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159955380</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159955380</guid><author>AHv12gWeC</author><pubDate>Wed, 08 Apr 2026 13:37:00 +0800</pubDate><description><![CDATA[有了以上步骤，我们还差了一个关键步骤，就是Spring要能解析到WebServiceAutoConfiguration这个自动配置类，因为不管这个类里写了什么代码，Spring不去解析它，那都是没用的，此时我们需要SpringBoot在run方法中，能找到WebServiceAutoConfiguration这个配置类并添加到Spring容器中。SPI的配置就完成了，相当于通过com.seven.springboot.AutoConfiguration文件配置了springboot中所提供的配置类。]]></description><category></category></item><item><title><![CDATA[AI时代如何临摹项目：Vault跨项目持久化存储系统]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159919420</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159919420</guid><author>AHv12gWeC</author><pubDate>Tue, 07 Apr 2026 13:25:41 +0800</pubDate><description><![CDATA[知识集中管理：所有学习资源集中在一个地方，不再散落各处AI上下文自动注入：AI助手能够自动理解可用的学习资源，无需手动提供上下文跨项目知识复用：多个学习项目之间可以共享和复用知识标准化目录结构：提供一致的目录结构，降低学习成本这套方案在HagiCode项目中已经经过了实际验证。如果你也在做AI辅助开发相关的工具，或者面临类似的知识管理问题，希望这些经验能给你一些参考。其实技术方案的价值不在于有多复杂，而在于能不能解决实际问题。]]></description><category></category></item><item><title><![CDATA[MacBook Air 本地运行大语言模型（LLM）]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159919408</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159919408</guid><author>AHv12gWeC</author><pubDate>Tue, 07 Apr 2026 13:24:59 +0800</pubDate><description><![CDATA[llama.cpp已经废弃了原来的Makefile编译方式，改用CMake，下面是MacBook Air专属的编译命令，自动启用Metal GPU加速，低功耗的关键就在这一步！给大家准备了专属脚本，实现一键启动、停止、重启、查看状态，适配你的MacBook Air，无需修改任何内容。避坑提醒：models目录下原有「ggml-vocab-xxx.gguf」文件，只是词表（相当于词典），不是完整模型，不能直接使用，别搞错啦！不用安装复杂环境，只需准备2个核心依赖，全程终端操作，简单易上手。]]></description><category></category></item><item><title><![CDATA[MongoDB EF Core 提供程序中的可查询加密和向量搜索]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159885702</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159885702</guid><author>AHv12gWeC</author><pubDate>Mon, 06 Apr 2026 13:28:13 +0800</pubDate><description><![CDATA[ngoDB Entity Framework (EF) Core 提供程序自 2024 年 5 月起正式发布。自发布以来，我们欣喜地看到 .NET 开发人员社区给予了积极的反馈，并且该提供程序在各种应用程序中得到了越来越广泛的采用。该提供商使开发人员能够利用 LINQ 查询、更改跟踪和乐观并发等 EF Core 功能，将 MongoDB 无缝集成到他们的 .NET 项目中，同时利用 MongoDB 的灵活性和可扩展性。我们持续增强提供程序的功能，]]></description><category></category></item><item><title><![CDATA[通过 C# 复制 Word 文档、指定段落、指定节]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159856293</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159856293</guid><author>AHv12gWeC</author><pubDate>Sun, 05 Apr 2026 14:18:55 +0800</pubDate><description><![CDATA[通过以上三种方法，你可以灵活应对各种 Word 文档内容复制的需求，无需手动操作，大幅提升处理效率。路径问题：代码中的文件路径需替换为实际路径，建议使用绝对路径或确保相对路径正确。索引越界：在提取指定段落或节时，务必确认索引值在有效范围内，否则会引发异常。资源释放：操作完成后及时调用Dispose()或Close()释放资源，避免文件被锁定。格式保留Clone()方法是保留原始格式的关键，切勿直接引用原对象。批量处理：上述代码稍作修改即可循环处理多个文档，实现批量复制。]]></description><category></category></item><item><title><![CDATA[Transformer 从零开始]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159856283</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159856283</guid><author>AHv12gWeC</author><pubDate>Sun, 05 Apr 2026 14:18:16 +0800</pubDate><description><![CDATA[Decoder-only (Causal): 当前，经过 Scaling Laws 验证。BATCH_SIZE 4, 可以改 32，如果显存够大。Encoder-Decoder: 原始，适合 Seq2Seq 任务。之后是概括，给一些关键词。基此问一下 AI，能得到更好的回答呢。这些进化线相互配合，才有了今天又长、又快、又强的 LLM。例如，DeepSeek 归纳了 5 条核心进化线，KV Cache 优化，]]></description><category></category></item><item><title><![CDATA[图像纯化与抗纯化相关工作]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159827910</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159827910</guid><author>AHv12gWeC</author><pubDate>Sat, 04 Apr 2026 14:37:08 +0800</pubDate><description><![CDATA[与 ���� 相比， ���� 受梯度问题的影响较小，因此 ���� 的目标可以更精确和稳定地优化，但它不能解决 ���� 的梯度问题。另一方面， ���� 的优化有利于 ���� 的优化，因为 ���� 可以诱导图像的重构偏离，从而具有更大的误分类概率。我们首先将输入 �0 馈送到基于扩散的净化过程，并依次存储扩散过程中的中间样本 �1,�2,...,�� 和反向过程中的 ��′,��−1′,...,�0′。更正式地，令 ��,��′ 分别表示扩散过程和反向过程中时间步 � 的样本。]]></description><category></category></item><item><title><![CDATA[Agent 的能力体系]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159827884</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159827884</guid><author>AHv12gWeC</author><pubDate>Sat, 04 Apr 2026 14:36:25 +0800</pubDate><description><![CDATA[考虑到 LLM 的核心训练机制是在高维参数空间中寻找一个在给定数据分布上表现足够好的函数近似，它的具体推理过程永远都是在根据某一概率分布来输出下一个文本单元（在专业术语中，我们称之为“Token”，关于这个单位的具体计算方法，读者可参考我稍后在“参考资料”一节中所提供的视频教程：《关于 Token 的科普》）。：接入 MCP 服务意味着我们所使用的 Agent 应用已从简单的“LLM + 提示词”结构，变成了“LLM + MCP + 外部服务/工具”的复杂结构，这无疑会增加应用的部署与维护难度。]]></description><category></category></item><item><title><![CDATA[ArcPy 脚本：批量生成郑州市 1990-2019 年空间分析结果（核密度、热点、平均中心、标准差椭圆）]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159798031</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159798031</guid><author>AHv12gWeC</author><pubDate>Fri, 03 Apr 2026 15:01:59 +0800</pubDate><description><![CDATA[在城市研究中，我们常常需要分析多年数据的空间分布模式，比如建筑物高度在郑州市的聚集情况、热点区域变化、整体中心位置迁移以及分布方向趋势。如果每年手动在 ArcGIS 中运行四种空间分析工具，会非常耗时且容易出错。这个脚本就是为了解决这个问题而写的——它能自动批量处理 1990 到 2019 共 30 年的数据，一键生成四类分析结果，让你把精力放在结果解读上，而不是重复操作上。]]></description><category></category></item><item><title><![CDATA[用户智能体交互协议AG-UI（上）]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159798008</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159798008</guid><author>AHv12gWeC</author><pubDate>Fri, 03 Apr 2026 15:01:09 +0800</pubDate><description><![CDATA[我们之前已经学习了MCP 和 A2A两个重要的协议了，加上AG-UI，它们共同组成了Agent的三大通信协议体系。Console.WriteLine("📍 端点地址: https://localhost:8443/");在MAF中提供了一个内置的AG-UI组件，我们可以非常方便地创建集成AG-UI的Agent应用。Console.WriteLine("🚀 AG-UI Server 已启动");Console.WriteLine("🚀 AG-UI 客户端已启动");]]></description><category></category></item><item><title><![CDATA[Ubuntu20.04 安装声卡驱动]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159764448</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159764448</guid><author>AHv12gWeC</author><pubDate>Thu, 02 Apr 2026 15:37:12 +0800</pubDate><description><![CDATA[较新的 Intel 声卡（如 Device 43c8）不再使用传统的 snd_hda_intel 驱动，而是依赖 SOF (Sound Open Firmware)。解决方法：请在 AlsaMixer 界面中，使用方向键向右移动到 PGA1.0 到 PGA31.0 的每一个通道上，然后按向上方向键将它们的音量全部拉满（变红）。这里是 sine（正弦波），它会发出类似“滴——”的长鸣音。在你的系统中，card 1 是 sof-hda-dsp（Intel 声卡）。0 是设备编号（Device ID）。]]></description><category></category></item><item><title><![CDATA[C++ 封装 C FFI 接口最佳实践：以 Hugging Face Tokenizer 为例]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159764428</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159764428</guid><author>AHv12gWeC</author><pubDate>Thu, 02 Apr 2026 15:36:32 +0800</pubDate><description><![CDATA[public:// 编译器自动生成：// - 析构函数（调用 Deleter）// - 移动构造 / 移动赋值// - 禁止拷贝（因为 unique_ptr 不可拷贝）// 其他接口方法// 向量化private:if (p) {delete p;if (!handle) {]]></description><category></category></item><item><title><![CDATA[Flink Agents 源码解读 --- (7) --- AgentsExecutionEnvironment]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159730138</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159730138</guid><author>AHv12gWeC</author><pubDate>Wed, 01 Apr 2026 15:34:57 +0800</pubDate><description><![CDATA[AgentsExecutionEnvironment 的代码如下。本地执行环境实现集成自 AgentExecutionEnvrionment，为本地测试和开发提供执行环境不依赖 Flink 集群，可以在本地环境中运行和调试代理数据源支持通过from_list方法支持从列表数据源读取输入数据。]]></description><category></category></item><item><title><![CDATA[没有前端后，我把 MCP 做进了 Chats 1.7.0 AI 网关]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159730110</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159730110</guid><author>AHv12gWeC</author><pubDate>Wed, 01 Apr 2026 15:34:03 +0800</pubDate><description><![CDATA[1.7.0 在工具调用的事件与消息结构上做了比较大的增强：SSE 事件更丰富、消息内容里新增了工具请求/响应的类型，前端能把“调用了什么工具、传了什么参数、拿到了什么结果”以更清晰的方式展示出来。这件事看起来偏“体验”，但它会直接影响你是否愿意在真实业务里用工具调用：当工具一多、调用链一长，如果 UI 只是一坨 Markdown 混在一起，那基本等于不可用。]]></description><category></category></item><item><title><![CDATA[TryHackMe-SOC-Section 7：网络安全监控]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159690384</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159690384</guid><author>AHv12gWeC</author><pubDate>Tue, 31 Mar 2026 16:01:29 +0800</pubDate><description><![CDATA[网络边界是将组织内部网络（可信区域，例如员工、服务器、业务应用程序）与外部互联网（非可信区域）分隔开来的界限。网络边界是您的第一道也是最关键的防线。这些日志由位于网络中的网络设备生成，这些设备监控流经网络的流量。它是一个有组织的结构，网络资产通过该结构连接起来，实现彼此之间以及与世界的通信、资源共享和连接。现在我们已经了解了什么是网络，哪些组件连接起来形成网络，以及它们的用途和重要性，让我们进入下一个任务，探索关键的网络边界。为了实现这一目标，我们主要依赖日志，日志记录了网络内部和各个设备上发生的事件。]]></description><category></category></item><item><title><![CDATA[shiro--身份授权的基本流程]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159690371</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159690371</guid><author>AHv12gWeC</author><pubDate>Tue, 31 Mar 2026 16:00:45 +0800</pubDate><description><![CDATA[/ 在构造函数中修改密码比较器// 指定密码匹配方式sha1// 指定密码迭代次数// 使用父层方法是匹配方式生效/**** 鉴权方法* @return*/@Override// 拿到用户凭证信息// 从数据库中查询对应的角色和权限// 构建资源校验对象/**** 认证方法* @return*/@Override// 获取登录名throw new UnknownAccountException("账号不存在！]]></description><category></category></item><item><title><![CDATA[你的接口很好，但在使用者眼里，它可能只是个打不开的黑盒]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159649786</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159649786</guid><author>AHv12gWeC</author><pubDate>Mon, 30 Mar 2026 15:53:34 +0800</pubDate><description><![CDATA[上述命令是从 kylin-minimal tar 包构建 docker 镜像。镜像名称为kylin-minimal，标签为v10。本文详细介绍如何使用 kylin v10 iso 文件构建出 docker image，docker 版本为 20.10.7。执行chroot /opt/kylin-minimal命令进入最小系统的根目录，执行ll命令查看目录结构。在/etc/yum.repos.d/下创建kylin-local.repo，并添加如下内容。如果显示以上目录结构，则说明最小系统环境安装成功。]]></description><category></category></item><item><title><![CDATA[搞定多模态微调只需一杯咖啡的时间？FC DevPod + Llama-Factory 极速实战]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159649641</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159649641</guid><author>AHv12gWeC</author><pubDate>Mon, 30 Mar 2026 15:46:37 +0800</pubDate><description><![CDATA[在实际使用中该控件主要用于整型或浮点的计数显示，与普通的LineEdit组件不同，该组件可以在前后增加特殊符号并提供了上下幅度的调整按钮，灵活性更强。接下来将用一个简单的案例展示如何使用 QSpinBox组件，该组件有两个版本：QSpinBox用于展示单精度浮点数，而QDoubleSpinBox() 则可以展示精度更高的数值，需要注意的是，该组件有两个特殊参数，当使用setPrefix() 时可以指定在前方加入特殊符号，而使用 setSuffix() 时则可以在后方追加特殊符号，我们就可以后方追加为例。]]></description><category></category></item><item><title><![CDATA[基于LangGraph开发复杂智能体一则]]></title><link>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159615223</link><guid>https://blog.youkuaiyun.com/AHv12gWeC/article/details/159615223</guid><author>AHv12gWeC</author><pubDate>Sun, 29 Mar 2026 17:18:51 +0800</pubDate><description><![CDATA[printf("Q位状态：%s\n", is_q_flag_set()?"溢出（置1）" : "未溢出（置0）");优先使用 ARM GCC 内置函数（如__qadd），深入调试可通过汇编操作 Q 位，检测溢出需读取 APSR 的 Bit27；printf("32位饱和加法结果：%d（预期：2147483647）\n", res1);运算结果超出目标数据类型的数值范围（上限 / 下限） 时，结果被 “钳位” 到该类型的极值；]]></description><category></category></item></channel></rss>