自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 hon 的王牌数据结构之一,掌握它们,你的代码会更简洁更高效。 参考文章: Python 使用 Dict 和 Set | 简单一点学 ...

如果说列表(List)和元组(Tuple)是日常工具,那么字典(Dict)和集合(Set)就是真正的“王牌”——它们以极致的查询速度、灵活的操作方式,让代码在简洁性和性能上同时达到新的高度。在 Python 中,Dict 和 Set 都基于哈希表实现,这意味着它们的平均查找、插入、删除时间复杂度都是 O(1),而列表的查找是 O(n)。在实际开发中,频繁使用 Dict 处理映射关系、统计计数,使用 Set 进行去重、集合运算和快速成员检查,是成为一名优秀 Python 工程师的关键一步。

2026-07-31 14:56:18 226

原创 Python 使用 Dict 和 Set:从入门到进阶

它的特点包括:- 键是唯一的,不可重复- 键必须是不可变类型(如字符串、数字、元组)- 查询速度极快,平均时间复杂度为 O(1)### 1.2 Set(集合)Set 是一个无序的、不重复的元素集合,可以理解为没有值的 Dict。### 5.3 内存与速度- 两者都是基于哈希表实现,查询速度极快- 但哈希表会占用更多内存,如果数据量极大,需考虑内存开销—## 六、总结Dict 和 Set 是 Python 中非常核心的数据结构,理解它们不仅能提升代码效率,还能让代码更简洁。

2026-07-31 14:55:13 223

原创 .使用DynamicAppearance进行动态外观的定义。 * .通过一步一步的操作案例来学习TListView的设计和事件处理。 ...

机制,允许开发者动态定义每一行的外观,实现高度自定义的列表效果。与传统VCL的TListView不同,它允许每一行(Item)拥有独立的视觉元素(如文本、图像、进度条等),且这些元素可以在运行时动态添加、删除或修改。方法创建特定类型的外观对象- 设置对齐方式、字体、颜色等属性,实现姓名左对齐、电话右对齐的效果—## 3. 设计模式:使用AppearanceTemplate对于固定结构的列表,建议使用AppearanceTemplate预定义外观,再在运行时填充数据。:基于对象池管理,复用视觉对象-

2026-07-30 14:49:54 230

原创 一步一步学习使用LiveBindings() LiveBindings与具有动态呈现的TListView

TBindList数据源配置。

2026-07-30 14:48:46 200

原创 LLM ,MCP协议,AA协议,RAG,智能体(AI Agent) 图解详细讲解

随着大语言模型(LLM)技术的飞速发展,如何让模型更智能、更可控、能与外部世界交互,成了核心挑战。—## 2. MCP 协议:模型与工具的通信桥梁MCP(Model Context Protocol)是一种让 LLM 与外部工具(如数据库、API、文件系统)安全交互的协议。—## 6. 总结本文从实战角度讲解了 LLM、MCP 协议、AA 协议、RAG 和 AI Agent 的核心概念与实现:| 技术 | 核心作用 | 实战要点 ||------|---------|----------||

2026-07-29 14:18:05 172

原创 Abp vNext-事件总线使用实现及解析

/ 1. 定义事件数据类:继承自 IEventDatapublic class OrderCreatedEventData : IEventData{ public Guid OrderId { get;set;set;set;set;

2026-07-29 14:16:41 160

原创 解析请求体内容(如 JSON、表单数据、XML 等) 将原始数据转换为 Python 数据结构 使转换后的数据可在 request. ...

请求体(Request Body)是客户端附加在请求中的实际数据,通常用于 POST、PUT、PATCH 等需要传输数据的操作。在 Web 开发中,客户端向服务器发送请求时,常常需要携带各种类型的数据,如 JSON、表单数据、XML 等。## 总结本文从基础到高级,系统地介绍了如何解析请求体内容(JSON、表单数据、XML)并将其转换为 Python 数据结构。## 高级用法:混合数据解析与错误处理在实际应用中,请求可能包含多种类型的数据,或者需要处理复杂场景(如文件上传、嵌套数据)。

2026-07-28 16:03:20 177

原创 通过对云基座和离线基座的对比,帮助开发者理解如何在不同场景下选择合适的打包方案。 什么是“基座” 在 UniApp 中,基座(也称“ ...

云基座适合追求快速迭代的项目,而离线基座更适合对稳定性和安全性有高要求的生产环境错误处理。

2026-07-28 16:02:14 165

原创 Redis缓存一致性

删除操作是幂等的,简单可靠- 懒加载策略:下次读取时自动回写,避免复杂计算- 减少缓存与数据库同时更新的竞争窗口。

2026-07-27 14:39:08 147

原创 聊一聊 .NET 中的 CompositeChangeToken

是 .NET 中一个优雅的设计模式实现,它将多个变更令牌组合成一个逻辑单元,简化了“任意资源变化时触发操作”的场景。通过深入理解其原理(基于“或”逻辑的订阅机制),并结合实际代码示例,你可以在配置管理、文件监控、缓存刷新等领域灵活运用它。例如,你可能需要同时监控多个配置文件的变化,或者当任何一项资源发生变更时触发某些操作。的原理,并通过可运行的代码示例展示其实际应用场景,帮助你理解如何在项目中使用它来简化变更监控逻辑。在 .NET 应用程序开发中,经常需要监控文件、配置或数据源的变更,并做出响应。

2026-07-27 14:37:53 192

原创 【光照】Unity中的[经验模型]

Lambert漫反射。

2026-07-26 14:25:08 221

原创 Coze智能体实战:零基础学会搭建热点监控AI Agent,选题效率提升倍

热点监控Agent是一个自动化工具,它可以:- 定时抓取指定数据源(如微博热搜、知乎热榜、百度指数)- 分析内容趋势,提取关键词- 生成可读性强的热点报告- 自动推送提醒(如邮件、钉钉消息)## 准备工作在开始编码前,你需要注册Coze账号并创建智能体。:将分析结果发送到指定渠道,如: - 邮件:通过SMTP发送 - 钉钉/企业微信机器人:发送Webhook消息 - Coze对话窗口:直接返回给用户## 第四步:部署与测试为了让爬虫稳定运行,你需要将Python脚本部署到服务器或云函数。

2026-07-26 14:23:53 214

原创 从零开始学Flink:数据转换的艺术

# 数据转换的核心:DataStream API 的魔法Flink 的数据转换基于 DataStream API,其底层原理是。## 总结从零开始学习 Flink 的数据转换,我们经历了从简单的一对一映射(map)、过滤(filter),到一对多的拆分(flatMap),再到基于键的分组聚合(keyBy + sum)。现在,启动你的 Flink 环境,开始你的数据转换之旅吧!## 窗口转换:时间维度的艺术Flink 的窗口操作(Window)是数据转换的高阶形式,它将无限流切分为有限桶。

2026-07-25 14:32:56 162

原创 PHP 静态分析工具实战 PHPStan 和 Psalm 完全指南

本文将深入介绍两个最流行的 PHP 静态分析工具:PHPStan 和 Psalm,并通过大量实战代码演示如何在实际项目中使用它们。利用 PHPDoc 增强类型推断通过将静态分析工具集成到开发流程中,团队可以减少约 30-50% 的运行时错误,同时提升代码的可读性和可维护性。## 总结PHPStan 和 Psalm 是 PHP 生态中不可或缺的静态分析工具,它们通过提前发现类型错误、未定义变量、死代码等问题,显著提升了 PHP 项目的可靠性和可维护性。### 实战代码示例 1:类型安全检查。

2026-07-25 14:31:45 172

原创 吴恩达深度学习课程一:神经网络和深度学习 第四周:深度神经网络的关键概念

对于ReLU激活函数,推荐使用“He初始化”:W[l] = np.random.randn(shape) * np.sqrt(2 / n[l-1])对于tanh或sigmoid,推荐使用“Xavier初始化”:W[l] = np.random.randn(shape) * np.sqrt(1 / n[l-1])## 代码示例一:实现深度神经网络的前向传播下面是一个简单的深度神经网络前向传播代码,包含两层隐藏层(使用ReLU)和输出层(使用sigmoid)。:这是训练的核心,需要理解每层的计算和缓存机制。

2026-07-24 14:14:43 202

原创 [python] 代码性能分析工具line_profiler使用指北

则不同,它能精确测量每一行Python代码的执行时间和调用次数,这对于优化复杂的循环和密集计算非常有用。想象一下,你有一个包含大量列表操作和数学计算的函数,你怀疑某个for循环是性能杀手,但不确定具体是哪一行。在实际项目中,我经常用这个工具来验证优化效果:先分析一次,优化后再分析一次,对比两次的耗时变化,确保优化真的有效。,它可以逐行告诉你代码的执行时间,让你的优化工作不再靠猜。命令,我们可以快速定位性能瓶颈,从而进行有针对性的优化。这样,你就可以在不运行代码的情况下,随时查看分析结果。

2026-07-24 14:13:20 225

原创 为什么 PHP 闭包要加 static?

在 PHP 开发中,闭包(Closure)是一个常见且强大的特性。很多开发者在使用闭包时,可能会注意到一个现象:在某些框架或代码中,闭包前面会加上。默认情况下,闭包会绑定到创建它的作用域,即它所在的类或对象。### 闭包的本质:对象与作用域在 PHP 中,闭包本质上是一个。尤其在大量使用闭包的场景(如循环中创建闭包),这种差异会显著影响性能。但更常见的是闭包形式的回调函数,比如在事件监听或队列任务中。这样一来,闭包就不会持有对当前对象的引用,从而避免了潜在的内存泄漏问题。对象,它可以捕获外部作用域的变量。

2026-07-23 14:13:51 241

原创 杨辉三角原理及PHP代码实现

php<?php/** * 生成杨辉三角的第n行(使用一维数组迭代) * @param int $n 行号(从0开始) * @return array 第n行的数字数组 */function getPascalRow($n) { // 初始化第一行 [1] $row = [1];// 逐行迭代,从第1行到第n行 for ($i = 1;$i <= $n;$i++) { // 从后往前更新,避免覆盖 for ($j = $i;$j > 0;

2026-07-23 14:12:45 205

原创 01背包问题详解

辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。如果决定要第i个,那就先腾出它的重量,剩下的容量去装前i-1个——这个子问题上一行已经算过了,直接查表取数加价值即可。)的整数,分别表示采摘某株草药的时间和这株草药的价值。输出在规定的时间内可以采到的草药的最大总价值。代表山洞里的草药的数目。),用一个空格隔开,

2026-07-22 13:59:07 201

原创 Fast-WAM 方法原理详解:把“想象未来”留在训练中

这里的 “Mixture” 不是稀疏 MoE 路由:每一层始终有一个视频专家和一个动作专家,两者参数分开,但在 self-attention 处把 token 放在一起做一次带掩码的 mixed attention。反过来,删除视频协同训练,性能明显下降。Fast-WAM 进一步追问:如果视频预测真正有价值的部分,是它在训练期塑造了更好的表示,那么推理期的未来视频也许只是昂贵的“中间产品”,并非动作预测所必需。蓝色路径属于视频分支,黄色路径属于动作分支,绿色路径是两个分支共同读取的条件。

2026-07-22 13:58:31 230

原创 记一次 .NET 某智慧工厂视觉程序 崩溃分析

从卦象中,应该是 rax,qword ptr [rax] 中的 rax 是 0 导致的,这里我就不到栈中去恢复了,这里有一个重要信息就是 msftedit!从卦中的 CLR exception - code e0434352 (first/second chance not available) 来看,这是一个 CLR exception,即 Managed Exception,并且是一个 TargetInvocationException 目标对象调用异常,接下来用!“调用的目标发生了异常。

2026-07-21 14:31:54 177

原创 从 305 GB 到 7.4 GB:大模型 KVCache 架构演进全景

线性注意力(Linear Attention):以 Qwen3.5 的 Gated DeltaNet + Gated Attention 混合架构、Kimi 的 KDA(Kimi Delta Attention)+ MLA 混合架构、MiniMax-M1 的 Lightning Attention + Softmax Attention 混合架构为代表,用固定大小的隐状态替代随序列增长的 KVCache,将显存复杂度从 O(n) 降至 O(1),从根本上解除显存与序列长度的线性绑定。阶段一:交错重叠压缩。

2026-07-21 14:30:54 216

原创 【Java安全】URLDNS利用链分析

这个方法传入一个URL类作为参数,依次通过调用getProtocol,getHostAddress,getFile,getPort,getRef等方法获取到传入的URL链接的Protocol(协议),HostAddress(主机地址),File(文件路径),Port(端口),Ref(锚点,即#后面的部分),获取完之后,对每部分调用他们的hashcode方法,将结果加到h上,最后将h返回。//获取变量之后进行修改。调试跟进,可以看到此时的hashcode的值,这样在反序列化的时候是发起不了DNS请求的。

2026-07-20 14:15:59 214

原创 .NET 11 Preview 3 发布:C# 15 union 类型终补齐,Kestrel 暴增 40%

CoreCLR 成为 .NET WebAssembly SDK 的目标库,WebCIL 载荷加载机制让调试符号与堆栈跟踪更清晰,float[] / Span 跨 JS 边界直传,不再需要手动转换,数值计算场景开发体验大幅提升。简单来说,union 类型允许你声明一个值必须是固定类型集合中的某一种,编译器还会强制你穷尽模式匹配。.NET Aspire 提供微服务编排。AI 能力正式进入 .NET 核心,支持统一调用大模型(OpenAI API / 本地模型),不再关心 SDK 差异,可随时切换模型。

2026-07-20 14:15:25 191

原创 .NET 程序保护实战系列 11 · 类型注入:无 DLL 依赖的运行时交付

MutationHelper.ReplacePlaceholder(initMethod, args => // Placeholder → 数组初始化 IL。// === 入口 3:批量克隆(共享上下文,处理交叉引用) ===// === 入口 1:克隆整个类型到目标模块 ===// 映射:Mutation 字段名 → key 索引。// Step 6: 插入 .cctor 初始化调用。// === 入口 2:克隆单个方法 ===// 映射表:origin → clone。

2026-07-19 15:03:11 155

原创 【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (8)--- Environment

aw-RL 是一个用于在线强化学习(Online RL)的框架,专门针对智能体工具使用场景。它通过从环境反馈中提取过程奖励信号来训练语言模型,支持三种主要模式:openclaw-rl:基于二元奖励的强化学习(Binary RL / GRPO)openclaw-opd:基于后见之明提示的在线策略蒸馏(On-Policy Distillation, OPD)openclaw-combine:联合方法,在同一 PPO 更新中同时利用 RL reward 和 OPD teacher signal。

2026-07-19 15:00:46 157

原创 GOLANG编码小技巧]对数组元素赋值时,先赋值尾部再赋值头部就会变快

由此说明:如果先出现了比较大的下标,再出现小的下标,那么编译器就能推断后续的数组访问一定没越界,由此便不再产生越界检查的代码。Go 编译器源码证据主要在 cmd/compile/internal/ssa/prove.go。可以发现,这个库的特点是: 先对数组的尾部赋值,然后下标向前偏移,然后再对数组首部进行赋值。arr[0] = 1 // 没有 Found,说明这个检查被消掉了。arr[9] = 2 // 仍有 bounds check。arr[9] = 2 // 仍有 bounds check。

2026-07-18 14:55:10 219

原创 【GUI-Agent】阿里通义MAI-UI 代码阅读(1)--- 总体

MCP之所以能把长UI操作压缩成少量API调用,核心是用“低成本、确定性、结构化“的文本通道替换“高成本、概率性、像素级“的视觉通道 ----- 而MAI-UI刚好通过统一tool_call语法 + 文本回灌mcp_response + 工具schema一次性渲染这三件事,从而让这种压缩在工程上自然成立、不需要额外特化的代码路径。ask_user 动作:当指令模糊时(如“把最近的文件发给他”,缺收件人和文件),MAI-UI会主动暂停,生成一个提问动作,向用户请求澄清。

2026-07-18 14:53:59 150

原创 嵌入式 - 存储器类型汇总

与 SSD 相比,eMMC 通常采用更精简的控制器架构和更低的并行通道数以控制成本与功耗,因此在读写性能、队列深度和满盘写稳定性上不及 NVMe 或 SATA SSD,但凭借其体积小巧、引脚少、即插即用的特性,长期作为IoT设备及低功耗嵌入式系统的主流系统盘选择。易失性存储器是指断电后存储的数据会立刻丢失的一类存储器,它不像我们之前聊的 Flash(闪存)那样具备记忆能力,但是速度非常快,它的主要作用是为正在运行的程序和CPU提供极高速的临时数据交换空间。早期的 DRAM 与 CPU 各干各的,效率低下。

2026-07-17 14:03:01 156

原创 利用surging 网络组件重构插件开发

在大模型Agent生态中,插件是连接AI能力与外部工具的核心桥梁。通过标准化的插件开发,开发者可以快速扩展Agent的功能边界,实现从"文本交互"到"实际行动"的跨越。然而,传统插件架构往往因过度耦合而显得臃肿,难以适应复杂场景下的灵活扩展需求。为此,修改了网络组件的抽象设计思路,加入了Agent插件体系。通过引入通用组件接口,将各个类型的组件插件解耦为独立模块,不仅支持插件的动态加载与扩展,还能兼容多种类型组件的集成。

2026-07-17 14:02:11 276

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除