- 博客(28)
- 收藏
- 关注
原创 基于NativeAOT的 OpenClaw.NET 深度刨析
高达数百兆的空闲内存占用、Serverless 环境中难以忍受的冷启动延迟、跨平台进程管理中的系统级错误,以及最为致命的——缺乏物理隔离导致的供应链安全漏洞,共同构成了制约大规模生产部署的物理与安全边界。它使得系统具备了真正意义上的“前向兼容”(Forward Compatibility)能力——未来无论涌现出何种具有颠覆性的新型大模型或奇异的参数结构,只要微软的基础抽象库进行了适配,OpenClaw.NET 就能在不修改一行核心代码的前提下,开箱即用地支持这些全新模型。
2026-04-05 13:39:32
385
1
原创 .NET Win32磁盘动态卷触发“函数不正确”问题排查
对于动态卷、跨区卷,正确的问题不是“这个卷对应哪个磁盘号”,而是“这个卷分布在哪些物理磁盘 extent 上”。3 // 打开卷设备 volumeName: \\?也就是说,原来是一个特殊卷拖垮全部磁盘查询,现在变成了特殊卷按能力降级处理,普通磁盘查询保持可用。而动态卷、跨区卷这类卷,本质上已经不是简单的“一个卷对应一个物理盘分区”模型。原来的逻辑默认一个卷一定能映射到一个磁盘号,但动态卷、跨区卷打破了这个前提。当前逻辑中,代码会先枚举系统卷,再通过卷句柄去反查磁盘号。
2026-04-05 13:38:56
379
原创 Heap(堆)基础知识与UAF及Fastbin attck
tcache:在libc-2.26后加入了tcache机制,tcache机制简单来说就是,释放后的堆块如果小于0x410(64位下)就先进入tcache,当tcache满后(7个)再看能否合并,不能则根据大小放入fastbin,smallbin,largebin,unsortedbin中,在tcache中的堆采用lifo机制并是单向链表且p位恒为1(不进行合并)。
2026-04-04 13:33:04
369
原创 AI Compose Commit:用 AI 智能重构 Git 提交工作流
个未暂存的修改文件,却不知道该如何将它们组织成合理的提交?传统的方式是手动将文件分批暂存、逐个提交、撰写提交信息,这个过程既耗时又容易出错。咱们就常常在这上面浪费了不少时间,毕竟谁也不想在已经疲惫的晚上还要为这些琐事烦心。我们在 HagiCode 项目中推出了一项新功能——AI Compose Commit,旨在彻底改变这个工作流程。它通过 AI 智能分析工作区中的所有未提交变更,自动将它们分组为多个逻辑提交,并执行符合规范的提交操作。
2026-04-04 13:32:02
374
原创 C++ 内存避坑指南:如何用移动语义和智能指针解决“深拷贝”与“内存泄漏”
特性值传递 (T)引用传递 (T&)指针传递 (T*)内存行为深拷贝 (Deep Copy)零拷贝(别名)零拷贝(传递地址)浅拷贝 (复制引用)修改外部?❌ 不能✅ 能✅ 能✅ 能能否为 Null❌ 不涉及❌ 不能(必须绑定对象)✅ 能nullptr✅ 能语法复杂度简单简单繁琐 (->简单适用场景intbool等小类型首选方案(非空对象)兼容 C默认行为为了打破这个僵局,C++11 引入了右值引用 (&&。但首先,我们要搞清楚什么是“右值”。
2026-04-03 13:51:27
359
原创 看一遍就懂-大模型架构及encoder-decoder详细训练和推理计算过程
信息的双向流动:Encoder通过双向Attention理解源句子,Decoder通过Causal Attention保证生成的自回归性,Cross-Attention则让两者协同工作。端到端可微:从输入token到输出概率的整个链条都是可微的,可以用一个统一的损失函数端到端训练,不需要分模块训练。Teacher Forcing的妙处:训练时给Decoder"正确答案"作为输入,让它学习"基于正确历史的预测",避免了错误累积,大幅加速收敛。
2026-04-02 14:10:44
350
原创 如何让你的系统抗住高并发的流量?
服务进行了拆分,如果数据库还是用一个,那么瓶颈肯定很容易出现在数据库,所以我们可以根据业务场景(读多写少/读少写多)将数据库进行读写分离,这样当读流量大了的时候,也不会影响写的效率。服务进行了拆分,如果数据库还是用一个,那么瓶颈肯定很容易出现在数据库,所以垂直分库是必须的,要做到专库专用,这样可以解决服务太多,数据库连接数太多的问题,减少数据库的压力。缓也可以说是缓冲,服务和数据库的拆分只是解决了扩展性的问题,但如果流量瞬间爆发,比如秒杀,节日大促,数据库还是容易会被打挂。实际落地选型通常来说比较建议。
2026-04-02 14:09:50
340
原创 FastAPI + TinyDB并发陷阱与实战:告别数据错乱的解决方案
本文针对在FastAPI框架下使用TinyDB(JSON文件数据库)时遇到的并发写入数据冲突、错乱问题,深入浅出地解释了问题根源,并提供了从“文件锁”到“内存队列”再到“乐观锁”的三种由浅入深的实战解决方案,帮助你根据实际场景选择,确保数据一致性。
2026-04-01 14:50:48
321
原创 基于.NET操作Excel COM组件生成数据透视报表
NET与Excel的互操作主要基于Microsoft提供的COM组件接口。通过这些接口,.NET应用程序可以控制Excel应用程序、访问工作簿、工作表、单元格等对象,并执行各种操作。这种方式的优点是功能完整,可以实现Excel的所有功能;缺点是需要安装Excel应用程序,并且需要注意COM对象的资源释放问题。// 为数据源区域创建命名区域// 在创建数据透视表时使用命名区域// 设置值字段的数字格式var sumField = pivotTable.PivotFields("销售金额合计");
2026-04-01 14:50:15
418
原创 关于面向对象的哲学体系及科学体系的探讨(中)
再上升一点,你一生交互过的所有东西,都是对象,而没有一个具体的类。以类为准则,理论上可行,但这样有问题,就是类本身是对象“实体的抽象”,是为了更好记忆、描述和认识世界而创建的对象,归根到底,还是“实体”范畴的概念,所以在哲学上还是和“以行为作为交互准则”向左。例如,有一个人现在在北京航空航天大学上学,从这“一个人可”以泛化出“人”这个类,而北航可以泛化出“大学”这个类,但这个具体的人和北航的这种关系可没有被泛化到两个类中,也就是说,并不是每一个“人对象”都可以去任何一个“大学对象”去上学的。
2026-03-31 15:12:48
384
原创 重温设计模式(六)—— 阶段总结一
假设现在有100对男女在聊天,那么根据boyName+_+girlName,可以把所有对象分成100组,由于这每组对象的content是不同的,也就是每次回发给服务器时,这个content都无法被重利用,所以说100组对象,共有100个对象,而这个100个对象,把外蕴状态剔除掉,还是100个对象。这个项目的问题在于外蕴状态,我们知道每一次和每一次的聊天内容,也就是content是不同的,我把这个content去作为外蕴状态,本身就没有共享,重利用的意义。享的什么不重要,总之,目的只有一个,节省内存。
2026-03-31 15:11:51
347
原创 IC工程师常用linux命令(持续更新ing)
lesstailtail -fgrepgrep -ngrep -rfindwcdudf数字 IC 设计与验证环境中,在Linux 服务器上进行仿真日志(simulation log)、编译日志(compile log)、以及 RTL 调试信息分析时常用的命令和操作方法。快速定位分析仿真失败原因搜索RTL 信号或模块提高log 调试效率VCSVerilatorXceliumFPGA 仿真环境。
2026-03-30 15:04:38
357
原创 MyBatis-参数处理与查询结果映射
方案二:使用concat函数 where name like concat('%',#{name},'%') 此时会编译为 where name like concat('%','涨三','%') 执行成功。${}传来的字符串类型的数据不带单引号,比如:user_name=#{name} 会编译为 user_name=张三。‘#{}’传来的字符串类型的数据会自带单引号,比如:user_name=#{name} 会编译为 user_name=‘张三’直接用where id in (#{id})会失效。
2026-03-30 15:03:59
356
原创 FastAPI实战:WebSocket长连接保持与心跳机制,从入门到填坑
后台心跳检查线程每30秒跑一次,如果某连接超过70秒没收到心跳,就主动关闭。这个70秒一定要大于客户端的心跳间隔(比如客户端30秒发一次,那70秒大概漏掉2次都没回复才断,防止网络抖动误杀)。),打开浏览器控制台,你会看到每隔30秒发送一次ping,服务器立即回复pong。同时,为了及时清理死连接,我会记录每个连接的最后心跳时间,启动一个后台任务检查超时(比如60秒没收到心跳就主动close)。—— 1秒一次纯属自残,30秒一次足够,既保活又省资源。,一定记得对齐,否则服务器不认,相当于没心跳。
2026-03-29 15:25:33
340
原创 PipedInputStream和PipedOutputStream的源码分析和使用方法详细分析
线程间通信机制,允许一批(多个)线程向PipedOutputStream写入数据,另一批(多个)线程从PipedInputStream读取数据。但是,同一批(多个)线程相互之间会存在竞争,比如,同一批向PipedOutputStream写入数据的线程会存在竞争,同一批从PipedInputStream读取数据的线程也会存在竞争。因此PipedInputStream和PipedOutputStream中的线程安全需要通过synchronized关键字和wait()/notifyAll()机制实现。
2026-03-29 15:24:49
367
原创 QT快速开发框架
是一个基于CMake的 Qt 快速开发框架/脚手架。它不是试图替代 Qt,而是填补"项目初始化"到"业务开发"之间的空白——你不再需要为每个项目复制粘贴基础设施代码。开箱即用的项目骨架,而非重量级业务框架。
2026-03-28 15:07:55
219
原创 从回调函数到Promise
众所周知,JavaScript 的主线程是单线程执行的,所有的同步代码都是在一个线程中执行的,当遇到一些耗时操作时(比如网络请求、文件读取等),如果采用同步的方式去处理这些操作,就会阻塞主线程,导致页面卡顿,用户体验变差。关键字用于创建一个新的对象实例,并将其原型链接到构造函数的原型对象上,也就是让新创建的对象继承构造函数原型上的方法和属性,结合上面的例子就是说我们创建的。理解成一个异步操作的代理,它是异步操作的返回值,原本只有同步操作才能有返回值,异步操作只能使用我们上面所说的回调函数嵌套来获得结果。
2026-03-28 15:06:56
223
原创 OFA 视觉问答(VQA)模型部署教学(避坑完整版)
OFA(One For All)是字节跳动提出的多模态预训练模型,支持视觉问答、图像描述、图像编辑等多种任务,其中视觉问答(VQA)是最常用的功能之一——输入一张图片和一个英文问题(该模型仅支持英文),模型就能输出对应的答案(比如输入“瓶子”图片+问题“What is the main subject?”,输出“a water bottle”)。本次部署使用 ModelScope 平台的。
2026-03-27 14:00:24
345
原创 Sdcb Chats 1.10 私有化代码执行器部署教程
如果你打算将 Chats 开放给未经充分信任的用户使用(例如搭建类似 ChatGPT/Manus 的公开服务),务必认真配置以下安全策略,避免服务器资源被滥用甚至被攻击。Chats 的代码执行器原理是:当模型需要执行代码时,Chats 会动态创建一个一次性的 Docker 容器(沙箱),在里面运行代码并获取结果。Chats 会自动创建一个隔离的 Docker 环境,编写 Python 代码,执行并把生成的图片直接贴在对话框里。如果你不习惯使用 Docker 部署应用,我们提供了基于预编译的原生可执行文件,
2026-03-27 13:59:13
344
原创 LLM应用实践: NoteBookLM初次使用
SyntaxGenerator.Generic("List", SyntaxGenerator.IntType)是SyntaxFactory.GenericName("List").AddTypeArgumentListArguments(SyntaxFactory.PredefinedType(SyntaxFactory.Token(SyntaxKind.IntKeyword)))的简化。ParseTypeName代码为SyntaxFactory.ParseTypeName("Models.User")
2026-03-26 15:23:29
342
原创 用 Laravel 官方 AI 工具提升开发效率
未来的家,不应该是一个堆满电器的房子,不应该是一个需要你指挥的“智能工具”。未来的家,应该是一个懂你、体贴你、主动为你分忧的“人”——一个有温度的、像家人一样的存在。扫地机不知道空调开着(它只管扫它的),空调不知道窗户开着(它只管制冷),你家里住着一群“各扫门前雪”的机器,没有一个统筹全局的大脑。它只关心“你说了什么”,不关心“你在什么情况下说的”“你真的需要吗”“有没有更好的方式”。你到家时,它温柔地说:“今天外面很热,但考虑到你这个月的预算,我提前开了新风,只预冷了卧室。你喊“开空调”,它就开。
2026-03-26 15:13:44
219
原创 零代码零基础!小红书MCP全自动化运营【保姆级安装教程】
小红书MCP(xiaohongshu-mcp)是一款能实现小红书自动化运营的工具,支持登录验证、图文/视频发布、评论互动、用户信息查询等核心功能。相比源码编译、Docker部署,下载预编译安装包是最快捷的方式,无需配置开发环境,新手也能快速上手。本文将全程基于「安装包下载」的方式,手把手教你完成小红书MCP的部署、接入Cursor编辑器,并演示核心功能的使用,让你轻松实现小红书内容的自动化管理。
2026-03-25 14:56:14
359
原创 Linux下GNU Autotools工具基础教程 _
GNU Autotools并不是一个工具,而是由一系列的工具合集组成,在现如今的Linux发行版中,大概率是自带这些工具的,如果没有可以自行下载autoscan:这个工具主要是用来扫描查找源代码目录下的源文件用来生成文件。文件是自动生成的模板,里面包含了一些系统配置的基本选项都是一些宏定义,这些宏通过autoconf工具处理后会变成检查系统特性、环境变量的shell脚本,我们可以根据这个模板修改,最后将重新命名为文件aclocal:这个工具是一个perl脚本程序,他主要用来根据上一步的。
2026-03-25 14:55:27
382
原创 将分散的Pytest测试脚本统一接入测试平台:FastAPI改造方案详解
启动 Fastapi 项目后,便可在测试平台通过调用相关接口来管理该脚本测试项目(平台调用代码不具体提供)。原有脚本项目核心目录保留不变,改造后新增「API 层、配置层」,确保原有脚本无需修改即可复用。改造后,新增了 Fastapi 路由层。,以及 FastAPI 应用入口。① 获取项目与模块信息。
2026-03-24 13:23:02
219
原创 【Azure APIM】APIM的自建网关如何解决自签名证书的受信任问题呢?(不成功方案的分析)
了以上三种方案的情况下:在AKS集群的官方文档中,说可以直接更新集群,把自定义证书颁发机构(CA)向节点的信任存储添加多达 10 个 base64 编码的证书。所以,基于这个文档,本文尝试了第四种方案:使用 az aks update --custom-ca-trust-certificates 证书命令。
2026-03-24 13:21:50
210
原创 PHP 异步与多线程 从 TrueAsync 展望未来
PHP GC 用两种算法:引用计数做主要内存管理,并发循环收集(Concurrent Cycle Collection,Bacon-Rajan,2001)处理循环。循环收集器虽然叫"并发",但只在单线程内工作,用颜色标记(PURPLE → GREY → WHITE/BLACK)找循环,也不是线程安全的。PHP 内存管理器是给单个 PHP VM 的对象设计的,不面向多线程。出来后,I/O-bound 代码有了好工具,但 GIL(全局解释器锁)挡着,单进程内没法真正 CPU 并行(写这篇文章时问题已解决)。
2026-03-23 20:44:38
319
原创 记一次 .NET 某MES上位机拍照系统 内存暴涨分析
这是训练营里的一位朋友找到我的,说他们的系统会有偶发的内存暴涨情况,自己也没分析出来,让我帮忙看下怎么回事,拿了一个。的dump文件,这文件是够大的,我个人建议一般是不超过10G,不然的话windbg分析起来很吃力。从卦象看,真尼玛坑爹呀,halcon的释放居然还要和某一个窗口通讯,即底层的。区域,也就是终结器线程提取数据的地方,可以看到此时这个小节里积压了。,既然占了一半多的提交内存,看样子要从托管堆入手了。的数据,也就表明此时的终结器线程应该出了问题。看托管内存的占用,可以借助强大的。
2026-03-23 20:43:57
214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅