- 博客(27)
- 收藏
- 关注
原创 .NET 高级开发 | i18n 原理、实现一个 i18n 框架
由于数据会被缓存到本地,所以该扩展库可以实时更新多语言数据,同时保持高性能。框架会扫描程序集目录的 json 文件,然后解析 json 文件以键值对的形式存储到内存中,Key 的形式与第三章中提到的 IConfiguration 的 Key 一致,在第四章中也提到了如何解析 json 文件,比如要取得商品名称的值,可以使用。在本章中,讲解了如何编写一个全球化语言的类库,其实现比较简单,也许并不满足业务系统的需求,那么你可以根据本章的内容,结合业务系统的需求,实现一个更好用的 i18n 类库。
2026-04-08 13:37:47
420
原创 用300行代码手写SpringBoot核心原理 _
有了以上步骤,我们还差了一个关键步骤,就是Spring要能解析到WebServiceAutoConfiguration这个自动配置类,因为不管这个类里写了什么代码,Spring不去解析它,那都是没用的,此时我们需要SpringBoot在run方法中,能找到WebServiceAutoConfiguration这个配置类并添加到Spring容器中。SPI的配置就完成了,相当于通过com.seven.springboot.AutoConfiguration文件配置了springboot中所提供的配置类。
2026-04-08 13:37:00
405
原创 AI时代如何临摹项目:Vault跨项目持久化存储系统
知识集中管理:所有学习资源集中在一个地方,不再散落各处AI上下文自动注入:AI助手能够自动理解可用的学习资源,无需手动提供上下文跨项目知识复用:多个学习项目之间可以共享和复用知识标准化目录结构:提供一致的目录结构,降低学习成本这套方案在HagiCode项目中已经经过了实际验证。如果你也在做AI辅助开发相关的工具,或者面临类似的知识管理问题,希望这些经验能给你一些参考。其实技术方案的价值不在于有多复杂,而在于能不能解决实际问题。
2026-04-07 13:25:41
327
原创 MacBook Air 本地运行大语言模型(LLM)
llama.cpp已经废弃了原来的Makefile编译方式,改用CMake,下面是MacBook Air专属的编译命令,自动启用Metal GPU加速,低功耗的关键就在这一步!给大家准备了专属脚本,实现一键启动、停止、重启、查看状态,适配你的MacBook Air,无需修改任何内容。避坑提醒:models目录下原有「ggml-vocab-xxx.gguf」文件,只是词表(相当于词典),不是完整模型,不能直接使用,别搞错啦!不用安装复杂环境,只需准备2个核心依赖,全程终端操作,简单易上手。
2026-04-07 13:24:59
740
原创 MongoDB EF Core 提供程序中的可查询加密和向量搜索
ngoDB Entity Framework (EF) Core 提供程序自 2024 年 5 月起正式发布。自发布以来,我们欣喜地看到 .NET 开发人员社区给予了积极的反馈,并且该提供程序在各种应用程序中得到了越来越广泛的采用。该提供商使开发人员能够利用 LINQ 查询、更改跟踪和乐观并发等 EF Core 功能,将 MongoDB 无缝集成到他们的 .NET 项目中,同时利用 MongoDB 的灵活性和可扩展性。我们持续增强提供程序的功能,
2026-04-06 13:28:13
244
原创 通过 C# 复制 Word 文档、指定段落、指定节
通过以上三种方法,你可以灵活应对各种 Word 文档内容复制的需求,无需手动操作,大幅提升处理效率。路径问题:代码中的文件路径需替换为实际路径,建议使用绝对路径或确保相对路径正确。索引越界:在提取指定段落或节时,务必确认索引值在有效范围内,否则会引发异常。资源释放:操作完成后及时调用Dispose()或Close()释放资源,避免文件被锁定。格式保留Clone()方法是保留原始格式的关键,切勿直接引用原对象。批量处理:上述代码稍作修改即可循环处理多个文档,实现批量复制。
2026-04-05 14:18:55
259
原创 Transformer 从零开始
Decoder-only (Causal): 当前,经过 Scaling Laws 验证。BATCH_SIZE 4, 可以改 32,如果显存够大。Encoder-Decoder: 原始,适合 Seq2Seq 任务。之后是概括,给一些关键词。基此问一下 AI,能得到更好的回答呢。这些进化线相互配合,才有了今天又长、又快、又强的 LLM。例如,DeepSeek 归纳了 5 条核心进化线,KV Cache 优化,
2026-04-05 14:18:16
175
原创 图像纯化与抗纯化相关工作
与 ���� 相比, ���� 受梯度问题的影响较小,因此 ���� 的目标可以更精确和稳定地优化,但它不能解决 ���� 的梯度问题。另一方面, ���� 的优化有利于 ���� 的优化,因为 ���� 可以诱导图像的重构偏离,从而具有更大的误分类概率。我们首先将输入 �0 馈送到基于扩散的净化过程,并依次存储扩散过程中的中间样本 �1,�2,...,�� 和反向过程中的 ��′,��−1′,...,�0′。更正式地,令 ��,��′ 分别表示扩散过程和反向过程中时间步 � 的样本。
2026-04-04 14:37:08
420
原创 Agent 的能力体系
考虑到 LLM 的核心训练机制是在高维参数空间中寻找一个在给定数据分布上表现足够好的函数近似,它的具体推理过程永远都是在根据某一概率分布来输出下一个文本单元(在专业术语中,我们称之为“Token”,关于这个单位的具体计算方法,读者可参考我稍后在“参考资料”一节中所提供的视频教程:《关于 Token 的科普》)。:接入 MCP 服务意味着我们所使用的 Agent 应用已从简单的“LLM + 提示词”结构,变成了“LLM + MCP + 外部服务/工具”的复杂结构,这无疑会增加应用的部署与维护难度。
2026-04-04 14:36:25
398
原创 ArcPy 脚本:批量生成郑州市 1990-2019 年空间分析结果(核密度、热点、平均中心、标准差椭圆)
在城市研究中,我们常常需要分析多年数据的空间分布模式,比如建筑物高度在郑州市的聚集情况、热点区域变化、整体中心位置迁移以及分布方向趋势。如果每年手动在 ArcGIS 中运行四种空间分析工具,会非常耗时且容易出错。这个脚本就是为了解决这个问题而写的——它能自动批量处理 1990 到 2019 共 30 年的数据,一键生成四类分析结果,让你把精力放在结果解读上,而不是重复操作上。
2026-04-03 15:01:59
338
原创 用户智能体交互协议AG-UI(上)
我们之前已经学习了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 客户端已启动");
2026-04-03 15:01:09
397
原创 Ubuntu20.04 安装声卡驱动
较新的 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)。
2026-04-02 15:37:12
364
原创 C++ 封装 C FFI 接口最佳实践:以 Hugging Face Tokenizer 为例
public:// 编译器自动生成:// - 析构函数(调用 Deleter)// - 移动构造 / 移动赋值// - 禁止拷贝(因为 unique_ptr 不可拷贝)// 其他接口方法// 向量化private:if (p) {delete p;if (!handle) {
2026-04-02 15:36:32
404
原创 Flink Agents 源码解读 --- (7) --- AgentsExecutionEnvironment
AgentsExecutionEnvironment 的代码如下。本地执行环境实现集成自 AgentExecutionEnvrionment,为本地测试和开发提供执行环境不依赖 Flink 集群,可以在本地环境中运行和调试代理数据源支持通过from_list方法支持从列表数据源读取输入数据。
2026-04-01 15:34:57
378
原创 没有前端后,我把 MCP 做进了 Chats 1.7.0 AI 网关
1.7.0 在工具调用的事件与消息结构上做了比较大的增强:SSE 事件更丰富、消息内容里新增了工具请求/响应的类型,前端能把“调用了什么工具、传了什么参数、拿到了什么结果”以更清晰的方式展示出来。这件事看起来偏“体验”,但它会直接影响你是否愿意在真实业务里用工具调用:当工具一多、调用链一长,如果 UI 只是一坨 Markdown 混在一起,那基本等于不可用。
2026-04-01 15:34:03
379
原创 TryHackMe-SOC-Section 7:网络安全监控
网络边界是将组织内部网络(可信区域,例如员工、服务器、业务应用程序)与外部互联网(非可信区域)分隔开来的界限。网络边界是您的第一道也是最关键的防线。这些日志由位于网络中的网络设备生成,这些设备监控流经网络的流量。它是一个有组织的结构,网络资产通过该结构连接起来,实现彼此之间以及与世界的通信、资源共享和连接。现在我们已经了解了什么是网络,哪些组件连接起来形成网络,以及它们的用途和重要性,让我们进入下一个任务,探索关键的网络边界。为了实现这一目标,我们主要依赖日志,日志记录了网络内部和各个设备上发生的事件。
2026-03-31 16:01:29
388
原创 shiro--身份授权的基本流程
/ 在构造函数中修改密码比较器// 指定密码匹配方式sha1// 指定密码迭代次数// 使用父层方法是匹配方式生效/**** 鉴权方法* @return*/@Override// 拿到用户凭证信息// 从数据库中查询对应的角色和权限// 构建资源校验对象/**** 认证方法* @return*/@Override// 获取登录名throw new UnknownAccountException("账号不存在!
2026-03-31 16:00:45
48
原创 你的接口很好,但在使用者眼里,它可能只是个打不开的黑盒
上述命令是从 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,并添加如下内容。如果显示以上目录结构,则说明最小系统环境安装成功。
2026-03-30 15:53:34
188
原创 搞定多模态微调只需一杯咖啡的时间?FC DevPod + Llama-Factory 极速实战
在实际使用中该控件主要用于整型或浮点的计数显示,与普通的LineEdit组件不同,该组件可以在前后增加特殊符号并提供了上下幅度的调整按钮,灵活性更强。接下来将用一个简单的案例展示如何使用 QSpinBox组件,该组件有两个版本:QSpinBox用于展示单精度浮点数,而QDoubleSpinBox() 则可以展示精度更高的数值,需要注意的是,该组件有两个特殊参数,当使用setPrefix() 时可以指定在前方加入特殊符号,而使用 setSuffix() 时则可以在后方追加特殊符号,我们就可以后方追加为例。
2026-03-30 15:46:37
154
原创 基于LangGraph开发复杂智能体一则
printf("Q位状态:%s\n", is_q_flag_set()?"溢出(置1)" : "未溢出(置0)");优先使用 ARM GCC 内置函数(如__qadd),深入调试可通过汇编操作 Q 位,检测溢出需读取 APSR 的 Bit27;printf("32位饱和加法结果:%d(预期:2147483647)\n", res1);运算结果超出目标数据类型的数值范围(上限 / 下限) 时,结果被 “钳位” 到该类型的极值;
2026-03-29 17:18:51
348
原创 搞定多模态微调只需一杯咖啡的时间?FC DevPod + Llama-Factory 极速实战
在实际使用中该控件主要用于整型或浮点的计数显示,与普通的LineEdit组件不同,该组件可以在前后增加特殊符号并提供了上下幅度的调整按钮,灵活性更强。接下来将用一个简单的案例展示如何使用 QSpinBox组件,该组件有两个版本:QSpinBox用于展示单精度浮点数,而QDoubleSpinBox() 则可以展示精度更高的数值,需要注意的是,该组件有两个特殊参数,当使用setPrefix() 时可以指定在前方加入特殊符号,而使用 setSuffix() 时则可以在后方追加特殊符号,我们就可以后方追加为例。
2026-03-29 17:17:12
237
原创 使用_mm_stream_si128加速 Memory-Bound(内存受限)类算法的执行速度。
set_target_properties(mypass2 PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) #---->修改 项目名称。set(LLVM_DIR "D:/LLVM/llvm-project/build/lib/cmake/llvm")#---->修改 llvm cmake配置路径。target_compile_options(mypass2 PRIVATE /utf-8)#---->修改 项目名称,文件名。
2026-03-28 19:26:16
171
原创 使用_mm_stream_si128加速 Memory-Bound(内存受限)类算法的执行速度。
set_target_properties(mypass2 PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) #---->修改 项目名称。set(LLVM_DIR "D:/LLVM/llvm-project/build/lib/cmake/llvm")#---->修改 llvm cmake配置路径。target_compile_options(mypass2 PRIVATE /utf-8)#---->修改 项目名称,文件名。
2026-03-28 19:21:04
199
原创 人脸识别项目如何在Spring Boot项目中如何建立数据库和管理
转发 http://127.0.0.1:5001/numberLimit-static/numberLimit-static/css/style.css。proxy_pass转发: http://127.0.0.1:5001/numberLimit-static/css/style.css。浏览器请求: GET https://mathcoding.top/numberLimit-static/css/style.css。访问 https://mathcoding.top/numberLimit/?
2026-03-27 13:31:05
347
原创 【人工智能时代】-Dify绘图工具解析
langchain专门用于构建LLM大语言模型,其中提供了大量的prompt模板,和组件,通过chain(链)的方式将流程连接起来,操作简单,开发便捷。response = chain.invoke({"topic": "Python", "concept": "列表"})response = chain.invoke({"topic": "Python", "concept": "列表"})这是模型需要直接回答或处理的问题。("system", "你是一个精通{topic}的资深技术专家。
2026-03-27 13:30:24
207
原创 UEFI 中的杂项知识总结-Protocol Handle 机制的详细介绍
ExplorerTabUtility 是一款使用 C# 编写专为 Windows 11 文件资源管理器设计的增强型工具,开源免费(MIT license),旨在解决原生标签页功能在多窗口管理和工作流组织方面的不足。今天大姚给大家分享一款专为 Windows 11 打造的文件资源管理器增强工具:ExplorerTabUtility,它能够自动将新打开的资源管理器窗口转换为标签页,助您实现更简洁、更有条理的文件管理体验。如果文件资源管理器重启/崩溃或系统重启,自动恢复之前打开的 Windows。
2026-03-26 23:21:51
42
原创 ——从硬件准备到首次运行全攻略
然后需要注意的就是把cypher找对,有的是会给别的文件,有的是会让你自己去找,key有的时候也不会立马给你,所以要注意细节。然后就是最后怎么输出了,说实话这个我还是一知半解,即便问了ai也不知道该怎么进行输出。今天刚查出来大概就是由于是两个比特的原因,所以用如下的方式进行尝试,int main()对于这种要进行反解,目前我做的三个题目来讲,都是要把它给像逆运算一样。秸降逝瞎说实话今天做的内容不算太多,但是感觉很超出自己的承受范围。这个就是图片,有en和de两种模式。de是我自己写出来的。
2026-03-26 23:21:10
18
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅