- 博客(30)
- 收藏
- 关注
原创 LangChain框架入门:全方位解析记忆组件
在构建大语言模型(LLM)应用时,一个核心痛点在于:模型本身是无状态的。它无法记住你上一次对话说了什么,每次调用都是“初次见面”。这就像和一个患有严重失忆症的人聊天,体验极差。LangChain框架中的记忆(Memory)组件正是为解决此问题而生。本文将从实战角度,带你深入理解LangChain记忆组件的核心概念、类型,并通过大量代码演示,让你彻底掌握它。### 为什么需要记忆组件?想象一个场景:你要做一个客服机器人。用户问“我的订单到哪了?”,系统回答“您的订单已发货”。然后用户接着问“预计什么时候到?”
2026-07-31 14:23:20
39
原创 Strike 服务端运行所需的全部核心文件,用于搭建团队服务器(C服务器),支持 Beacon 客户端回连与 C 通信。 文件/目 ...
Strike 是一个轻量级且功能强大的C2框架,其服务端(通常称为“团队服务器”或C服务器)通过一系列核心文件实现与Beacon客户端的回连通信。本文将深入解析Strike服务端的全部核心文件结构、配置逻辑以及通信机制,并附带可运行的代码示例,帮助你在实战中快速部署自己的C2基础设施。掌握这些核心文件,你就能快速搭建自己的Strike团队服务器,为红队演练提供稳定、高效的C2基础设施。:主入口——处理Beacon连接这是服务器的核心,负责启动监听套接字、接收Beacon的初始连接,并分发任务。
2026-07-30 14:16:03
226
原创 VideoPipe中集成多模态大模型做视频(图片)分析
如果你正在做视频监控、内容审核、智能客服或自动驾驶相关的项目,你一定遇到过这样的需求:从海量视频帧中提取语义信息,比如识别“猫在追老鼠”、“有人在打架”或“车窗有裂缝”。但现实场景中,我们需要更细致的理解,例如:- “一个穿红色衣服的人正走向ATM机”- “画面中有三个孩子在踢球,其中一个摔倒了”- “这条狗在朝摄像头叫”这些描述需要同时理解。比如,输入一张图片,模型输出“一个男人正在喂鸽子”。在VideoPipe中集成多模态模型,可以让我们从一个简单的“检测器”升级为“理解器”,输出更丰富的语义信息。
2026-07-30 14:13:29
174
原创 硅基聊天室——如何用supervisor优雅的管理服务进程
本文将深入剖析Supervisor的原理,并用可运行的代码示例展示如何用它优雅地管理硅基聊天室的服务进程。记住,在硅基世界里,稳定的进程是用户体验的基石——Supervisor就是你的基石守卫者。你可以扩展监听器发送邮件、钉钉消息等,实现真正的“硅基”运维。## 总结Supervisor为硅基聊天室提供了一套优雅的进程管理方案:自动重启保障了服务的鲁棒性,事件系统实现了智能监控,而多进程支持则让水平扩展变得简单。想象一下,你的聊天室后端因为一个未捕获的异常崩溃,导致用户断线、消息丢失——这无疑是灾难性的。
2026-07-29 13:40:32
163
原创 【EF Core】使用外部 Model
在实际的企业级开发中,我们经常会遇到需要将数据模型(Model)从主项目中分离出来的场景。本文将从实战角度出发,详细演示如何在 EF Core 中使用外部 Model,并提供完整的代码示例。EF Core 对跨程序集的支持非常成熟,无论是简单的项目引用还是复杂的多程序集扫描,都能优雅应对。在实际项目中,建议将模型层独立出来,作为数据契约(Data Contract),从而提升系统的可维护性和扩展性。表,并插入一条记录。## 步骤1:创建外部 Model 类库首先,创建一个 .NET 类库项目,并定义模型。
2026-07-29 13:39:25
213
原创 ery里面写了Migrator和Router两个合约,其中Migrator是迁移合约,将流动性从Uniswap的V版本迁移到V版本, ...
这通常涉及:- 提取旧池中的流动性- 兑换基础资产- 在新池中重新提供流动性### 1.2 Router(路由合约)Router负责处理交易路由逻辑,包括:- 寻找最佳兑换路径- 处理多跳交易- 与Migrator协作完成迁移中的资产交换在ery项目中,这两个合约紧密配合:Migrator处理流动性迁移的“物理”操作,Router则优化资产转换路径。## 二、基础代码示例:简单的流动性迁移实现以下是一个简化的Migrator合约,展示从Uniswap V2迁移到V3的核心逻辑。本文将以ery项目中的。
2026-07-28 15:25:19
140
原创 障或者了解工作原理的目的。 一 性能监测 iostat 是最常用到的io性能监测工具,它可以实时报告读写速率、块大小、时延等重要信息 ...
然而,仅仅知道如何使用 iostat 是远远不够的——理解其背后的原理,才能真正发挥它的威力。本文将深入剖析 iostat 的工作原理,并配合可运行的代码示例,带你从“会用”到“懂用”。通过本文的原理剖析和代码实战,你应该已经掌握了:- iostat 的数据来源(## 实战:用 Python 模拟 iostat 的数据采集为了深入理解 iostat 的计算逻辑,我们编写一个 Python 脚本,直接从。的真实含义及其与并发的关系。记住:工具是死的,原理是活的——理解原理,才能在任何场景下灵活诊断。
2026-07-27 13:59:50
205
原创 一把锁的两种承诺:synchronized如何同时保证互斥与内存可见性?
线程可能将共享变量缓存在自己的核心缓存中,导致:- 线程 A 修改变量后,写回主内存的延迟。### 2. 内存可见性:从缓存一致性到 happens-before互斥只解决了原子性问题,但线程的本地缓存可能导致一个线程的修改不被其他线程看到。- 这意味着:线程 A 释放锁之前的所有写入操作,对线程 B 获取同一锁后都是可见的。通过对象监视器实现,依赖 CPU 的 CAS 指令和操作系统的线程调度,确保同一时刻只有一个线程访问临界区。判断时,会看到非空的引用,但访问未初始化的对象导致错误。
2026-07-25 13:55:31
223
原创 easy-query暴打efcore(包括其他所有orm),隐式Group看我如何在子查询做到极致的性能天花板
# 总结easy-query 的“隐式 Group”机制,通过自动推导分组键和生成原生相关子查询,彻底解决了传统 ORM 在分组聚合场景的性能瓶颈。在 .NET 生态中,EF Core 是主流的 ORM,但面对复杂查询(尤其是需要隐式分组、子查询聚合的场景),它的性能瓶颈和代码复杂度往往让人抓狂。而 easy-query 作为新兴的轻量级 ORM,通过“隐式 Group”机制,在子查询中实现了接近原生 SQL 的性能天花板。- 在百万级订单表上,easy-query 版本性能提升 3-5 倍。
2026-07-24 13:28:09
224
原创 IP计算不求人,掩码,反掩码,通配符一次学会
子网掩码用于区分这两个部分:掩码中连续的1表示网络位,连续的0表示主机位。反掩码的用处在于:它允许你灵活地匹配IP地址的特定部分,而不必严格遵循子网掩码的边界。通配符用于ACL中,定义匹配IP地址时哪些位需要精确匹配(0表示必须匹配,1表示忽略)。记住,子网掩码和反掩码是互补的,而通配符则用于ACL中的灵活匹配。这个示例展示了通配符匹配的核心逻辑:通过位运算提取必须匹配的位,然后比较IP地址和网络地址在这些位上的值。,表示所有位都必须匹配。:虽然形式相同,但反掩码用于路由协议,通配符用于ACL,不可混用。
2026-07-23 13:32:23
225
原创 记一例 vibe coding + gcc bug 导致的线程池死锁问题
这种设计,在 _M_acquire()没有 bug 时,是没有问题的,即 _M_acquire()只有在 _M_counter_为 0 时才会陷入睡眠,这样,后序的 _M_release()一定会唤醒它。是否考虑了所有的并发情况?_M_acquire()的核心就是执行 std::__atomic_wait_address,根据源码注释的描述,如果 __pred(__vfn)的结果是 false,那么 std::__atomic_wait_address就会 wait在 &_M_counter这个地址上。
2026-07-22 13:46:47
190
原创 GoF设计模式——解释器模式
每个节点只关心"下属给我的结论"和"我怎么汇总",不关心下属具体查了什么–这正是递归求值的本质。关键点:每个非终结符只关心自己这一层的规则,不关心子表达式是什么类型–AndExpression 调 left.interpret(context) 时,left 是常量、变量还是另一个 AND 它无所谓,多态自动分派到正确实现。AST 缓存:同一段表达式解析出的 AST 是纯结构、无状态,可以缓存复用,第二次执行直接取缓存树、只重新求值,规则引擎和模板渲染等"同一公式反复跑"的场景效果显著。
2026-07-22 13:46:02
160
原创 Magicodes.IE.IO:IBufferWriter<byte>——为什么 XLSX 写入不直接使用 Stream
BufferWriterStream 继承自 Stream,但对 Write 的实现是:从 IBufferWriter 拿一块 Span,把传入的数据 CopyTo 过去,然后 Advance。Stream 抽象的是"字节流",它的 Write(byte[] buffer, int offset, int count) 要求调用方提供一个已经存在的 byte[]。它的价值不在于三个方法本身,而在于把“取得可写区域”和“提交已写长度”这两个动作固定下来,让调用方可以复用目标缓冲区,少做临时数组和中间拷贝。
2026-07-21 14:18:01
164
原创 【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (9)--- Reward Judging
系列的目的是:借着对 OpenClaw-RL 源码的学习,来梳理强化学习的一些相关概念和思想。所以,会有一些基础知识、扩展和发散,OpenClaw-RL 只是一个切入点。而且,因为整篇系列是一个整体,所以有些概念的解读/学习会在不同的文章中出现,还请大家谅解。OpenClaw-RL 是一个用于在线强化学习(Online RL)的框架,专门针对智能体工具使用场景。
2026-07-21 14:17:18
176
原创 FastAPI订单防超卖实战:从数据库锁到Saga分布式事务,这一篇给你理清了
🔒 别再裸奔了:先搞懂事务这层保护膜咱们写业务代码,最怕的就是“半拉子工程”。扣了钱库存没减,或者减了库存钱没扣着。这时候必须得把 ACID 刻在烟上吸进肺里,尤其是原子性。简单打个比方:转账就像你左手倒右手,你不能接受左手已经空了,右手还没接到吧?事务就是那个 begin 、 commit 和 rollback 的保镖。用大白话翻译一下:begin:搬个小板凳坐下,我要开始搞事情了,闲人勿扰。commit:好了,活儿干完了,完美收工,落子无悔。
2026-07-20 13:59:37
197
原创 PREEMPT_RT 技术实现:RCU
Preemptible RCU对比普通RCU, 将preempt_disable替换成current->rcu_read_lock_nesting的嵌套层级计数。无锁访问:读者通过 rcu_read_lock() 和 rcu_read_unlock() 标记临界区,无需获取锁,直接访问数据。RCU 将更新操作拆分为 移除(替换) 和 回收(释放) 两个阶段,并引入 宽限期(Grace Period) 确保安全。Assign(替换):用原子操作(rcu_assign_pointer)将全局指针指向新副本。
2026-07-20 13:59:03
206
原创 Magicodes.IE.IO:XLSX I/O 管线:数据如何进出工作簿
把组件称为“Excel 引擎”很容易让读者期待一个可随机编辑、可计算公式、可保留全部工作簿状态的对象模型。输入流、ZIP 解压、当前行缓冲和业务对象也都占用内存。写入侧的热点路径会尽量减少临时数组和字符串:池化字节缓冲、UTF-8 直接格式化、固定 XML 片段和生成的 cell writer 都服务于这个目标。这也是本文后续按“包结构、单元格、字符串、映射、异步”来组织,而不是把导入和导出拆成两套薄文章的原因。因此文章中的性能结论必须限定到具体 API、TFM、数据形态和输出/输入目标。
2026-07-19 14:43:35
160
原创 重Harness已死:强模型自己就能把活干漂亮
大一点的任务,在LLM卡的时候,甚至会跑一整天。说白了,我多花了三四倍的时间、一倍多的额度,换回来的产出其实差不多,我自己过了一遍,功能都在,质量也还行,该有的TDD,大模型自己也加上了。第二遍我绕过了Harness开发技能链,同一份 specs 直接丢给 Kimi K3,不写计划,不派评审,不强制 TDD 步骤,让它自己干,二十来分钟就完事了,额度才烧了一成多点。两边各干各的,得出的结论却一样,说明这跟谁设计得高明不高明没关系,是这一代流程框架共有的时代病(毕竟以前模型能力差的时候,确实需要)。
2026-07-19 14:42:53
185
原创 OpenClaw.NET .NET 原生插件开发完全指南:以 Mempalace 插件为范例
OpenClaw.NET 插件系统架构解析1.1 系统定位与设计哲学1.1.1 NativeAOT 友好的 AI Agent 运行时与网关OpenClaw.NET 是一个完全由 C# 13 从零构建的、独立且自我托管的 AI Agent 网关与运行时框架,其核心设计目标之一是全面拥抱 NativeAOT(Ahead-of-Time)提前编译技术。
2026-07-18 14:21:39
190
原创 正式出版物: typst vs markdown(pandoc) vs latex
前也在学习typst,感觉适合有编程基础的学,毕竟 #开头 的都是代码/命令。希望typst能变成pandoc的替代品,pandoc的ppt转译器或其架构不太好调整了,也比较久没维护了,没有新功能。需求先总结pandoc虽然支持格式广泛,但如果要做到正式出版物的程度,要折腾,消耗很多精力,找各种第三方插件,还有各种坑。可能会出现,我明明在写文章,但我得先去修复插件的bug 😂。如果一定需要支持可编辑的doc/ppt,再考虑pandoc+markdown吧。
2026-07-18 14:20:58
191
原创 索引——查询加速的基石
要点说明索引的本质B-Tree 结构,相当于书的目录聚集索引每表一个,叶子节点存完整数据行非聚集索引每表最多 999 个,叶子节点存指针Seek 是 O(log N),Scan 是 O(N)索引不是万能的维护有成本,查询写法会影响使用定期检查清理无用索引,补充缺失索引,处理碎片一句话记住本期内容索引是查询加速的基石,但缺少索引一定慢,索引过多也一定慢——关键在于平衡。
2026-07-17 13:41:55
345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅