- 博客(28)
- 收藏
- 关注
原创 领域驱动设计实践
从表面上看,BorrowingHistory同样属于实体对象,它的每一条记录都是唯一的,即使存在两条历史记录,具有相同的读者ID与书籍ID,我们仍将其视为不同的记录,因为它们的借阅时间并不相同。不过,对于系统的调用者而言,通常不会去关注所有的借阅记录,而是查询某位读者的借阅记录,因此,我们可以将其作为与Reader放在一起的聚合。在得到初步的领域模型中,我会尝试利用领域驱动设计的思想为对象分类,找到实体、值对象、聚合以及服务对象,并通过分析对象的生命周期,为不同类型的对象建立资源库和工厂对象。
2026-07-05 14:07:25
220
原创 今天,我来接着两年前的文章,再说一下如何面试。
我呢,并不打算在这里谈一些诸如要守时啊,要注意礼貌啊这种人尽皆知、假大空的问题。同时,也不会告诉你一些难以掌握的语气、手势等技巧,这些技巧需要长期磨练才能获得,对于不是频繁跳槽的人,或者需要换一个高端如CTO的人来说,我觉得是没有太大意义的。我打算从两个方面去着手讲解:被面试时一些被面试人容易犯下的、可能自知的问题;以及,面试官可能会犯的错误。我先从“被面试”开始说起。假如你正在投简历、换工作,如果想要成功,你必须至少经过“写简历”和“去面试”这两个阶段。关于如何写简历,我在两年前已经写过,这里就不再重复了
2026-07-05 14:06:26
158
原创 [T1 Silverlight Training] Day 1 : Overview & UI Elements
Figure 3 从Logical Tree到Visual Tree用XML的方式来声明对象不仅仅在设置属性上比较方便,XML本身的树形结构就和GUI的Render树形结构非常一致,因此利用XML天生的嵌套能力可以非常直观和有效的定义界面层级结构。在Silverlight里面,大家在XAML Designer上定义的为。
2026-07-04 14:17:13
168
原创 Asp.Net MVC3 简单入门第一季(四)详解Request Processing Pipeline
客户端请求→路由器→IIS服务器内核模块HTTP.SYS→IIS→AspNet_isapi.dll→Asp.Net Runtime→Application→IHttpModule....IHttpModule→MVCRouteModule→MVCRouteHandler→MVCHandler→ControllerFactory。
2026-07-04 14:16:35
277
原创 POCO Controller 你这么厉害,ASP.NET vNext 知道吗?
POCO Controller 你这么厉害,ASP.NET vNext 知道吗?是的,ASP.NET vNext 晓得,因为这就是它的特性之一,嘿嘿。在上一篇《》博文中,简单介绍了 ASP.NET vNext 的一些特性,文中的最后也做了一个简单的示例,在示例中 HelloWorldController 控制器像以往我们创建 ASP.NET MVC 控制器一样,需要继承 Controller 基类,就像人群中某一种特定的人(公务员),Controller 用来标示这一种人是公务员一样。
2026-07-03 16:49:29
194
原创 whthomas写字的地方
相比comet技术,websocket不仅节约了header的问题(websocket的head信息只有短短的2个字节)。更加重要的是是通信的稳定性,comet在遇到网络问题之后,想要在不刷新页面的情况下恢复通信,非常困难,而websocket中提供了onclose函数来处理断开网络后的情况,这为我们与服务器的通信提供了可靠的保障。
2026-07-03 16:48:26
194
原创 记录一次线上服务OOM排查
下午两点新版本上线,其中一个消费者服务的内存增长速度异常迅速,在短短五分钟内就用完了2G内存并自动重启了pod,之后又在五分钟内OOM了,在四十分钟内服务的pod已经重启了八十几次,要知道我们之前这个消费者服务正常运行时候只用了不到500M。
2026-07-02 20:44:02
189
原创 AsyncLocal 用法简介
通过 AsyncLocal 我们可以在一个逻辑上下文中维护一份私有数据,该上下文后续代码中都可以访问和修改这份数据,但另一个无关的上下文是无法访问的。无论是在新创建的 Task 中还是 await 关键词之后,我们都能够访问前面设置的 AsyncLocal 的数据。
2026-07-01 15:51:26
238
原创 验证队列设置最大长度限制
从消费端来看消息是随机性入队的,队列里面一直最多5条消息,发再多也进不了,消息者和生产者也不会发生什么异常,只是消息会随机性丢失(并没有全部入队)。生产者不停一直在生产消息,运行30分钟,观察生产者应用也是正常的的,就是消息入不了队列。搞一个异常情况出现unack,最大队列长度限制,是不算unack数量的,如下图所示。运行情况良好,除了消息没有全部入队列 ,没有出现异常情况。消费者拿出来的消息,仅有5条,从NO.6~NO.10。改变消费者程序,让生产者一直产生消息,消费者。生产者原本想要生产10条消息。
2026-07-01 15:50:15
157
原创 Queue & Stack:实现机制与使用场景深度分析
Java里有一个叫做Stack的类,却没有叫做Queue的类(它是个接口名字)。当需要使用栈时,Java已不推荐使用Stack,而是推荐使用更高效的ArrayDeque;既然Queue只是一个接口,当需要使用队列时也就首选ArrayDeque了(次选是LinkedList)。
2026-06-30 14:29:27
173
原创 volatile在线程安全中能保证什么
用一个日常生活中的场景大致描述一下,sleep()类似于你在床上看书,看累了抱着书躺下睡觉,虽然你不再看书,但因为书被你抱着,其他人是没法去看你手中的书.wait()类似你去排队出地铁站,在出站前你发现手机支付地铁票有问题,于是你让出排队通道去修复地铁卡手机支付,其他人依次跟上排队出站,等你解决了支付问题,又重新排进了出站队伍中.同样如果使用手动锁,则必须注意锁释放.如使用ReentrantLock,需注意解锁某个finally区域,否则,一旦异常该区域将永远保持锁定状态,出现死锁.
2026-06-30 14:28:53
218
原创 MonkeyCode vs Cursor vs Copilot:为什么我选择了MonkeyCode
耗时:约30分钟,且需要你懂React基础。耗时:约2分钟,零React基础也能搞定。
2026-06-29 14:49:44
288
原创 角色、人气及角色转变
client发送写请求给Leader,请求到达Leader后,Leader还没开始向Followers发送数据就挂了,这时选举产生新Leader。B感知不到Leader,所以会发起选举,但是C能感知到Leader,但是由于其接收到了更大term的投票请求,所以C也放弃了A中的Leader,参与了新的选举。但B中的Leader的写操作处理可以获取到过半响应,所以能完成写操作,故A与B、C中出现脑裂,且形成了数据不一致。BC失去了Leader,都会发起选举,但是都无法获取过半支持,都无法选出新Leader。
2026-06-28 15:10:02
226
原创 感谢 Snowflake 这次邀请我以 Snowflake
尤其是 Skill Catalog,它允许用户分享、发现、复用 Skills,本质上是在把 Snowflake 的平台能力模块化、工具化、Agent 化。这次 Snowflake Summit 里,最让我印象深的不是某个传统数据库功能,也不是某个性能参数的提升,而是它发布了一整套围绕 AI Agent 的产品组件:CoCo、CoWork、Desktop、Skill Catalog、VS Code 插件、Excel 插件、MCP、ACP、Cloud Agents、Agent Teams、自动化 Agent。
2026-06-28 15:09:06
195
原创 OpenClaw.NET 兼容性目录指南(Compatibility Catalog)
OpenClaw.NET 共定义了 5 种。清单顶层是一个带版本号的 JSON 对象,在 GitHub Actions 中,,编译期校验会拒绝缺失该字段的条目。OpenClaw CLI 提供。Gateway 通过。
2026-06-27 14:39:02
190
原创 无需安装cc switch,10行命令帮你配置Claude Code+deepseek
环境变量只在设置时的那个窗口有效,关掉就没了。所以必须要在同一个 PowerShell 窗口里重新设置变量,再启动 Claude Code。所以,咱们换成国内能用的镜像源来加速。当然,你也可以自定义 1 元,先获取到 API。当然,后续忘了也可以再创建新的 API key,删除旧的 API key。:第 2 条命令,你必须替换为自己真实的 API key。意思是全局安装,不管当前在哪个目录,装完后,,下载会自动开始,如果没开始,手动点击。看到出现版本号,就代表安装成功了。看到出现版本号,就代表安装成功了。
2026-06-27 14:38:14
224
原创 模型微调方法:从通用到专用为什么 Text2SQL 准确率如此重要?
SQLBot是我目前见过国内比较优秀的一个Text2SQL的开源项目。DB-GPT-Hub 是一个专注于 Text-to-SQL 微调的开源项目,在 Spider 数据集上达到了。多表查询是 Text2SQL 的难点之一。复杂查询需要多步推理。免责声明:本内容来自平台创作者,博客园系信息发布平台,仅提供信息存储空间服务。传统 Schema 往往只提供表名和字段名,这对于模型理解业务语义是不够的。微调的方法门槛高,成本高,周期长,中小短期项目不是很推荐。的执行准确率(超过 GPT-4 的 76.2%)。
2026-06-25 15:44:16
153
原创 Web开发入门(二):C# 现代语法速成——为 Web API 量身定制
在上一篇文章中,我们成功运行了第一个控制台程序。如果你有其他语言的基础,可能会觉得C#的语法有些似曾相识。但在现代.NET 8的Web开发中,我们极少使用传统的“类继承”或“繁琐的属性封装”,而是大量使用语法糖和新特性来降低代码量,提高安全性。数据载体:如何优雅地定义API的输入输出?流程控制:如何处理耗时的数据库查询而不卡死服务器?数据处理:如何像写SQL一样处理内存中的列表?在Program.cs这就是全部。构造函数只读属性(默认不可变,这对多线程环境非常安全)Equals和。
2026-06-25 15:43:27
205
原创 多租户系统框架的基础模块设计和分析设计
一个基础的系统,往往需要包含基础的相关模块内容,多租户系统框架下也需要这些,如用户、角色、机构、岗位、权限、菜单、日志(登录日志、操作日志)、通用字典等内容,多租户/账套还需要额外一个多租户/账套信息的管理,如下模块分类所示。菜单使用分级制,如租户级的菜单由超级管理员分配(部分系统菜单),而租户的角色人员根据租户的菜单集合进行二级分配,这样确保不同租户拥有的菜单不一定相同。为了建立菜单和权限的关联管理关系,我们为对应的菜单添加关联权限点的操作,对对于用户管理的菜单和权限点关系,如下所示。
2026-06-24 14:55:08
156
原创 深入理解 AbortController:从底层原理到跨语言设计哲学
在目前的现代异步编程中,取消操作是一个看似简单却极其复杂的问题。JavaScript 的API 作为 Web 标准和 Node.js 环境中的统一解决方案,不只是解决了异步操作的可取消性难题,更体现了一种深刻的设计哲学:协作式取消(Cooperative Cancellation)。今天我们从底层原理出发,深入剖析的工作机制,对比浏览器与 Node.js 的实现差异,并横向对比其他编程语言的中断机制设计,最终揭示这一 API 背后的语言特性与设计思想。那我们开始吧!
2026-06-24 14:54:30
231
原创 Apache SeaTunnel Zeta 为什么能做到“又快又稳”?
我们习惯把大脑看作一个"思考器官",但这个理解是倒置的。大脑最原始的功能,不是思考,不是感受,甚至不是记忆——而是。预测下一秒会发生什么,预测哪里有食物,哪里有危险,从而让身体提前做出反应。思考、情绪、记忆,都是预测系统在进化过程中衍生出来的工具。每一次大脑的扩张,都是在回应一个问题:现有的预测系统,已经不够用了。
2026-06-23 15:00:59
289
原创 Spring AI Alibaba 人工介入实战|Human-in-the-Loop 让 AI 更可靠
人工介入是一种机制,它允许AI智能体在执行特定工具前暂停执行,等待人工审批后再继续。敏感操作:如数据删除、资金转账等内容生成:如文章发布、诗歌创作等需要质量把控的场景权限控制:某些需要特定权限才能执行的操作审计要求:需要记录人工决策过程的场景。
2026-06-23 14:59:51
243
原创 一篇文章带你入门漏洞靶场:从 0 到 1 玩转 bWAPP(附完整安装教程)
大家好,我是码农刚子。一开始我想着:全部扔到 Vercel 上不就完事了?毕竟 Vercel 对 Next.js 太友好了,一键部署,自动给 HTTPS,爽得很。。它虽然有 Serverless Functions,但限制一大堆(响应时间、包大小、WebSocket 支持……),我这个 NestJS 项目体积不小,还用了不少传统的 Node 库,硬塞进去就是自找麻烦。所以只能把后端单独部署出来。正好手里有一台阿里云的 Windows Server(上面已经跑着一些站点),而且我本人。
2026-06-21 16:12:43
161
原创 和AI一起搞事情#7. 给游戏NPC接入Hermes?
”是一件很无聊的事情。Hook的开发其实可以类比接入新API,先去官网拉取Hook开发规范并写入文档,这样之后开发新的hooks也不需要在查规范直接先看文档就完了,之后再开始开发hook,并E2E测试后再接入。别笑,这事儿很严肃。三层架构的设计,提供了可以灵活接入各个平台的Gateway层,在游戏中灵活的接入Agent的能力,只需要把游戏当做一个平台,提供对应的适配器,来处理流式消息即可。并且毫无意外的是并不引入新的语法,而是就基于coding本身实现编排,毕竟这是AI当前完成最好,最容易校验的任务。
2026-06-21 16:12:03
312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅