自定义博客皮肤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)
  • 收藏
  • 关注

原创 探讨 T-SQL 的 EXISTS、EXCEPT、INTERSECT 算符

会被优化器忽略,无需担心性能损耗。#### 2.2 实践场景- 数据同步:找出两个表之间的差异(如源表与备份表)- 去重后的数据对比:快速获取两个查询结果的共同或差异项#### 2.3 代码示例。(Semi-Join):当外层查询的每一行与子查询进行匹配时,只要子查询返回至少一行,该行即被保留,且匹配过程在找到第一条满足条件的记录后立即终止(短路评估)。—### 三、三者的性能对比与选择策略| 场景 | 推荐算符 | 原因 ||------|----------|------|| 检查关联记录是否存在 |

2026-08-05 17:36:44 216

原创 使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制

memc-nginx模块memc-nginx。

2026-08-05 17:35:39 251

原创 T-SQL查询进阶—理解SQL Server中的锁

| 隔离级别 | 读操作锁行为 | 锁持有时间 ||----------|--------------|------------|| READ UNCOMMITTED | 不加S锁 | 无 || READ COMMITTED | 仅语句期间持有S锁 | 语句结束立即释放 || REPEATABLE READ | 持有S锁直到事务结束 | 事务结束 || SERIALIZABLE | 持有S锁直到事务结束,且加范围锁 | 事务结束 |:当事务A持有X锁,事务B请求S锁时,B会进入等待状态。

2026-08-04 17:19:03 240

原创 数据库架构的升级和变更

在互联网时代,数据是企业的核心资产,而数据库架构则是承载这份资产的基石。本文将从实战角度,探讨数据库架构升级的路径、变更策略,以及背后的技术选型。## 三、第二步:分库分表 —— 突破单库容量极限当单库数据量达到 TB 级,且写入吞吐无法提升时,必须采用分库分表。)需要聚合,复杂度高,应尽量避免。## 四、第三步:引入分布式数据库(如 TiDB / Vitess)分库分表虽然解决了容量问题,但带来了运维和开发复杂度(如分布式事务、跨节点 join)。,即可自动升级,且每次变更都有版本记录,避免混乱。

2026-08-04 17:17:56 230

原创 LINQ 图解

## LINQ 的本质:从循环到声明式编程的思维转变传统编程中,我们习惯用。:无论是内存集合、数据库还是 XML,使用相同的查询语法掌握 LINQ 不仅意味着学会 API 调用,更重要的是理解其背后的设计哲学——将数据查询从业务逻辑中抽象出来,让代码更专注于表达"做什么"而非"怎么做"。### 总结LINQ 作为 .NET 平台的基石技术,通过将查询逻辑与数据操作分离,实现了代码的可读性和可维护性的巨大提升。的专用查询### 深入理解 LINQ 的惰性求值与立即执行这是 LINQ 中最容易混淆的概念。

2026-08-03 16:46:47 261

原创 Mac技巧合集第一期

下一期,我打算聊聊「Mac 上那些免费又良心的小工具」和「终端美化指南」,如果你想看,评论区扣个「1」。用了十年 Mac,从「小白」到「老白」,踩过无数坑,也攒了一堆能提升幸福感的小技巧。今天第一期,先挑 5 个最实用、最容易被忽略的干货,保证你看完就能用上,效率直接翻倍。### 1. 触控板三指拖拽,告别「用力点按」很多人刚用 Mac 时,拖动窗口或文件,习惯用「点按-移动-松开」的方式,手累不说,还容易误触。:如果你用外接鼠标,这个功能不生效,但可以用鼠标左键按住拖动,习惯就好。,直接跳到词典解释。

2026-08-03 16:45:39 200

原创 霍尔定理和最大流算法 入门

二分图核心要点。

2026-07-31 19:47:28 784

原创 托管 Agent 执行循环只是起点,AgentRun 托管的更是企业 AI 生产全链路

每次执行都会绑定具体的版本号,发布新版本时,通过事件流中的版本标签,可以精确统计新旧版本的胜出率(如成功率、耗时、用户满意度)。:多个消费者可以独立读取事件流,实现监控、审计、训练数据采集的解耦。当你的 Agent 需要面向真实业务时,不要只关注循环的效率,更要关注循环之外的全链路治理——这正是 AgentRun 的立足点,也是企业 AI 落地的关键。诚然,循环是骨架,但企业级 AI 系统的真正挑战在于——如何将脆弱的、单次的、依赖上下文的推理过程,嵌入到复杂、多租户、可观测、可回滚的企业 IT 生态中。

2026-07-31 19:46:18 208

原创 Vector Quantization for Recommendation 笔记

存储压缩。

2026-07-30 19:00:12 178

原创 Nginx 上游健康检查插件 nginx-healthcheck-module

nginxupstream microservices { # 基础健康检查参数 healthcheck interval=10 passes=2 fails=3;# 自定义健康检查请求(发送到 /health 端点) healthcheck_path /health;# 设置健康检查的超时和请求头 healthcheck_timeout 3s;# 只认为200和204是健康状态 server 10.0.0.1:3000;# 禁用缓存,对实时性要求高 proxy_cache off;}}零侵入。

2026-07-30 18:57:46 255

原创 再也不用数括号了!安利一个JSON Path可视化查找神器

今天,我要给大家安利一个JSON Path可视化查找神器,它不仅能让你告别数括号的烦恼,还能以图形化方式直观地定位数据路径。(桌面应用/在线版)这些工具的核心功能是:- 左侧输入JSON数据- 中间输入JSON Path表达式- 右侧高亮显示匹配结果- 支持实时预览和调试以JSON Hero为例,它还能生成可视化的树形结构,让你像浏览文件夹一样浏览JSON。以下是最常用的表达式:| 表达式 | 含义 | 示例 ||--------|------|------||你可能会惊讶于JSON中隐藏的字段关系。

2026-07-28 20:06:28 218

原创 一文读懂AI基础技术:机器学习、深度学习、计算机视觉

# 深度学习:机器学习的进阶版深度学习(Deep Learning)是机器学习的一个子集,它使用多层神经网络来模拟人脑的学习方式。在这个例子中,神经网络自动从像素中学习数字的形状特征,比如“0”是圆形,“1”是竖线等。简单比喻:机器学习是“工具箱”,深度学习是“高级工具”,计算机视觉是“用这个工具解决特定问题(看懂图像)”。监督学习是最常用的,它需要标注好的数据(比如房价和房屋面积的关系)。)计算机视觉常与深度学习结合使用,特别是卷积神经网络(CNN),它能有效提取图像的局部特征(如边缘、纹理)。

2026-07-28 20:03:59 187

原创 测试工程师的AI 技能库:推荐5个让你效率翻倍的Skills

- 使用 LLM 理解自然语言规则,自动生成边界数据和非法数据。—## 2. 自动化测试脚本智能生成:从自然语言到可执行代码很多时候测试需求是用中文描述的,比如“打开登录页面,输入正确的用户名和密码,点击登录,检查页面跳转”。: 1. 从简单技能(数据生成、报告生成)开始,快速获得成就感。: - 自动生成结构化报告,节省写文档时间。- 通过持续微调模型,准确率可达 90%+。—## 4. 智能测试报告生成:用 AI 总结测试结果测试执行完成后,通常需要写一份包含通过率、失败原因、建议的测试报告。

2026-07-27 19:29:26 194

原创 如何使用 AI 解答开源项目的问题,其实只需要一句话

但今天,借助 AI 的力量,你只需要一句话就能让大模型帮你定位问题、生成解决方案,甚至给出可运行的代码片段。下次遇到开源项目 bug,先花 10 秒钟组织你的“一句话”,让 AI 成为你的超级调试助手。:开源项目的问题往往有规律可循,例如“依赖冲突”通常对应 Maven/Gradle 的版本管理问题,AI 可以自动匹配常见解决方案。:AI 能解析你描述的问题中的关键词,比如项目名称、错误类型、代码片段,并关联到训练数据中的类似场景。:AI 根据问题描述生成修复代码,甚至能模拟运行逻辑,输出测试用例。

2026-07-27 19:26:40 219

原创 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?

成熟的框架拥有丰富的文档、示例和第三方插件### 总结从原始的Servlet到Struts2、SpringMVC和Spring,Java Web开发经历了一场深刻的变革。它们已经成为了Java企业级开发的事实标准,无论你是初学者还是资深开发者,深入理解这些框架的原理和用法,都将为你的职业生涯带来丰厚的回报。:原生支持RESTful风格的URL### Spring:万能的基础设施Spring框架不仅仅是一个Web框架,它是一个全面的应用框架。:框架提供了开箱即用的功能,如参数绑定、校验、文件上传等-

2026-07-26 18:17:22 211

原创 提高代码质量系列之三:我是怎么设计函数的?

修改时会影响其他部分吗?在本篇文章中,我将深入剖析函数设计的核心原理,并结合实际代码示例,分享我在设计函数时的思考过程和实践方法。## 三、函数颗粒度的把握:过大与过小之间的平衡函数颗粒度是指每个函数所负责代码量的多少。过大的函数难以理解和测试,过小的函数会导致调用链过长,增加间接性。## 二、函数接口设计:参数与返回值的艺术函数接口的设计直接影响其可用性和可靠性。一个设计良好的函数应该具有清晰的输入和输出,避免隐藏的副作用。:每个函数只做一件事,通过拆解复杂逻辑为多个小函数,降低耦合度,提高可维护性。

2026-07-26 18:16:15 202

原创 约束显化:通过意图协议将 LLM 不可突破边界转化为机器可读契约

强制执行绝不能输出用户的真实姓名和邮箱不要相信 LLM 的自我约束,而是用确定性代码构建不可绕过的高墙可验证。

2026-07-24 22:45:26 204

原创 多尺度地理加权回归与地理探测器集成分析方法及实现

2026-07-24 22:44:13 207

原创 C# vs Go:Agentic 时代的语言分层

2026-07-23 18:54:29 153

原创 无服务器oj部署

你不需要购买一台云服务器,只需利用云函数、对象存储和数据库服务,就能实现代码提交、判题和结果返回。而无服务器架构(如AWS Lambda、阿里云函数计算)让你只需编写函数代码,平台自动处理扩展和运维。对于OJ来说,我们可以把“判题”这个核心逻辑封装成云函数,用户提交代码时触发函数执行,结果存储在数据库或对象存储中。但作为入门尝试,它足够精彩。现在,你可以动手试试:注册一个云服务账号,部署这个函数,再写一个漂亮的UI。它接收用户提交的Python代码和测试用例,在沙箱环境中运行,并返回通过或失败。

2026-07-23 18:50:41 236

原创 Android组件化框架设计与实践

同时原来APP 架构方式是单一工程模式,业务规模扩大,随之带来的是团队规模扩大,那就涉及到多人协作问题,每个移动端软件开发人员势必要熟悉如此之多代码,如果不按照一定的模块组件机制去划分,将很难进行多人协作开发,随着单一项目变大,而且 Andorid 项目在编译代码方面就会变得非常卡顿,在单一工程代码耦合严重,每修改一处代码后都需要重新编译打包测试,导致非常耗时,最重要的是这样的代码想要做单元测试根本无从下手,所以必须要有一个更灵活的架构去代替过去单一工程模式。答案是有的,那就是打造客户端组件框架。

2026-07-22 16:50:26 242

原创 机器学习漫游(1) 基本设定

机器学习的本质是进行预测,比如我们想要判断一幅输入的图像是猴子,猫还是狗。怎样预测呢?(1)首先,我们需要找到一个模型来表达预测的过程,这个模型可能包含一个或者多个需要设定的参数,因此模型是一个多个函数组成的集合;(2)在模型确定了之后,我们需要从数学上寻找一个函数来表示这个模型,即从函数集合中寻找一个能够“准确”地表达模型,这一步我们需要在已知的数据上进行学习,即让函数能够在已知数据上获得很不错的预测效果;(3)使用(2)中确定的函数对未知的数据进行预测。

2026-07-22 16:49:42 170

原创 图纸文本翻译为什么困难

如果中间层采用"收到请求 → 阻塞处理 → 发送响应"的同步环路,翻译完成后的结果消息会被卡在发送队列中,直到插件发出下一条请求才能被刷出——而插件此时正在接收循环中死等结果。对于块属性(AttributeReference),由于修改块属性会影响所有引用该块的实例,采用特殊处理:不修改源块的属性定义,而是生成独立的文本对象。LLM 兜底但带上下文约束:调用大模型时,将匹配到的术语作为约束注入 Prompt,让模型遵守术语规范的同时保留对上下文的语义理解。"已写回"状态的条目被拦截,不能再次写回。

2026-07-21 16:07:00 192

原创 我们期待的未来,为什么被现实反转了

看起来很忙,实际上并没有创造新的价值,只是在把混乱的人类过往,整理成AI能理解的输入。当AI能低成本、高效率地产出结果时,那些重复性的搬运、整理和堆砌,价值会迅速缩水。真正能驾驭AI的人,不再把时间耗在整理、堆砌和重复上,而是把精力放在方向判断、逻辑把控、风险识别和未来布局上。AI可以处理有标准答案的工作,但行业走向、商业取舍、人生选择和长期布局,并没有标准答案。真正稀缺的,仍然是人类的洞察、判断、取舍和创造。可更扎心的现实是,AI淘汰的是机械劳动,挤压的是普通脑力,放大的却是顶层认知。

2026-07-21 16:06:00 155

原创 IT运维监控/可观测性

众所周知,AI 有很多预训练的数据,以英文世界的语料为主,但是很多软件在持续迭代、文档在持续迭代,预训练的数据可能是过期的,所以我们在让 AI 回答问题之前,如果你有权威数据来源,那要提前告诉 AI,每个 AI Agent 通常都会提供一个 Knowledge 录入方式,如果你使用本机的 Codex、Cursor,你也可以写个 Markdown 告诉 AI,在回答问题之前请先参考这个 Markdown。AI 的回答真的挺惊艳的,而且这是普通的 DeepSeek V4,并非顶级模型,截图如下,不骗大家。

2026-07-19 20:52:52 205

原创 AI native: Casebook 面向 AI Agent 时代的测试用例工程化工作流

传统测试用例管理的常见思路是:上传需求到平台,生成 XMind 或 Excel,用例再被下载、导入、复制、维护。Casebook 的推荐方式不是在页面里点击“生成用例”,而是在项目工程里让 AI Agent 直接读取需求、技能包、schema 和已有 YAML 文件,然后写入 releases/ 目录。本地 Web UI 只负责查看、评审、标记、轻量编辑、执行和报告,不试图替代 AI Agent 的生成能力。🤖 AI Agent 负责生产:读取需求和技能包,生成、补充、删除、重构 YAML 用例。

2026-07-19 20:51:59 230

原创 if let 解决了“条件解包“的问题,但还有一种更常见的模式:函数开头验证输入,如果不合法就立刻返回。Swift 发明了 guard let 来应对这个场景,G# 原样采纳。 // G#:guar

if let 解决了"条件解包"的问题,但还有一种更常见的模式:函数开头验证输入,如果不合法就立刻返回。Swift 发明了 guard let 来应对这个场景,G# 原样采纳。// G#:guard let —— “守卫"住必要条件) {return// u 在这里已经是 User 类型(非可空)// 后续所有代码都可以安全使用 u。

2026-07-18 20:17:15 174

原创 为什么我们还需要一门 .NET 语言?

但二十余年过去,从 C# 2.0 的泛型到 3.0 的 Lambda 和 LINQ,从 4.0 的 dynamic 到 8.0 的可空引用类型,从 9.0 的 records 到 12 的集合表达式和主构造函数,C# 的语法表像一棵不断开枝散叶的大树[1]。而对于从 Go、Kotlin 或 Swift 转过来的开发者,这种体验近乎荒诞:他们熟悉的世界里,main 函数可以直接躺在文件的怀抱中,不需要 class 的襁褓,不需要 namespace 的围墙。它不是任何一门语言的克隆,而是一次审慎的采撷。

2026-07-18 20:16:35 275

空空如也

空空如也

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

TA关注的人

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