自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 拒绝 UI 卡死!我用 CSnakes 实时拦截 Python 训练流,在 WPF 中重构了 ScottPlot 5 高性能 AI 看板

最后利用 ScottPlot 5 与自研的帧率削峰逻辑,让数据流不论冲得有多高、多急,最终都会像水流汇入水库一样,以 30 FPS 的完美姿态轻盈地展现给工业现场的终端用户。为了解决这一痛点,本文将公开 PyTrain Studio 中一套全栈解耦的“高频数据降频消费总线”:利用 CSnakes 日志捕获机制作为数据源头,配合 C# 异步通知通道,最终通过 ScottPlot 5 硬件加速与帧率削峰定时器,在 WPF 中实现即便每秒刷新数百次,UI 依旧纵享丝滑的工业级 AI 监控看板。

2026-07-11 15:28:23 187

原创 从“提示词玩具”到“认知操作系统”:Gliding Horse 如何重新定义 AI Agent

知识管理 CLAUDE.md + MEMORY.md + skills(被动) AGENTS.md + codex.md Skills 插件(73 官方+52 内置) 自进化 Skill 闭环(agentskills.io,~/.hermes/skills/) 技能图谱 + 知识图谱 + 自进化 Batch Agent。架构的核心思想是:编排器决定“谁在什么时候干什么”,上下文引擎决定“LLM 看到什么”,而其他所有模块——感知、记忆、知识、工具、质量——都是为这两个核心供血的循环系统。

2026-07-11 15:27:43 239

原创 给 FastApiAdmin 加个“会议纪要”模块,我把后端二次开发的坑踩了个遍

次我们终于把 FastapiAdmin 跑起来了,界面真不错,RBAC、菜单管理、日志监控一应俱全。心想这得省多少事啊。但接下来需求来了:“加个会议纪要模块呗,能增删改查就行。你盯着文件夹看了半小时,根本不知道第一行代码该写在哪。最后我也是硬着头皮翻了N个源码文件,才摸清它的“脾气”。📌 本文能帮你解决什么✅ 看懂 FastapiAdmin 后端的真实目录结构(和你想的不一样)

2026-07-10 16:19:55 210

原创 AI 学习笔记:Agent 的应用演示

用户提供了长文本或文档链接,并希望“总结”“提取要点”文档内容较长(如技术文档、需求说明、方案文档等)用户希望获得结构化输出,而非自由文本总结输入内容较短,可直接处理用户明确要求逐字分析或详细解读输入内容不具备清晰语义结构。

2026-07-10 16:19:21 187

原创 Java反射机制——运行时“透视“类的秘密

在运行时,它们能创建一个类的对象、调用它的方法,甚至修改私有字段的值——而这一切,事先根本不知道这个类是什么!System.out.println(“方法 " + method.getName() + " 被调用了”);作为学习者,理解反射的原理,是阅读Spring源码、理解动态代理、掌握AOP的必经之路。学Java面向对象时,老师常说:“先定义类,再创建对象,然后调用方法。// 方式3:Class.forName()(动态加载,最灵活)一句话概括:在运行时动态地获取类的信息,并操作类或对象的能力。

2026-07-09 18:19:08 190

原创 嵌入式应用开发笔记之web端设备控制台

嵌入式设备提供RS232的调试串口,通过这个串口登录到系统中,然后可以进行一些准备工作,比如修改网路设置,因为我需要使用ssh进行宿主机和设备端的连接,并且web服务器也需要解决网络问题。宿主机可以联网,设备端暂时无法联网,所以需要额外的软件就需要先在宿主机编译源码,然后再scp到设备端,比如lighttpd和sqlite3,设备端本身是没有的。docker容器部署在宿主机,安装了必要的软件开发包和编译器,并且添加了异质架构,支持arm64,armhf交叉编译。

2026-07-09 18:18:28 224

原创 DeepAgents - 使用Postgres作为Checkpoint

一到生产环境——服务重启状态全丢、多实例部署无法共享——就该上 Postgres 了。本文记录我在一个基于 FastAPI 的项目中,用做持久化 checkpoint 的过程,顺带聊聊连接池的配置和 PG 服务端 idle 超时带来的坑。

2026-07-08 16:37:57 177

原创 GNU GCC 多版本函数扩展

多版本函数指的是可以为同一个函数在不同的处理器平台或者指令集下编写不同的实现,程序在运行时会自动选择一个最合适的实现作为这个函数真正运行的实体。文字解释可能比较抽象,我们拿具体的cpp代码举个例子:int foo ()return 0;// 注意这里,指针和通过函数名应该调用相同的函数return 0;在例子中我们编写了4个foo。

2026-07-08 16:37:18 197

原创 Prefill 与 Decode 全流程科普详解

大模型和你聊天,从来不是“边读边写”,而是先精读吃透、再慢写输出的精密流水线:Prefill决定模型理解深度和首字速度,Decode决定回答长度和阅读流畅度。

2026-07-07 16:44:54 273

原创 Triton学习 · Part 1 · Hello, world!

这里没有使用NVIDIA Triton Docker容器,而是直接使用了。

2026-07-07 16:44:11 185

原创 keycloak~实现OAuth 2.0 Token Exchange

当keycloak中的本地用户,它的用户名与wso2的token中sub(类型于uuid)同名时,你的wso2交换token将无法完成,因为在交换token时,它会将wso2中sub作为用户名写到keycloak本地用户表,当写时有重复时,会出现错误,如下。4 获取token时,audience的值写成了wso2客户端ID,这个应该省略,或者用keycloak的client_id,但一般这个值是在basic认证中写的。由于交换token是后端完成的,所以是无交互的动作,这时你在idp中定义的。

2026-07-06 16:47:41 238

原创 Python批量图片拼接脚本:支持行列布局、最后一行居中、自然排序

平时写论文、做报告或者整理素材时,经常需要把多张图片拼成一张大图。试过不少在线工具和本地软件,要么是没法批量处理,要么是最后一行图片没填满时就左对齐,空出一大块特别丑。最后一行自动居中:没填满的行不会傻呵呵左对齐,视觉上更平衡自然排序:确保1.jpg2.jpg10.jpg按数字顺序排,不会出现1, 10, 2的尴尬保留原图质量:支持DPI、色彩模式继承,JPG会设最高质量灵活配置:行数、列数、每组几张图、底部留白都能改这是脚本最实用的部分。

2026-07-06 16:47:08 199

原创 Java AI 框架三国杀:Solon AI vs Spring AI vs LangChain4j 深度对比

2026 年的 Java AI 开发,不是 "谁取代谁" 的故事。Spring AI是 Spring 生态的 AI 标准答案。如果你是 Spring Boot 的忠实用户,选它不会有错。2.0 GA 发布后,其成熟度将再上一个台阶——但也要准备好迎接 Boot 4 + Jackson 3 的升级潮。是生态最广的 Java AI 工具箱。30+ 向量存储、声明式 API、Red Hat/Microsoft 双企业背书,适合追求广度和社区规模的团队。Solon AI是 Agent 原生深度最强的全场景框架。

2026-07-05 16:10:38 193

原创 从零学习Kafka:生产者压缩

说到压缩,第一个问题一定是 Kafka 在哪里进行压缩,又是在哪里进行解压的?我不卖关子,直接告诉你答案,Kafka 通常在 Producer 端进行压缩,在 Broker 端保持,到了 Consumer 端解压。除了 Producer 端压缩之外,Broker 端也是可以进行压缩的,但这种情况并不常见。具体情况我们在下一节再聊。在 Producer 端开启压缩的方法也很简单,我们在设置 Producer 属性时,增加 参数即可,例如我们在 Producer 端启用 gzip 压缩,就可以这样设置:

2026-07-05 16:10:02 213

原创 使用AI摘要来压缩上下文消息

snownlp专门做中文的文本处理,内置自动摘要功能,体积小且速度快。"""自动生成摘要:param text: 原文:param limit: 提取几条摘要(默认2条):return: 摘要句子列表"""return s.summary(limit) # 自动提取关键句# 测试text = """火山方舟是火山引擎推出的大模型平台,提供模型训练、推理、评测、精调等全方位功能与服务。平台支持多种主流大模型接入,具有稳定可靠、安全互信的特点。

2026-07-04 19:14:50 175

原创 RM500U 5G模块debug及拨号上网测试

备注: 由于 RM500U 5G 模块的 PDP 上下文 ID 范围为 1~8,但使用 PCIe 通讯时最多支持前 4 路拨号,因此本案例使用范围为 1~4 的 PDP 上下文 ID。通过AT指令:AT+QENG="SERVINGCELL", 可查看 5G 模块当前的组网模式是否处于 NR5G 模式,下面是以两路拨号为例, 演示如何进行多路拨号 , 请参考“单路拨号”步骤完成 pcie0 拨号上网后,执行如下命令进行 pcie1 拨号。AT+QCFG="pcie/mode" ##查询5G模块工作模式。

2026-07-04 19:14:17 266

原创 GoF设计模式——中介者模式

本质:用一个中介对象封装多个对象之间的交互,将网状依赖转化为星形结构。什么时候用多个对象之间存在复杂的网状依赖关系需要集中管理对象间的交互规则想要降低对象间的耦合度,提高可维护性什么时候不用对象之间只有简单的两两交互,引入中介者反而增加复杂度性能要求极高,中介者转发消息的开销不可接受中介者本身会变得过于庞大复杂(上帝对象)简单记忆:中介者管协调,同事只管报;规则集中改,耦合自然少。

2026-07-03 20:06:57 237

原创 大模型学习9-LangChain核心概念详解

基础介绍LangChain于2022年10月作为面向LLM应用开发的开源项目发布,最初主要适配GPT-3,并在同年11月30日ChatGPT发布后迅速跟进,持续扩展以支持更多模型。其核心优势在于模块化设计,将复杂的LLM开发拆解为可复用组件,使开发者能够灵活组合。基于这一设计,LangChain不仅能够实现广为人知的RAG,还支持智能体、流程编排、工具调用以及多模型协作等功能,展现出良好的可扩展性。

2026-07-03 20:06:14 222

原创 AScript - C#轻量级动态脚本引擎

语法支持执行模式多层级上下文宿主集成 1 // NuGet: Install-Package AScript 2 using AScript; 3 var script = new Script(); 4 var result = script.Eval("5+8*6"); // 53 5 6 // 定义函数 7 string code = @" 8 int sum(int a, int b)=>a+b; 9 int n=10;10 sum(n,

2026-07-02 21:15:01 252

原创 理解PDF的设计哲学,省下一半的编辑时间

老老实实"导出→改源文件→重新生成",别幻想原地改。PDF = 数字世界的"相纸",擅长"给你看",不擅长"让你改"PDF用的是绝对定位 + 字体/图片内嵌,渲染时不靠外部东西。用户要编辑,就让他导出→改→重新生成,别试图原地动刀。它更像一张"数字相纸"——只管长啥样,不管你怎么改。PDF由一堆互相引用的对象构成,直接改容易破坏结构。因为它像施工图纸:按坐标画,不需要"理解"内容。因为纸张不知道什么叫"段落",它只认位置。把PDF当"输出格式",别当"中间格式"。改一个字,后面的不会自动跟上。

2026-07-02 21:14:07 176

原创 【节点】[Arctangent2节点]原理解析与实际应用

Arctangent2函数,通常表示为atan2(y, x),是反正切函数的一个变体,它接受两个参数而不是一个。当x > 0时,atan2(y, x) = arctan(y/x)当x < 0且y ≥ 0时,atan2(y, x) = arctan(y/x) + π当x < 0且y < 0时,atan2(y, x) = arctan(y/x) - π当x = 0且y > 0时,atan2(y, x) = π/2当x = 0且y < 0时,atan2(y, x) = -π/2。

2026-07-01 20:03:20 237

原创 Lua--table、模块、元表与元方法、面向对象

- 定义一个模块-- 为模块添加一个变量-- 为模块添加函数end-- 以匿名函数的方式为模块添加一个函数return a*bend-- 定义一个全局变量(与模块无关)-- 定义一个局部函数(与模块无关)end-- 定义一个全局函数(与模块无关)end将以上文件保存为rectangle.lua可以将元素单独定义为一个文件。文件中仅可定义一个元表,且一般文件名与元表名称相同。若一个文件要使用其他文件中定义的元表,需要使用require "元表文件名" 即可。

2026-07-01 20:02:17 234

原创 高中生接入经典模板引擎!让单片机跑上动态网页,通吃 MicroPython/CPython

今天给大家带来一个轻量模板引擎 —— utemplate!它纯 Python 实现,仅 10KB 大小,零依赖、无需编译,直接丢进任何 MicroPython 开发板就能跑,还兼容标准 CPython,让你轻松在单片机上做动态网页!

2026-06-29 19:16:20 187

原创 基于祖暅原理推导球体体积

暅原理指出:“即夹在两个平行平面之间的两个几何体,若在任意等高处的水平截面积均相等,则这两个几何体的体积必定相等。

2026-06-29 19:15:39 221

原创 DeepAgents - 使用Postgres作为Checkpoint

用 deepagents 做 Chatbot 的时候,有个最基本的需求:Agent 得记住上一轮聊了什么。你不能每轮对话都让用户重新自我介绍一遍。LangGraph / DeepAgents 内置了一个叫 checkpoint 的机制来处理这个事。开发阶段用跑跑 demo 问题不大,但一到生产环境——服务重启状态全丢、多实例部署无法共享——就该上 Postgres 了。本文记录我在一个基于 FastAPI 的项目中,用。

2026-06-28 19:08:22 231

原创 GNU GCC 多版本函数扩展

版本函数指的是可以为同一个函数在不同的处理器平台或者指令集下编写不同的实现,程序在运行时会自动选择一个最合适的实现作为这个函数真正运行的实体。文字解释可能比较抽象,我们拿具体的cpp代码举个例子:

2026-06-28 19:07:37 181

原创 C# SwaggerLoginAuthPlugin 一款给Swagger文档加登录页面的小插件

/swagger登录密码。//swagger登录账户。//在UseSwagger前注册SwaggerAuth中间件。//需要您的项目非最小 api。//需要您的项目非最小 api。运行您的项目,在访问您的swagger地址时会被拦截。

2026-06-23 16:30:08 225

原创 Steamworks 多语言元数据管理:从手动维护到结构化工作流

Steamworks 多语言元数据管理的核心挑战在于如何高效维护大量的多语言内容。通过结构化的数据模型、人性化的文件存储和自动化的转换导出流程,我们可以将这个繁琐的过程转变为可管理的内容创作工作流。这套方案在 HagiCode 项目的实践中证明是有效的。我们从一个手动维护、容易出错的状态,转变为一个结构化、可验证、可协作的工作流程。这不仅提高了效率,也减少了人为错误。毕竟,工具做好了,事情也就简单了。

2026-06-23 16:29:20 293

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除