- 博客(28)
- 收藏
- 关注
原创 C#如何优雅处理引用类型的深拷贝
年前写过一个 bug,根因很土:该深拷贝的地方没深拷贝,副本一改,原件跟着变。排查的时候老板以为动的是库里的数据,其实就是一个本地对象被共享了。:值类型复制一份;引用类型复制的是引用,两边还指着同一个子对象。你改副本里的引用成员,原件也会变。只复制对象自身的一层:字段/属性里如果是值类型,会复制一份值;如果是引用类型,复制的是引用(指针),新旧对象仍指向同一块堆上的子对象。:引用链上也建新对象,改副本不该动到原件的嵌套数据。
2026-07-08 13:16:57
185
原创 CC5 反序列化链分析
本文通过分析一个完整的 CC5 利用链代码,深入理解其构造思路和触发机制。// 要执行的命令(根据系统调整)// Windows 弹出计算器// Linux 创建文件// 1. 构造恶意 Transformer 链(执行命令)new ConstantTransformer(1) // 占位,不影响执行// 2. 先用一个无害的链占位(防止在构造 LazyMap 时意外触发)// 3. 创建 LazyMap,其 factory 是 transformerChain。
2026-07-08 13:16:23
172
原创 可持久化线段树/主席树 学习笔记
写法其实就是定义一个结构体,维护前驱,当前的值,当前的位置,用当前版本查询。我们用可持久化数组,即可持久化线段树 1 来讲。
2026-07-07 13:28:10
213
原创 UIImageView 设置图片不生效的原因排查
属性为暗黑模式图片,系统也会自动切换到暗黑模式图片。中按照下面方法取出对应的深色模式图片,然后赋值给。会将找到的图片设置为真正要显示的图片。需求内容是无论是在浅色还是深色模式,知道了原因,想要解决,就只需要将保证。这就是为什么使用暗黑模式的图片设置。只有两者相等,设置的图片才生效。就可以正常显示暗黑模式的图片了。还是显示浅色模式下的图片。都使用深色模式下的图片。属性输出可以看到,图片的。和要设置的图片一样即可。在二者不相等的情况下,最先想到的方法就是从。
2026-07-07 13:27:08
180
原创 Redis--哨兵机制与CAP定理
在Redis集群中增加一个节点,充当Sentinel哨兵,用来监视master运行状态,在master宕机后,自动指定一个slave充当新的master,整个过程无需人工参与,由哨兵自动完成。quorum的另一个作用是:在sentinel的Leader选举时,至少要有max(quorum,sentinelNum/2 + 1)个sentinel参与,选举才能进行。当sentinel 主观下线的节点是master时,该sentinel节点会向其他sentinel节点询问对master节点的判断。
2026-07-06 13:17:29
186
原创 Visual Studio 四月更新 —— Cloud Agent 集成
上个月推出了自定义智能体,支持基于代码仓库的 .agent.md 文件。本次更新进一步拓展了该功能,新增可跨项目跟随使用的用户级智能体。用户级智能体默认存储在 %USERPROFILE%/.github/agents/ 目录下。您可以在 Tools > Options > GitHub > Copilot > Copilot Chat > Custom agents user directory 中更改该存储位置。
2026-07-06 13:16:45
189
原创 【Azure App Service】应用服务中的SNAT (Source Network Address Translation 源网络地址转化)
这意味着,如果一个 Web 应用每秒打开 1 条 HTTP 连接,调用后端服务后正常关闭,那么在 240 秒内可能累计占用约 240 个 SNAT 端口。如果压测一开始就把大量消息一次性灌入队列,Function 可能瞬间启动大量到 Storage 或其他外部服务的连接,很快耗尽 SNAT 端口。如果一个繁忙站点的 SQL 连接池大小是 300,并且数据库查询执行较慢,那么这些连接可能持续占用约 300 个 SNAT 端口。总体方向是:先减少不必要的连接占用,再考虑扩展。,每个 IP 理论上有大约。
2026-07-05 13:03:24
190
原创 ThingsBoard 规则链系统源码分析和自定义定时器
这是“声明元数据”,类似前端组件注册/***/Class<?//自定义类型分支, 否则只有 Success 或者 Failual字段本质type节点分类(影响UI分组)name节点名字输出分支(非常重要)配置结构UI配置(可选)relationTypes = “你这个节点会产生几种出口”
2026-07-05 13:02:52
172
原创 网络计划WebApp求解:融合Python与AI决策的项目管理系统
模块不仅是网络计划的数据入口,更是整个实验平台的核心驱动层。它实现了从“手工绘图”到“数据建模”的转变,从“静态计算”到“动态分析”的升级,也真正完成了网络计划教学由“画网络”向“研究网络”、由“计算结果”向“理解机制”的转变。系统优先压缩关键路径工序,综合考虑最短工期限制、单位赶工成本和资源投入,形成“正常工期→关键路径识别→赶工活动选取→压缩关键路径→重新计算→最优方案”的优化闭环,实时更新关键路径、工期和成本变化,揭示“工期缩短往往意味着成本增加”的核心规律,帮助在时间、资源与成本间寻找最佳平衡点。
2026-07-04 13:19:15
214
原创 【EF Core】级联删除行为
是 EF Core,所以,它是客户端。这样搞的好处是好维护,除非你那里有专人维护数据库,不然像老周这样,多数项目都是自己一手包办的,把很多数据库的处理逻辑搬到程序代码中,省了很多事。当然,这个你不能说是C语言的问题,C语言的强项就在这里,内存管理是直接的,而且权限都给了开发者的。这里注意,咱们不用直接调用构造函数,那样约定集合是空的,就无法使用 EF Core 内置的约定功能了,很多东西就要手动配置了。当然,DB First 也可能的,比如你的表关系是数据库上定义的,而且也定义了外键约束。
2026-07-04 13:18:24
164
原创 python-langchain框架(3-23-OpenAI Functions风格Tool Calling智能助手)
按照OpenAI Functions的要求,我们将自定义工具(计算器、时间查询)封装成“名称+功能+参数描述”的标准格式,让模型能清晰识别工具的用途和调用方式。比如计算器工具,需要明确说明“用于执行简单数学运算,输入必须是合法的算术表达式”;时间查询工具则说明“无需参数,直接返回当前系统时间”。同时,为了保证安全性,我们还会对工具的输入进行校验(如计算器的表达式白名单),避免恶意代码注入。
2026-07-03 13:36:24
205
原创 AI新时代下的图床管理方案-Cloudflare图床+MCP+Skills方案指南
如果你想自己定制专属的图床 MCP 服务器,Cloudflare 官方提供了现成的 Skill,你可以让 AI 帮你一键构建:打开 Claude,输入:"帮我构建一个部署在 Cloudflare Workers 上的 MCP 服务器,用来管理我的 R2 图床,需要带 OAuth 认证"Claude 会自动触发官方的Skill,帮你生成服务器代码、配置 OAuth 认证、甚至直接帮你部署到 Cloudflare Workers 上,全程不用你写一行代码!
2026-07-03 13:35:34
238
原创 Asm Dd 10M导致System文件部分坏块修复---惜分飞
这里可以确认system的第24个au(从0开始)在14号盘au 2 上面,也就是数据块起始损坏为block:12288-12543(24M*4/8K[有block 0 需要考虑]),对于这种彻底损坏而且比较靠前的system中block,通过人工构造出来这些block的方式进行修复,在自研的。256个连续的全0坏块,怀疑是2M的数据被dd全空覆盖,这样的情况,也就是怀疑是au=2的后面2M被覆盖(ausize为4M),分析system的数据分布情况。虽然磁盘组mount成功,但是asm依旧在报错。
2026-07-02 13:57:32
154
原创 每次启动 Claude Code 都要从头教一遍?两行配置让它记住你的所有习惯
Claude Code 的每个会话默认都会从全新的上下文窗口开始,为了实现跨会话的知识传递,系统提供了两套互补的记忆机制,帮助开发者持久化项目配置、工作流偏好以及自动积累的开发经验。这两套机制分别是由开发者手动维护的CLAUDE.md指令文件,以及由 Claude 自动维护的自动记忆系统,两者都会在每次会话启动时自动加载,为后续的开发交互提供持久的上下文支持。是否会话启动加载 CLAUDE.md加载自动记忆读取项目级配置读取用户级配置读取本地级配置加载 MEMORY.md 前200行。
2026-07-02 13:56:04
337
原创 基于.NET的Windows窗体编程之WinForms控件简介
在Visual Studio设计器中,添加控件主要有以几种形式:1. 拖动控件添加:从工具箱中选择需要添加的控件,按住鼠标拖动到需要添加的Form窗体中指定位置,然后松开鼠标即可,如下所示:2. 双击控件添加:在工具箱中,选择需要添加的控件,然后双击鼠标,即可添加控件到Form窗体的上上角位置,并呈现选中状态,可以手动拖动控件到目标位置,如下所示:3. 绘图添加,首先在工具箱中选择需要添加的控件,然后在Form窗体中用鼠标拖动选择一个区域,会自动添加控件到Form窗体中,并按照拖动区域的大小填充,如下所示:
2026-07-01 13:31:57
233
原创 0.1 + 0.2 为什么不等于 0.3?答不上来的都挂了
这个问题你可能在面试、线上 Bug、甚至随手写 Demo 的时候都见过:1// false0.10.2这篇文章按“现象 → 原因 → 解决 → 面试回答”的顺序,把它讲透。
2026-07-01 13:31:24
178
原创 MySQL备份恢复全攻略:mysqldump与xtrabackup实战(DBA救命指南)
至今还记得2018年的那次事故:开发误删用户全量数据,当时只有每天凌晨1次的全量备份,事故发生在下午5点,我们硬生生靠binlog恢复了4个小时,业务停摆半天,损失惨重。从那以后,我们彻底重构了备份策略——从“裸奔式”每日全备,升级为「全量备份+增量备份+binlog归档」的黄金组合,RTO(恢复时间目标)从4小时压缩到30分钟,RPO(恢复点目标)从24小时缩减到5分钟,再也不用为数据丢失夜不能寐。
2026-06-30 22:07:03
243
原创 模型推理框架vllm-3——KVCache管理器
KVCache中几个核心的代码文件:1、:对block进行分配(不过核心调度代码在中),包括输入新的token去计算需要多少block、prefix cache使用;2、:创建blook池核心就是根据计算得到的num_blocks去计算分配多少全局管理的block:;3、:直接为模型的每一层去占用物理显存,并且对于占用的物理显存通过全局的进行管理。对于block pool想象成一个池子总共有num_blocks个每个池子只能存储block_size个token,我提前对我模型中每一层都分配了一个。
2026-06-30 22:06:06
226
原创 【强化学习框架】Uni-Agent 深度技术分析(2)--- 关键技术
RL 训练需要线性的、可精确 mask 的 token 序列。模式Token 结构RL 适配性主要缺点ReAct(Uni 默认)优:线性 token,mask 边界清晰思考链长浪费 context差:blame assignment 困难plan 错了,会全错Reflexion差:需两次完整 traj额外 reflection 成本树结构极差:难序列化为线性BFS/DFS 成本高LATS树+MCTS极差:MCTS 不可导计算指数增长。
2026-06-29 14:20:01
195
原创 MAF预定义ChatClient中间件-08]OpenTelemetryChatClient-实现链路跟踪和性能监控
打开Grafana的Dashboard,我们可以看到针对LLM调用的性能指标,其中包括请求和响应Token的消耗、调用LLM的延时、成功调用的比例和错误分布等。如果这个属性被设置为true,调用LLM的请求和响应消息会被序列化并作为操作的标签进行输出,,前者用于链路跟踪,后者用于性能指标的收集,两者设置了相同的服务名称(AIApp)和版本(1.0.0)。对.NET的诊断跟踪具有了解的开发者应该知道,性能指标是通过Meter计算和输出的。为了模拟一段持续的调用,我们在一个循环中随机选择了三个问题,并调用了。
2026-06-29 14:18:45
235
原创 GDB 调试命令完整指南(ARM Cortex-M 嵌入式版)
命令将后续内容原样传递给调试后端(J-Link GDB Server / OpenOCD),不经过 GDB 解释。Cortex-M4 仅支持 4~6 个硬件断点(软件断点无限但只能设在 RAM/Flash 可写区)。每次程序暂停时,自动显示指定表达式。适合频繁监控的变量/寄存器。Cortex-M4 通常只支持 1~2 个硬件监视点。:GDB 命令可缩写到唯一不冲突的最短形式。监视点是硬件断点的一种:当指定地址(变量)的值。只对 Flash 代码地址(目标正在运行时(GDB 提示。)有效,RAM 地址(
2026-06-28 14:13:57
164
原创 工良吐槽篇:万字长文细说 AI 落地之笑谈
的人,多少都已经感受到了 AI 带来的便利。这段时间,我常常在地铁或者公交车上看到一些大爷大妈也在使用豆包、元宝这些 AI 软件,通用 AI 确实已经进入了很多普通人的日常生活,不再只是互联网圈子里自娱自乐的新鲜玩意。很多老百姓日常都使用这些 AI 产品去获得我们平时很难学习和接触的知识,解决我们日常中的各类困惑。不过,AI 用得热闹,不代表 AI 就真的落地了。个人拿 AI 查资料、写文案、改代码,和一家公司把 AI 真正接进研发、产品、测试、运营这些环节,完全不是一回事。
2026-06-28 14:13:16
206
原创 AutoMapper三板斧:值转换器、条件映射、自定义解析器,复杂映射不再愁合集 - C#/.NET开发者宝典(20)1.从零开始:在 Windows 服务器上部署 Node.js 项目(小白实
值转换器适合解决“类型对不上”这种一对一的问题。但有些场景更复杂——比如你需要从源对象的好几个地方拿信息,拼成一个目标属性;或者逻辑太复杂,一行代码写不下。这时候就要上自定义值解析器了。举个例子,你要把Person里的FirstName(名)和LastName(姓)拼成FullName// 配置解析器的Resolve方法能拿到源对象、目标对象、目标成员名和上下文信息。这意味着你可以访问目标对象的其他属性来做复杂判断。划重点:自定义解析器还有个隐藏好处——支持依赖注入。
2026-06-23 09:55:16
177
原创 MAF快速入门(23)通过C#类定义Skills合集 - Agent Development(32)1.MAF快速入门(24)整合多个Skill来源04-202.MAF快速入门(23)通过
首先,我们创建一个class文件命名为UnitConverterSkill,内容如下:} = new(当用户询问距离或重量换算时:1. 先读取 conversion-table 资源,找到对应换算系数。2. 再调用 convert 脚本执行计算,参数为用户输入的数值value和换算系数factor。3. 回复内容需要清晰地展示换算系数、换算过程和换算结果,并同时标明换算前后的两个单位。""";[Description("常见距离与重量换算系数表。")]""";
2026-06-23 09:54:45
198
原创 Postgres - Listen/Notify构建轻量级发布订阅系统
概述原先设计一个内部系统的消息模块和缓存模块时,只有一个Postgres依赖。想着没多大用户量,没必要额外安装Redis,徒增运维工夫。缓存好解决,配个UNLOGGED表即可。吭吭哧哧琢磨怎么用数据表实现消息的时候,发现PostgreSQL 提供了内置命令 LISTEN 和 NOTIFY,用于在数据库服务器和连接的客户端之间实现异步通信。这个 PostgreSQL 特有的扩展功能使得数据库可以作为一个轻量级的消息队列(MQ)系统使用,允许应用程序从数据库中生成事件,并由其他客户端实时响应。
2026-06-22 21:01:03
175
原创 AI 编程助手 + 基于 CLI 的 Manus 实现(Java 版本)
功能特性代码代理:编写、编辑和管理代码文件系统代理:执行 Shell 命令、管理文件和目录交互式 CLI:自然对话界面,支持工具执行单次查询模式:通过命令行参数执行一次性任务多模型支持:DeepSeek、OpenAI GPT-4/3.5 及任何兼容 OpenAI 的 API可扩展工具系统:通过 @Tool 注解和反射机制添加自定义工具最小依赖:仅使用 Gson 进行 JSON 解析;基于 Java 17 标准库构建跨平台:支持 Windows、macOS 和 Linux。
2026-06-22 21:00:16
261
原创 Spring AI Alibaba 人工介入实战|Human-in-the-Loop 让 AI 更可靠
Spring AI Alibaba框架提供了强大的人工介入(Human-in-the-Loop)机制,让开发者能够精确控制AI工具的执行流程,在关键节点引入人工审批环节。“publish”, ToolConfig.builder().description(“内容发布工具”).build()“poem”, ToolConfig.builder().description(“诗歌创作工具”).build(),人工介入是一种机制,它允许AI智能体在执行特定工具前暂停执行,等待人工审批后再继续。
2026-06-21 23:03:10
222
原创 HarmonyOS SDK 闭源开放能力 —Push Kit
Push token不是有效的token,建议您在应用启动时调用getToken()接口,若设备的Push Token发生变化,及时上报到您的应用服务器更新Push Token,以防由于Push Token失效导致收不到消息。1、如果接收端的设备离线,导致消息重新发送到接收端设备,则应用消息最多可以在Push Kit服务器侧缓存15天,该缓存时间可以在pushOptions中由ttl参数定义。2、如果接收端设备在线,但是应用不在前台,导致推送后台消息时无法推送至应用,则该消息会缓存至端侧,最多可缓存7天。
2026-06-21 23:02:25
374
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅