- 博客(28)
- 收藏
- 关注
原创 系统总体架构
接着应用层进行操作上的协调,利用Repository、领域模型、领域层服务Domain Service 完成业务需要,再通过数据转换器把领域对象Domain Object转化为数据传输对象DTO。长期的发展,使不少的企业针对单个功能模块开发出一套独立的系统,再通过强大的虚拟化技术为第三方提供服务,这就是云计算的前身。注意留意的是SOA系统中,UI表现层与Application Service应用层服务是实现分离的,表现层可以同时调用多方的远程服务来完成工作。
2026-07-04 13:41:35
181
原创 领域层的服务
特别是在分布式开发系统中,应用层与表现层之间是实现分离的,更多时候两者是由不同部门所开发的模块,表现层不会了解应用层中的逻辑关系,Person,Order,OrderItem三样东西在表现层看来,也就是同一样东西,那就是返回值。你可能会说,在这个业务流程中,除了积分优惠Person.Point以外,其他的业务都只与Order的属性有关,按照充血型模型的方案,完全可以把这些业务放到Order的方法当中,而把积分优惠独立成为一个服务。//调用服务层的AccountManager对象,计算费用,修改Order。
2026-07-04 13:40:51
226
原创 一个简单粗暴的前后端分离方案
现在前后端分离后,无法依靠后端来给你渲染,所以得在前端做了。除了用$.load异步加载的子页面,剩余的局部页面就是用handlebars提供的模板渲染了,我使用了handlebars的预编译功能,不得不说很强大,一来节约了页面加载阶段所需的编译时间(编译handlebars模板),二来编译后的模板(js文件)方便复用。因此,一个模块有一个主html页面,初始只有一些基本的骨架,有一个名字相同的js文件,该模块逻辑都在此js文件中,有一个名字相同的css文件,该模块的所有样式都定义在此css文件中。
2026-07-03 16:21:37
182
原创 Mono为何能跨平台?聊聊CIL(MSIL)
其实小匹夫在U3D的开发中一直对U3D的跨平台能力很好奇。到底是什么原理使得U3D可以跨平台呢?后来发现了Mono的作用,并进一步了解到了CIL的存在。所以,作为一个对Unity3D跨平台能力感兴趣的U3D程序猿,小匹夫如何能不关注CIL这个话题呢?那么下面各位看官就拾起语文老师教导我们的作文口诀(),和小匹夫一起走进CIL的世界吧~
2026-07-03 16:20:50
211
原创 wxWidgets常见辅助类的应用示例
wxWidgets提供了一系列功能强大的辅助类(Helper Classes),涵盖了字符串处理、文件操作、XML解析、数据流、数据库和网络通信等功能,这些类为跨平台GUI开发提供了基础工具支持,帮助开发者完成各种任务。wxWidgets库可用于创建控制台和图形界面(GUI)应用程序。本文将通过一些控制台应用程序的示例,阐述部分核心辅助类的使用方法。
2026-07-02 17:52:45
171
原创 补充说明wxWidgets在Windows下使用CMake的配置
使用此构建方法可以直接生成一些繁琐的CMake配置,简化了CMake构建项目的工作。可以参考minimal的CMakeLists.txt文件,find_package命令使用如下如果是直接集成编译的库,CMake是不能成功构建minimal的,因为CONFIG指示CMake只查找Config模式的配置文件。没有安装上述方式的配置,只能使用这看起来就复杂不少,因为缺乏预先的配置,所以如果你使用CMake构建项目,我建议你使用上述方式的配置。
2026-07-02 17:51:42
171
原创 tomcat为什么假死了.md
我们生产最近有个服务偶尔会挂掉,接口报错"",上服务器curl也是同样报错,意思连接被server拒绝了。通过dump以及日志分析,我们已经知道了问题代码所在,就是使用easyexcel上传、解析文件,开发同学没有做分页,导致内存溢出。。内存溢出后,触发频繁的full gc,由于gc很难有效回收内存,所以程序抛出了OutOfMemoryError,原因是:Java heap space。内存无法分配新的对象。典型的场景是:内存不足,内存泄漏,分配的对象过大。
2026-07-01 15:21:58
181
原创 手算神经网络BP传播算法
然说是手算,但是我还是会写一点 C# 代码,避免敲坏了计算器。我和大家保证,整个手算过程中,最终的计算结果只需要用到初高中知识。推导过程会用到部分高数的知识。我尽量将用到的知识点全列举出来,本文对学渣友好,期望能够拿出纸笔和 VisualStudio 的伙伴阅读完本文能够真的理解神经网络BP传播算法是如何计算的看了一下时间,今年确实 2025 年,而不是 2015 年。在 2025 时还在聊BP 算法实在有点一言难尽。我在 10 多年前尝试写过贴近的程序,当时写的时候有一些概念没有理解,但代码是写了也能跑,
2026-07-01 15:21:16
224
原创 SQLAlchemy中使用UPSERT
SQLite 和 PostgreSQL 都支持 UPSERT 操作,即"有则更新,无则新增"。冲突列必须有唯一约束。
2026-06-30 13:51:21
232
原创 基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
所有写操作均经过业务校验与事务封装,确保数据完整性。为每个功能模块定义独立的更新信号,当某一模块执行了影响全局数据的操作(如完成销售)时,仅需发射对应信号,其他关联模块监听信号并执行自身的数据刷新,无需知道信号发射方的内部实现。主窗口采用标签页式布局,整合各业务模块,通过信号/槽机制与业务层通信,界面样式通过QSS统一管理,实现表现与逻辑分离。:通过DatabaseManager类封装所有数据库操作,对外提供领域化接口,内部屏蔽SQL细节与连接管理,采用参数化查询保障数据安全,通过事务保障写操作的原子性。
2026-06-29 13:53:52
204
原创 基于Python+Django的健身房管理系统实现:核心亮点全流程解析
系统采用分层解耦的设计原则,基于Django原生MVT(Model-View-Template)模式构建三层架构,各层职责单一,接口清晰,便于后续功能迭代与维护。表现层:负责界面渲染与用户交互。采用Django Template引擎结合SimpleUI后台主题构建管理界面,集成ECharts实现数据可视化,通过Bootstrap保障多终端响应式适配。业务逻辑层:负责核心业务规则处理。通过视图函数承接请求,调用业务逻辑完成数据处理,依托Django Admin能力快速实现后台CRUD操作的定制化。数据访问层:
2026-06-29 13:53:07
177
原创 Cloud Agent 开发笔记(4):Skill 与 MCP 集成、项目后记
V1 验证的是产品形态:由管理员角色集中创建和维护 Skill、配置 MCP 连接,普通用户在对话中调用这些能力,而不需要自己理解背后的技术细节。这个管理模式在业务场景里是成立的。但 V1 的 Skill 和 MCP 实现和 V2 完全没有继承关系:V1 用 Python 写、靠 XML 解析、塞在 God 类里,V2 是用 TypeScript 从零设计的,参考的是 Claude Code 的架构而非 V1 的代码。V2 继承的是 V1 验证过的管理模式,不是它的实现。场景也变了。
2026-06-28 14:31:31
187
原创 AI Coding 如何影响交付链路重构:写代码更快了,为什么人反而觉得更累了?
很多团队最近都有同一种错觉:,需求却没有同样幅度地更早上线。人没有更闲,反而更容易被多个需求、多个 Agent、多个评审点位同时拉扯。这不是工具失灵,也不只是使用姿势不对。问题在于,,而需求交付从来不是一个只有编码的系统。代码一旦变便宜,真正稀缺的东西会立刻暴露出来:,以及每一次是否值得做的判断。如果把视角只放在 IDE 里,很容易高估对整体交付的拉动。
2026-06-28 14:30:51
215
原创 Midscene 实战:告别 XPath,用自然语言实现 UI 自动化测试
痛点一:元素定位脆弱传统工具依赖 CSS 选择器、XPath 定位,一旦页面 UI 调整,定位器就失效。用例维护成本极高,一个中大型项目可能 30% 的维护工作量都耗在这上面。痛点二:学习门槛高想要写自动化,必须先学 XPath、CSS 选择器语法,再理解 Playwright/Cypress 的 API 体系。光是环境配置和语法学习,新人就可能消耗 1-2 天。痛点三:跨平台能力弱传统 Web 自动化工具只能在浏览器里转悠。想要测试桌面应用、移动端?得学另外的工具,用另外的写法。
2026-06-27 13:46:46
216
原创 把自己“博客转推文“蒸馏成一个 Agent Skill
从今年起,我个人每个月消耗的 token 量在左右,累积烧了 40 亿 tokens。因为我几乎所有重复性的工作,都封装成了 AI 工作流。什么叫工作流呢?你可以理解为一套固定的操作规范和流程,也可以简单理解为 Agent Skills 技能包。AI 可以按照这个流程去执行任务,我只需要给它一个触发信号就行。下面给大家分享一下我自己的 AI 工作流,希望能给大家一些启发。
2026-06-25 13:23:32
170
原创 Openclaw TaskFlow究竟是什么?和普通Skill技能有什么区别
TaskFlow 不是替代普通技能,而是补充:普通技能工具(锤子、螺丝刀)TaskFlow工作台(有抽屉存放半成品、有夹具固定工件)你可以用锤子(普通技能)敲钉子,但如果你要做复杂的家具(长时间工作流),就需要工作台(TaskFlow)来:存放半成品(状态持久化)固定工件(状态管理)等待胶水干(等待机制)分步骤完成(多步骤协调)
2026-06-24 14:03:07
227
原创 Java + EasyExcel 实现单个接口导出多个Excel
用户列表和订单列表,分别创建对应的实体类,通过 EasyExcel 的 @ExcelProperty 注解指定 Excel 表头名称(注解参数就是最终 Excel 中显示的表头)。实体类用 Lombok 的 @Data 注解简化 getter/setter 代码,无需手动编写,节省开发时间。
2026-06-24 14:02:23
190
原创 你的显卡能跑多少算子?用 55 个检查项,给 PyTorch GPU 环境做一次冒烟测试
Windows 上用 RX 6650 XT 跑自编译 ROCm + PyTorch 的时候,我遇到一个问题:LLM 推理确实跑在 GPU 上了,但加速比只有 1.7-2.0x,任务管理器里 GPU 利用率也很低。第一反应是——是不是很多操作没有 GPU 路径,PyTorch 悄悄把计算挪回了 CPU?为了搞清楚这件事,我写了一个简单的 Python 脚本。如果某个操作直接报错,或者输出跑到了 CPU,那就值得深挖一下。
2026-06-23 14:04:11
163
原创 从 LangGraph 回到 Model-Tool Loop:更聪明的模型,正在让 Agent 架构重新变简单
在 Web 开发里,我们不会为了加日志、鉴权、限流、压缩、异常处理,就重新设计 HTTP 请求流程。不同业务逻辑、工具说明、安全策略、输出格式、异常处理,全都混在一起。它可能不按格式输出,可能跳过步骤,可能忘记系统提示,可能随便编工具参数,可能在应该调用工具的时候直接胡说,可能在应该等待人工确认的时候擅自执行。所以对于大量通用 Agent 场景,严格工作流并不会让系统更聪明,只会让系统更像一个复杂但笨重的表单流程。在大语言模型能力还不稳定的时候,企业级应用最怕的不是模型不够聪明,而是模型不够听话。
2026-06-23 14:03:28
158
原创 用SymPy自动计算抛物线求根、判别式与顶点
SymPy 可以帮我们把求根、判别式计算、顶点坐标求解全部自动化,而且返回精确的符号表达式。# 定义二次函数# 1. 判别式# 2. 求根 —— 一行搞定,自动给出含根号的精确解# 输出:[-b/2 - sqrt(b**2 - 8)/2, -b/2 + sqrt(b**2 - 8)/2]# 3. 求顶点(导数求极值)vertex_y = expr.subs(x, vertex_x) # 代入得到顶点纵坐标solve返回的根自带根号,当判别式<0时,它会变成复数形式(如。
2026-06-22 16:14:56
226
原创 测试人必备的用例评审SKILL,采纳率提升至95%以上
这个SKILL本质上是一个用例与需求的智能比对工具。输入:测试用例(Excel)+ 需求文档(Word/PDF/图片)处理:文档解析 → 功能点提取 → 智能匹配 → 缺口识别输出:覆盖率报告 + 缺失用例清单 + 补充建议哪些功能点测到了,哪些没测到,哪些测得不完整。整个过程自动化程度很高,不需要复杂的配置,文件丢进去就能用。测试用例评审是质量保障的重要环节,但手工评审效率低、标准不统一、容易遗漏。这个SKILL通过文档智能解析+覆盖率自动分析,让评审效率提升10倍以上。
2026-06-22 16:12:49
371
原创 同样是库文件,嵌入式静态库和动态库差异到底在哪?
静态库动态库模块独立性编译时绑定,所有符号暴露在同一个链接命名空间,容易冲突运行时绑定,各 .so 独立编译,符号可限制可见性,避免命名冲突加载时机程序启动时一次性全量加载可选择启动时加载或运行时按需加载 (dlopen)延迟加载支持不支持支持内存效率低(全量常驻)高(按需分配)启动速度慢(全量)快(按需)插件扩展困难(需重新编译)容易(dlopen/dlclose)条件编译大量 #ifdef 导致代码可读性差,测试覆盖不全通过运行时配置决定加载哪些模块,减少 #ifdef 爆炸。
2026-06-21 14:59:53
165
原创 UI Output Protocol 架构拆解:Markdown、HTML 和 UI DSL 如何分工
最近不少 AI 产品开始把回答做得越来越"像页面":有卡片、有筛选器、有图表,也有可点击操作。于是一个问题被反复拿出来讨论:?这个问法容易把方向带偏。真正变化的不是某个标记语言赢了另一个,而是 。早期 Chatbot 只需要把话说清楚,Markdown 已经够用;Agent 产品要把结果接到任务流里,用户不只看,还要点、筛、改、提交、回滚。到了这一步,产品需要的就不是"更强的文本格式",而是一套模型和前端都能遵守的 。图:AI 产品输出从可读文本,逐步走向可操作的任务工作台。
2026-06-21 14:59:12
156
原创 OpenClaw.NET 重大更新:Goal 机制登场,让 AI Agent 不再“半途而废“
与其试图训练模型"不要偷懒",不如在运行时层面为 Agent 装上"导航系统"。模型无关:不依赖特定模型的行为改进,适用于任何 LLM Provider(OpenAI、Claude、Gemini、本地模型等)成本可控:Token 预算系统防止无限制消耗安全可靠:六状态状态机 + 阻塞检测 + 外部验证,多重安全网体验一致:CLI、TUI、Web Chat 统一的交互体验对于产品经理和技术管理者来说,Goal 机制的成熟意味着 AI Agent 从"玩具"向"生产工具"的又一步跨越。
2026-06-19 21:24:36
204
原创 AI Agent 全日制30天速成|Day3 笔记
支持向量添加、批量入库、相似度TopK检索支持向量与原文映射存储(索引→文本元数据)百万级以内向量检索速度极快,适合学习阶段使用。
2026-06-19 21:23:50
317
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅