自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 问答 (1)
  • 收藏
  • 关注

原创 深度研究Agent架构解析:4种Agent架构介绍及实用Prompt模板

这几种架构并不是非此即彼的关系。Planner-Only适合入门,实现简单调试方便;加上评估器后系统变得更智能,但复杂度和成本也跟着上来;检查清单评分这类方案对长文档输出效果不错,值得在特定场景下尝试;而ROMA的递归思路理论上能处理更深层次的复杂查询,不过工程实现的门槛也更高。

2026-03-19 08:05:41 158

原创 LangGraph 入门:用图结构构建你的第一个多智能体工作流

编排框架在复杂系统中的价值已经被反复验证:Kubernetes 之于容器、Airflow 之于数据管道、Temporal 之于通用工作流。LangGraph 将同样的理念带入多智能体 AI 领域,提供了 LLM 感知的编排能力。其核心价值在于:图结构让工作流易于修改和扩展,检查点机制保障了可调试性和故障恢复,reducer 和原子状态更新解决了并行协调难题。开发者可以专注于智能体逻辑本身,而非协调管道的实现细节。

2026-03-19 08:01:10 197

原创 同事查日志太慢,我现场教他一套 awk、tail、grep、sed 组合拳

很多新手习惯用 ,但对于大文件, 会导致屏幕刷屏,还容易把终端卡死。 才是实时监控的神器。真实场景 A:服务发版启动监控每次发版重启服务时,我们都需要确认 Spring Boot 是否启动成功,或者有没有初始化报错。 真实场景 B:配合测试复现 Bug测试同学说:我现在点一下按钮,你看看后台有没有报错。此时不需要看历史日志,只需要盯着最新的输出。 less

2026-03-18 17:11:18 421

原创 关于谷歌内核的浏览器不能使用 Lodop 打印的解决方案

Chrome在94版本后引入了“阻止不安全的私有网络请求”(Block insecure private network requests)策略,并在后续版本中进一步强化了本地网络访问检查(Local Network Access Checks),这些安全机制会阻止浏览器访问本地打印服务,从而影响Lodop等本地插件的正常运行。随着谷歌浏览器(Chrome)版本的持续更新,部分高版本(如94版及142+版)因安全策略调整,可能导致本地打印插件Lodop无法正常使用。

2026-03-18 17:10:43 620

原创 从 jQuery → V/R → Lit:前端架构的 15 年轮回

如果选择学习 Lit / Web Components,理解前端的边界理解浏览器的能力。

2026-03-18 17:09:10 226

原创 MySQL B+树索引高度计算与性能阈值探讨

B+树索引高度计算:核心是「非叶子节点单页分支数^高度-1 × 叶子节点单页行数」,生产环境中高度基本为2~3;单表性能阈值:千万级(1000万~1亿)是通用的无性能衰减阈值,核心看索引高度和IO能力,而非绝对行数;性能优化的核心:保持索引高度≤3,提升缓冲池缓存命中率,超阈值后优先分库分表。

2026-03-17 22:16:27 398

原创 LaTeX学习笔记:开场白与索引

随着国内外高校和出版社对 LATEX����� 支持的日益完善,越来越多的中文论文、学位论文模板、科研报告乃至书籍排版都已经提供了相应的 LATEX����� 模板。在 TEX��� 的基础上开发出了 LATEX����� 这个新的排版系统(截至 2025 年,LATEX2e�����2� 目前仍为主流版本,但官方已在逐步过渡到 LaTeX3�����3)。对于科研工作者来说,LATEX����� 不仅是一种工具,更是一种思维方式:一旦掌握,你会发现它带来的不仅是排版的优雅,更是思考方式的变化。

2026-03-17 22:15:18 340

原创 APEX实战第8篇:ORDS连库报错574?一招根治用户过期问题

其实解决这个问题的核心很简单:给 ORDS_PUBLIC_USER 配置永不过期的密码策略,同时确保 ORDS 配置里的密码与数据库用户密码一致。完整流程可以简化为:定位用户 → 配置永不过期策略 → 重置密码 → 同步 ORDS 密码配置 → 重启 ORDS。建议大家在搭建 APEX + ORDS 环境时,就提前完成这两个用户(APEX_PUBLIC_USER、ORDS_PUBLIC_USER)的永不过期配置,避。

2026-03-16 23:45:14 383

原创 Flask页面跳转实战指南:五种方式与不同应用场景下的最佳选择

页面跳转是Web应用的“导航系统”,它决定了用户如何在不同页面间流动。在Flask中,跳转逻辑不仅影响用户体验,还关系到。(如部分更新、实时验证),使用fetch+window.location.href。一个合理的跳转策略能让应用如丝般顺滑,而混乱的跳转则会让用户迷失在加载圈中。表单提交后的页面跳转、用户认证后的定向、URL规范化等。完全由服务器控制,安全可靠,能处理复杂业务逻辑。这是最基础的前端跳转,直接在HTML中使用。决定请求类型(GET或POST)。这是Flask中最经典的跳转方式,通过。

2026-03-16 23:44:30 185

原创 AUC 的两种等价定义:从排序概率到 ROC 曲线的统一理解

从正样本集合中随机抽取一个样本,从负样本集合中随机抽取一个样本,正样本的预测分数大于负样本预测分数的概率。其数学形式为:�(⋅) 为指示函数当 ��=�� 时记为 0.5,表示随机打平若 ��≥�,预测为正类若 ��<�,预测为负类真阳性率(TPR)TPR(�)=TPP假阳性率(FPR)FPR(�)=FPN当阈值 � 从 +∞ 连续下降到 −∞ 时,点对 (FPR(�),TPR(�)) 在平面上形成一条曲线,即ROC 曲线。这是一个几何意义上的定义。

2026-03-15 13:34:46 372

原创 Flink源码阅读:双流操作

本文我们梳理了 Flink 的三种双流操作的源码,我们了解到 Window Join 底层是通过 CoGroup 实现的。CoGroup 本身是将两个流合并成 WindowedStream 并依赖于 WindowState 进行数据 join。最后 Interval Join 是通过 ConnectedStreams 实现的,内部的 IntervalJoinOperator。

2026-03-15 13:31:30 372

原创 Maven依赖错误排查指南

Maven是Java项目中最流行的构建工具之一,但在使用过程中经常会遇到各种依赖下载问题。本文档整理了常见的Maven依赖错误,提供了详细的排查步骤和解决方案,帮助您快速定位和解决问题。

2026-03-14 14:55:04 409

原创 Copilot Profiler Agent —— 分析任务交由 AI,应用性能不受影响

为了展示 Copilot Profiler Agent 的功能,让我们对一个广受欢迎的开源项目 CsvHelper 进行优化。您可以按照以下步骤操作:克隆我的代码仓库分支,然后通过“git checkout 435ff7c”命令切换到我修复之前的版本,我们将在下文详细介绍该修复。在我之前的一篇博客文章中,我添加了一个 CsvHelper.Benchmarks 项目,其中包含一个用于读取 CSV 记录的基准测试。这次我想看看我们是否可以优化 CSV 记录的写入。

2026-03-14 14:53:12 369

原创 Flink源码阅读:Watermark机制

Watermark 的定义非常简单,它继承了类,内部只有一个 timestamp 变量。= null@Override@Override本文我们一起梳理了 Watermark 相关的源码,从 Watermark 的定义,到 Watermark 的处理过程。处理过程分成了初始化、上游发送和下游处理三部分。在下游处理部分,关于触发窗口计算的部分我们简单带过了,后面会再详细介绍这部分。

2026-03-13 14:00:35 317

原创 手把手搞定FastAPI静态文件:安全、上传与访问

静态文件是那些内容固定、不经常改变的文件。它们对于构建一个完整的Web应用或API文档门户至关重要。静态文件是“读”,媒体文件则常涉及“写”(上传)。:如果你想提供单页应用(如Vue/React构建的产物),可以设置。务必使用一个独立的、权限明确的子目录(如。- 📁 FastAPI的“文件管家”:StaticFiles。目录下查找对应文件。它不是API路由,而是一个独立的子应用。- 挂载:将URL路径“挂载”到一个实际目录。最简单的方法:直接把它当成一个静态文件处理。- 🧪 实战演练:一个完整的示例应用

2026-03-13 13:59:05 239

原创 mysql索引 底层数据结构与算法

长期以来,软件行业之所以能够提供庞大的就业规模,与软件开发的特殊性有关。软件系统虽然抽象,但实现过程往往依赖大量人工编码,因此行业形成了一种典型结构:少量系统设计者,大量代码实现者。在新的结构中,大量负责实现业务代码的岗位可能减少,而系统设计、平台工程和复杂系统开发等岗位仍然存在,但数量相对有限。(只是简单推测),这些岗位所需的能力,与大量程序员原本积累的业务开发经验之间,并不总是直接对应。因此,行业真正培养出来的大规模技能并不是系统设计能力,而是:框架使用、业务实现、代码维护。

2026-03-12 20:09:05 169

原创 CMake构建学习笔记-使用通用脚本构建PROJ和GEOS

这大概就是我们决定深入研究 Codex SDK 事件流机制的原因——毕竟,只有理解了底层消息是怎么运作的,才能构建出真正企业级的 AI 执行平台。在开发过程中,我们需要构建可靠的 AI 执行服务来处理用户的代码执行请求,这正是我们引入 Codex SDK 的直接原因。其实,在构建基于 Codex SDK 的 AI 执行服务时,我们不得不面对这样一个问题:如何处理 Codex 返回的那些流式事件消息。理解这些事件类型并正确解析它们,对于实现功能完善的 AI 执行器来说,还是挺重要的。

2026-03-12 20:05:25 205

原创 鸿蒙应用开发从入门到实战(二十四):一文搞懂ArkUI网格布局

PHP 8.6 的部分函数应用允许你通过调用函数时传入部分参数,并用占位符表示剩余参数,来创建一个"预配置"的 callable。如你所见,我们通过部分应用 add4 函数创建了一个新的 callable $f,传入了部分参数,用占位符表示缺失的参数。// Closure 期望 (int $i,?function expensive(int $a, int $b, Point $c) { /* 耗时操作 */ }// Closure 期望 (string $s, int $i, Point $p)

2026-03-11 11:32:32 169

原创 解决 Semi Design Upload 组件实现自定义压缩,上传文件后无法触发 onChange

主题(Topic)是消息的逻辑分类,每个主题被划分为多个分区(Partition)实现并行处理,每个分区又有多个副本(Replica)保证高可用。Kafka 适用于大数据场景的“重载卡车”,RabbitMQ 好似城市中的“跑车”灵活快速,RocketMQ 则是全能的“SUV”平衡可靠与性能。(Pull),消费者主动从 Broker 拉取消息,适合高吞吐但不保证极低延迟的场景。生产者将消息发送到交换机(Exchange),交换机根据绑定规则和路由键将消息路由到相应队列(Queue),消费者从队列获取消息。

2026-03-11 11:27:45 320

原创 Maui 实践:让 JavaScript 的 this 怪物如同邻居家(强类型)的乖孩子

其中引用到的上下文变量arr是["1","2","3","1","2","333",""],处理完成后的array是["1","2","3","333",""],注意我的""是空串,不是空值,因此是没有去除的。经过查询,多个查询条件组合为[{"ID":1,"文本":"AB","整数":1,"小数":1.5,"日期":44927.75,"是_否":0}]越接近1表示,方向越接近。经过查询,第一个{"ID":1,"文本":"AB","整数":1,"小数":1.5,"日期":44927.75,"是_否":0}

2026-03-10 13:15:55 341

原创 DX--DirectXD初始化

很显然 \(f(q)\) 是个很没用而且碍眼并且值又固定的东西,那么预处理算出 \(f(q)\),然后问题转化成求长度为 \(k\) 值域为 \(1 \sim n\) 的序列中单调不降的序列个数,那么仔细思考,对于从 \(n\) 中任选 \(k\) 个,重排一遍一定可以,所以说就是 \(C_n^k\),答案为 \(C_n^k f(q)\)。我们先给每组分配一个物品,只剩 \(n-1\) 个物品,我们要在这 \(n-1\) 个物品中选择 \(k-1\) 个隔板,所以是 \(C_{n-1}^{k-1}\)。

2026-03-10 13:10:24 179

原创 jQuery插件开发 - 其实很简单

其中引用到的上下文变量arr是["1","2","3","1","2","333",""],处理完成后的array是["1","2","3","333",""],注意我的""是空串,不是空值,因此是没有去除的。经过查询,多个查询条件组合为[{"ID":1,"文本":"AB","整数":1,"小数":1.5,"日期":44927.75,"是_否":0}]越接近1表示,方向越接近。经过查询,第一个{"ID":1,"文本":"AB","整数":1,"小数":1.5,"日期":44927.75,"是_否":0}

2026-03-09 13:10:35 346

原创 使用Windows的XP模式在同一台电脑上运行IE、IE、IE

很显然 \(f(q)\) 是个很没用而且碍眼并且值又固定的东西,那么预处理算出 \(f(q)\),然后问题转化成求长度为 \(k\) 值域为 \(1 \sim n\) 的序列中单调不降的序列个数,那么仔细思考,对于从 \(n\) 中任选 \(k\) 个,重排一遍一定可以,所以说就是 \(C_n^k\),答案为 \(C_n^k f(q)\)。我们先给每组分配一个物品,只剩 \(n-1\) 个物品,我们要在这 \(n-1\) 个物品中选择 \(k-1\) 个隔板,所以是 \(C_{n-1}^{k-1}\)。

2026-03-09 13:05:31 363

原创 写给刚刚毕业非名校而且正在迷惑中的工科大学生们之二——全真教与梅超风 谈程序员的修炼之路

很显然 \(f(q)\) 是个很没用而且碍眼并且值又固定的东西,那么预处理算出 \(f(q)\),然后问题转化成求长度为 \(k\) 值域为 \(1 \sim n\) 的序列中单调不降的序列个数,那么仔细思考,对于从 \(n\) 中任选 \(k\) 个,重排一遍一定可以,所以说就是 \(C_n^k\),答案为 \(C_n^k f(q)\)。我们先给每组分配一个物品,只剩 \(n-1\) 个物品,我们要在这 \(n-1\) 个物品中选择 \(k-1\) 个隔板,所以是 \(C_{n-1}^{k-1}\)。

2026-03-08 11:14:39 381

原创 移动互联网,浮华还是盛宴—— 年中国移动开发者大会

其中引用到的上下文变量arr是["1","2","3","1","2","333",""],处理完成后的array是["1","2","3","333",""],注意我的""是空串,不是空值,因此是没有去除的。经过查询,多个查询条件组合为[{"ID":1,"文本":"AB","整数":1,"小数":1.5,"日期":44927.75,"是_否":0}]越接近1表示,方向越接近。经过查询,第一个{"ID":1,"文本":"AB","整数":1,"小数":1.5,"日期":44927.75,"是_否":0}

2026-03-07 12:56:21 386

原创 哪里是乐土?--关于团队良性循环

很显然 \(f(q)\) 是个很没用而且碍眼并且值又固定的东西,那么预处理算出 \(f(q)\),然后问题转化成求长度为 \(k\) 值域为 \(1 \sim n\) 的序列中单调不降的序列个数,那么仔细思考,对于从 \(n\) 中任选 \(k\) 个,重排一遍一定可以,所以说就是 \(C_n^k\),答案为 \(C_n^k f(q)\)。我们先给每组分配一个物品,只剩 \(n-1\) 个物品,我们要在这 \(n-1\) 个物品中选择 \(k-1\) 个隔板,所以是 \(C_{n-1}^{k-1}\)。

2026-03-07 12:50:29 377

原创 匹夫细说C#:庖丁解牛迭代器,那些藏在幕后的秘密

其中引用到的上下文变量arr是["1","2","3","1","2","333",""],处理完成后的array是["1","2","3","333",""],注意我的""是空串,不是空值,因此是没有去除的。经过查询,多个查询条件组合为[{"ID":1,"文本":"AB","整数":1,"小数":1.5,"日期":44927.75,"是_否":0}]越接近1表示,方向越接近。经过查询,第一个{"ID":1,"文本":"AB","整数":1,"小数":1.5,"日期":44927.75,"是_否":0}

2026-03-06 12:54:25 313

原创 设计稿自动生成可用页面的展望

很显然 \(f(q)\) 是个很没用而且碍眼并且值又固定的东西,那么预处理算出 \(f(q)\),然后问题转化成求长度为 \(k\) 值域为 \(1 \sim n\) 的序列中单调不降的序列个数,那么仔细思考,对于从 \(n\) 中任选 \(k\) 个,重排一遍一定可以,所以说就是 \(C_n^k\),答案为 \(C_n^k f(q)\)。我们先给每组分配一个物品,只剩 \(n-1\) 个物品,我们要在这 \(n-1\) 个物品中选择 \(k-1\) 个隔板,所以是 \(C_{n-1}^{k-1}\)。

2026-03-06 12:49:18 304

原创 路由事件

在路由事件中,我们可以将UI 的可视元素(Window、Grid、Button、TextBox……常见生命周期事件:Initialized、Loaded、Unloaded、SizeChanged。先来说一下分类,参考某位博主以及博主参考的对应资料分类,先留个印象,然后我们逐步讲解。当一个事件发生时,它不一定只通知一个对象,它可能沿着某种结构传播。前面我们已经提到过路由事件的分类,现在我们对其进行较为详细的。经典场景:全局快捷键、输入过滤、行为拦截。缺点:调试时要小心,可能在半路被。1.最原始的路由:网络。

2026-03-01 11:55:59 545

原创 我用FastAPI接ollama大模型,差点被asyncio整崩溃(附对话窗口实战)

前阵子我做一个AI对话服务,用FastAPI接本地的ollama模型。刚开始图省事,直接用requests库同步调用,结果并发上来后,CPU直接飙满,请求排长队,最后服务彻底没响应。后来换成httpx异步客户端,以为万事大吉,结果又遇到了流式解析错误、超时设置不当的问题……折腾了两天,总算摸清了门道。今天就把这些经验掰开揉碎讲给你听,保证你能少走弯路。

2026-03-01 11:55:29 474

原创 [特殊字符] 2026:让.NET再次伟大

回顾一下,很多年前,Linux一些发行版就预装了Python和PHP等环境,这极大推动了这些语言的流行,开发者在这些系统上,无需额外安装环境,就能直接上手编写和运行脚本,它们被认为是对开发者友好的操作系统。,现代.NET已被广大开发者认可,将.NET SDK直接带到操作系统中,不仅不会引起反感,反而会被视为对开发者友好的举措,它的单文件运行更加强大,更有发挥的空间。在开发行业,工具链是绕不开的话题。如果.NET SDK成为操作系统组件,这些优势将更易被开发者发现和利用,推动.NET在AI开发领域的采用。

2026-01-04 01:31:19 321

原创 1 业务场景:下游服务失败后上游服务如何独善其身

理想情况下,业务顺利完成时,三个服务的数据应依次更新为 a2、b2、c2,此时数据处于一致状态。然而,现实往往充满意外:网络抖动、服务过载、数据库响应缓慢等都可能导致调用链中途失败。例如,若在步骤 2 失败,数据会停留在 a2、b1、c1;若在步骤 3 失败,则变成 a2、b2、c1——数据不一致就这样产生了。在本项目启动前,由于早期改造工期紧张,开发团队无暇顾及数据一致性问题,导致线上陆续出现错误数据。业务部门通过工单反馈后,IT 团队排查发现,根源正是分布式更新过程中的不一致。

2026-01-04 01:30:39 249

空空如也

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

TA关注的人

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