- 博客(28)
- 收藏
- 关注
原创 终于!我造了个「AI代驾」级别的AutoBuilder,一键干掉80%的重复CRUD工作
数据库名称、文档标题、作者,填完点一下“生成文档”,一份完整的数据库设计文档就出来了,包含所有表的字段属性、类型、约束、注释。它不是普通的代码生成器,而是一个能同时搞定代码、数据库文档、API文档的三合一生产力工具。支持预览API列表,确认无误后再生成,文档格式工整,可直接交付给前端或测试同事。要么模板太死板,要么只生成实体类,要么不支持多数据库,要么文档功能聊胜于无。这就是“自动构建工坊”这个名字的由来——不只是生成,而是构建。生成的代码可以直接跑,生成的文档可以直接用,不需要二次加工。
2026-07-08 13:58:56
191
原创 现有数字人方案的“交互性“困境:从底层逻辑说起
当用户说一句话,声音传到 ASR,ASR 转成文字发给 LLM,LLM 返回文本给 TTS,TTS 生成音频给渲染引擎——这个延迟在人类对话容忍阈值(200ms)的 2-3 倍范围内,虽然不是实时,但已经进入"可接受"的流畅对话区间。用户不再会感到明显的"等待感"。你问一句话,对方沉默3秒后才开始回答——这种"慢半拍"会让用户本能地降低交互意愿,最终数字人沦为摆设。传统数字人是"视频流"传输——渲染完成后传输视频帧,带宽大、延迟高、交互性差。用户:"等等,我打断一下——"(数字人立刻停下,眼神看向用户)
2026-07-08 13:58:11
190
原创 那个叫做“知识库“的数字坟场
回到标题的那个转折——"存资料"的知识库 → "养 Agent"的知识库它不是一次产品升级。它是一次本体论级别的位移:知识不再是一个名词(一堆静态文档等你来。
2026-07-07 21:30:32
241
原创 JuiceFS PB 级数据同步优化:断点续传、安全与带宽控制
在数据迁移、跨云同步与对象存储备份等场景中,常用于执行大规模数据同步任务。当数据规模达到 TB 到 PB 级、对象数量达到数百万甚至数十亿级时,单次任务执行周期通常会延长到数小时甚至数天。围绕这些场景,JuiceFS 1.4 在sync中提供了三项能力增强:断点续传、数据加解密,以及全局流量控制。本文将围绕这三项能力,介绍其适用场景、实现机制和使用方式。
2026-07-07 21:29:51
231
原创 核心处理逻辑
规范先行:没有清晰的框架规范、命名规则,AI 生成的脚本只是 “一次性代码”;懂框架原理:理解 Pytest 夹具、数据驱动、Allure 报告等核心逻辑,才能驾驭 AI 生成的脚本;持续迭代:从 “基础可用” 到 “工程落地”,需逐步优化异常处理、鉴权逻辑、CI/CD 集成,让脚本适配真实业务场景。AI 不是替代测试工程师,而是把我们从重复编码中解放出来 —— 让 AI 做 “体力活”,我们聚焦 “脑力活”,这才是 AI 赋能接口自动化的核心价值。
2026-07-06 16:35:01
175
原创 时刻 ShortTime --ESBasic 可复用的.NET类库(01)
该方法接受两个参数:target和maxToleranceInSecs,target即是与当前对象进行比较的目标,maxToleranceInSecs表示认为当前对象与target所表示的时间是同一时刻所允许的最大误差(单位为秒)。(2)IsOnTime方法的maxToleranceInSecs参数的取值是由我们的系统需求所能允许的最大时刻误差来决定了。ShortTime所表示的时刻的值越大,则ShortTime就越大,这是完全一致的。ShortTime只有时分秒三个必需的属性,不必再牵扯到日期。
2026-07-05 19:58:23
197
原创 引入测试驱动开发
◆单键运行方法、类、命名空间、项目和解决方案中的单元测试◆能够快速测试实例方法、静态方法或属性◆可以直接跳到.NET Reflector中的任何方法、类型、项目或引用中,这个功能提供了相当大的方便◆在调试过程中可以查看.NET Reflector中的任何模块或堆栈信息◆支持多种单元测试框架,包括NUnit、MbUnit、xUnit和MSTest◆测试运行在自己的进程中以消除其他问题和边际效应◆可以轻松对任何目标测试进行调试或执行代码覆盖率测试(比微软自带的单元测试和代码覆盖功能要好用多了)◆。
2026-07-04 19:10:10
241
原创 另外一种形式。直接将User用户的完整对象引用实例返回。
publicclassintintintintint上面我们看到了活动记录模式的简单使用方式,当然我这里没有说是写出来可以运行的实例代码。只是简单的显示了,使用这些模式可能的用法,当然如果大家有更好的理解或者用法可以一起交流。当然活动记录模型一般就能满足我们的系统功能,如果说针对业务复杂的领域,那么必须设计领域模型去完成相应的业务逻辑层的设计。下面我们将来介绍领域模型模式的相关实例。
2026-07-04 19:09:20
206
原创 Fish Li 的一年博客总结
我的博客在选题时,都选择的是一些基础内容。下面我从技术的角度,将博客做个分类索引。在ASP.NET程序中,能够在服务端读取的客户端数据通常只有三个:QueryString, Form, Cookie关于这三者,我写了三篇博客详细地介绍过它们:1.2.3.要想把ASP.NET用得顺手,我认为掌握一些ASP.NET核心对象也是必须的,ASP.NET的管线也是非常重要的,了解它就能更好地理解ASP.NET的处理机制。
2026-07-03 20:58:11
219
原创 技术文章如何写作才能有较好的阅读体验
当然,最好的办法是用动画的形式来表现,目前暂时还不容易做到。甚至很多人都认为根本不需要考虑读者的感受,把技术写好写准确就可以了,这其实就是一大误区,你的写作如果只是给自己看,当然我也就不多说什么,但如果你的写作是给别人看,就一定要考虑如何写的问题,因为这是一个信息传递的过程而不是简单的记录。我在《大话数据结构》书中讲解的办法是先举了从1加到100的算法例子,对比容易想到的算法和高斯算法的差异,来引入算法优劣间的差异,并详细解释了函数渐近增长的原理,最后再来给出时间复杂度的定义,以及推导大O阶的方法。
2026-07-03 20:57:29
242
原创 Nelder-Mead算法简介
这种算法被广泛应用于机器学习、计算机视觉、信号处理等领域,特别是当目标函数计算成本高昂时尤为有用。更详细的分析见本文结尾。
2026-07-01 21:21:48
628
原创 Mybatis基础Mybatis是什么?
首先,Mybatis被称为半ORM框架是因为它在数据库操作方面提供了一些对象关系映射的功能,但相对于全ORM框架,它更加灵活和轻量级。综上所述,使用 MyBatis 可以大大简化数据库操作的代码,提高 SQL 语句的可维护性和可读性,同时还提供了强大的动态 SQL 功能,易于集成使用。JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。其次,我们来看一下SQL控制。
2026-06-30 21:03:56
208
原创 为什么要将 RTF 转换为 PDF?
尽管 RTF 文件提供了基本的文本格式化功能,但其跨平台兼容性差,特别是在文档格式较复杂(如表格、图片)时,RTF 文件无法很好地保证不同设备和操作系统中的一致性。
2026-06-30 21:03:20
218
原创 Python 教程】如何将 JSON 数据转换为 Excel 工作表
在开始编码之前,需要安装必要的库。Free Spire.XLS for Python 是一个独立的 Excel 操作库,无需本地安装 Microsoft Office 即可创建和编辑 Excel 文件。核心思路为:解析 JSON 数据 → 创建 Excel 工作簿/工作表 → 写入表头与数据 → 保存文件。基础版本满足核心需求,但实际场景中需处理嵌套JSON、样式美化等问题,以下是优化方案。安装完成后,无需额外配置,即可在代码中引入并使用核心类库。
2026-06-29 20:17:10
240
原创 PHP 的异步编程 该怎么选择
因此,异步的核心在于操作是非阻塞的。的位置,可以执行其他操作,比如读取另一个文件,甚至向其他服务器发起 HTTP 请求。Promise 的概念于 80 年代在 Multilisp 等语言中引入,但真正流行是在 2009 年,Dojo、Q、jQuery.Deferred 等 JavaScript 库率先实现了它。谈到并行,人们常会想到线程——线程提供进程间的自然隔离,并能利用多核 CPU,这对计算密集型任务非常有吸引力。然而,并行、特别是多线程的实现更为复杂,调试更困难,还存在死锁和内存并发访问的风险。
2026-06-29 20:16:23
250
原创 全场景测试数据智能构造Agent Skill
在上一篇中,我们介绍了—— 它是接口自动化测试的"入口技能",它能将各种格式的接口文档统一解析为标准化的。null更致命的是,人工造数极易遗漏边界场景——"这个字段的最大长度测了吗?""枚举值外的非法值传了吗?""空数组和缺字段有什么区别?"——这些细节的不注意往往极易产生线上Bug。。用于解决接口测试"造数难、覆盖不全、效率低"的痛点,彻底告别人工造数的繁琐与遗漏。
2026-06-28 19:55:06
162
原创 LLM 记忆系统:从 Markdown 知识库到 Self-Governing Repo
当开始进入日常工作流后,一个很快会暴露出来的问题是:模型在单次对话里的推理能力越来越强,但长期上下文的继承能力仍然很弱。每次重新打开一个会话,都像重新启动一个临时进程:身份、项目背景、关注方向、旧结论、已踩过的坑,都需要重新装载。这类问题很容易被误判成“缺少一个更大的上下文窗口”,或者“需要一个更强的向量数据库”。但如果把它放到工程系统里看,真正缺失的不是 ,而是一套能持续维护、能区分证据来源、能在规模变大后继续演化的个人工作上下文系统。
2026-06-28 19:53:33
230
原创 一套纯 OpenCode 配置实现 Agent 软路由
oh-my-openagent 的逻辑是做"硬路由"——通过插件层精准拦截和分发请求。精确是真精确,但一旦上游 API 或插件接口有变动,直接就断链。,用精心设计 System Prompt 的方式,通过纯提示词来模拟类似的多 Agent 协作行为——我把这叫做。,配置不依赖任何外部插件,自然不会因为版本更新崩掉。精确度上确实不如硬路由那么丝滑,但。
2026-06-27 21:57:35
238
原创 SNAT 是怎么工作的
A:如果没有按进程维度的连接指标,可以把部分 WebJob 移到另一个 App Service Plan,通过隔离法观察问题是否缓解,逐步定位高连接消耗的任务。这意味着,如果一个 Web 应用每秒打开 1 条 HTTP 连接,调用后端服务后正常关闭,那么在 240 秒内可能累计占用约 240 个 SNAT 端口。如果代码持续浪费连接,单纯扩容只是把问题摊开,并不一定治本。如果一个繁忙站点的 SQL 连接池大小是 300,并且数据库查询执行较慢,那么这些连接可能持续占用约 300 个 SNAT 端口。
2026-06-27 21:56:48
169
原创 为什么 React 和 Vue 不一样?
React 的虚拟 DOM 和 Fiber 架构都是这一观点的工程实现,它们假设状态变化是不可预测的、细粒度的,因此需要一个通用的运行时调度系统来处理任意复杂度的更新。当组件状态发生变化时,React 会从根节点开始,递归遍历整棵组件树,计算新的虚拟 DOM 树,与旧的树进行 Diff,最后一次性将所有变更提交到真实 DOM。),或者检测到有更高优先级的更新到来,React 可以立即保存当前的工作进度(记录下一个待处理的 Fiber 节点引用),将控制权交还给浏览器,然后在下一帧的。
2026-06-24 21:06:56
250
原创 为什么 SSR 一定会有 hydration mismatch?
客户端“重新执行一遍渲染逻辑”,并且结果必须和服务端完全一致 (在不重建 DOM 的情况下,让 JS 接管已有 HTML (即使这些内容完全静态,也要执行 hydration。只要用时间,就有 mismatch 风险 (减少需要 hydration 的范围。页面里很多内容其实根本不需要交互。不一致 → mismatch (提前生成 HTML(提高首屏)这两个环境永远不可能完全一致。然而传统 SSR 会做什么?直接 mismatch。
2026-06-24 21:05:48
217
原创 AScript如何实现中文脚本引擎
3 private static readonly HashSet<string> _StatementEndTokens = new HashSet<string> { "则", "否则" };14 Assert.AreEqual("10,大于等于5且小于20", script.Eval(s));10 AddTokenHandler("如果", new 如果语法处理器());1 Script.Langs["中文"] = 中文语言.实例;11 返回 $'{n},{s}';
2026-06-23 22:10:42
162
原创 从0到1构建一个ClaudeAgent】规划与协调-TodoWrite
/ 新增 todo 工具。// 新增:标记是否使用了 todo 工具。if (roundsSinceTodo >= 3) { // 关键:超过3轮没更新就提醒。// 可视化格式:[ ] 待办, [>] 进行中, [x] 已完成。// 新增:跟踪轮数。if (roundsSinceTodo >= 3) { // 如果超过3轮没更新待办。
2026-06-23 22:09:29
169
原创 Avalonia中的动画
它们在使用方式和适用场景有所不同,官方文档的总结如下表所示(https://docs.avaloniaui.net/docs/graphics-animation/animations)。值得注意的是在axaml中使用自定义动画器时,需要指定动画器的类型(<Animation.Animator><pages:CustomStringAnimator/></Animation.Animator>),否则会报错。/// <param name="oldValue">旧值:动画开始时,第一个关键帧的值。
2026-06-22 22:23:24
316
原创 如何在Oracle Agent Factory中配置国内厂商的LLM?
目前Oracle PAF(Private Agent Factory)官方提供配置,LLM providers只有OCI GenAI、OpenAI、Gemini以及vLLM和Ollama的方式。如果想用国内LLM或者其他中转的LLM,通常是兼容OpenAI的模式,但是OpenAI这里配置是写死的,无法自定义baseurl:如果想直接通过vLLM配置,默认无法指定api key:看来默认就无法使用其他LLM了?已跟PM反馈过此问题,回复后续版本会考虑支持这个OpenAI兼容的LLM配置。
2026-06-22 22:22:31
196
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅