- 博客(30)
- 收藏
- 关注
原创 一步一步学习使用LiveBindings() 使用TAdapterBindSource实现对象绑定
通过它,你可以:- 将任意对象属性暴露为可绑定的字段。- 动态扩展字段,甚至绑定嵌套对象。),每个元素对应一个对象实例,而字段则映射到对象的属性(通过 RTTI 或手动指定)。LiveBindings 是 RAD Studio(Delphi/C++Builder)中一套强大的数据绑定框架,它允许你在 UI 控件与数据源之间建立声明式连接,无需编写繁琐的事件处理代码。是其中极为关键的一环——它充当“适配器”,将任意对象(如类实例、记录、甚至嵌套属性)转换为 LiveBindings 可识别的数据流。
2026-07-31 16:07:31
224
原创 AI编程:代码多,效果好?
本文将通过实战代码示例,揭示AI编程中“少即是多”的哲学,并展示如何利用简洁高效的代码实现强大功能。:这段代码虽然完整实现了神经网络,但:1. 手工计算梯度容易出错2. 激活函数选择不当(sigmoid有梯度消失问题)3. 缺少正则化、批量归一化等现代技巧4. 对8x8的小图像数据,全连接网络效果有限### 正面案例:使用预训练模型迁移学习(代码少,效果好)在AI编程的实践中,一个常见的误区是认为“代码越多,效果越好”。但实际上,AI编程的核心在于。——用最少的代码,调用最强大的工具,解决最核心的问题。
2026-07-30 15:51:00
230
原创 Kafka如何保证「消息不丢失」,「顺序传输」,「不重复消费」,以及为什么会发生重平衡(reblanace)
本质是消费者组内分区的重新分配,可通过合理配置心跳参数、使用静态成员来避免频繁 Rebalance。—## 1. 消息不丢失:从生产到消费的全链路保障Kafka 的消息丢失可能发生在三个环节:生产者发送、Broker 存储、消费者消费。### 1.2 Broker 端:副本机制与 ISRBroker 通过副本(Replica)和 ISR(In-Sync Replica)保证数据不丢。### 1.3 消费者端:手动提交偏移量消费者自动提交可能导致数据未处理完就提交偏移量,一旦宕机就会丢数据。
2026-07-29 15:24:14
254
原创 docker-compose部署gitlab
作为一名开发者,你可能经常需要管理代码版本,GitLab作为一个开源的代码托管平台,提供了丰富的功能,如代码仓库、CI/CD流水线、Issue追踪等。但是,手动安装GitLab往往需要配置大量的依赖和服务,过程繁琐且容易出错。今天,我带你用docker-compose来部署GitLab,轻松搞定代码仓库的搭建。现在,你可以开始创建你的第一个项目,享受GitLab带来的便利了!## 总结通过docker-compose部署GitLab,你只需要一个配置文件和一个命令,就能拥有一个功能完整的代码托管平台。
2026-07-28 17:08:17
246
原创 你的ChatBI(问数)准确率不到%?带你深度拆解%准确率的高德ChatBI案例
今天,我就以高德地图的ChatBI案例为蓝本,带你深度拆解如何从数据清洗、查询优化到模型调优,让问数准确率飙升。很多团队搭建的ChatBI,用户问“上个月北京地区的用户活跃度是多少”,结果系统可能返回“北京地区活跃度:0.5”,或者直接报错。## 第四步:模型迭代与反馈闭环高德团队会记录每个查询的准确率,比如用户点击了“是”或“否”来反馈。示例中,我们可以用强化学习来纠正错误:- 如果用户反馈“结果不对”,系统记录下这条查询的上下文。:高德这样的地图服务,涉及时空数据、聚合计算,稍有不慎就会出错。
2026-07-27 15:41:26
249
原创 年上半年前端技术圈生态总结
另一方面,Rust在构建工具链中的渗透加速,WebAssembly在边缘场景的落地,以及AI驱动的UI生成工具爆发,共同勾勒出前端生态的新轮廓。理解底层原理**:React 19的编译器模式、Vue 3.5的响应式调度、Vite 6的Rust集成,这些都不是黑魔法,而是有数学和计算机科学基础的工程优化。:编译器将JSX解析为抽象语法树(AST),追踪每个组件内状态、props和context的依赖关系,然后生成优化后的代码,仅在依赖变化时触发子组件重渲染。的守卫代码,将重渲染粒度缩小到单个列表项。
2026-07-27 15:40:19
220
原创 使用PySide/PyQt实现程序启动画面的处理
本文将从原理出发,深入剖析 PySide/PyQt 中启动画面的实现机制,并提供可运行的代码示例。的基础用法入手,深入探讨了事件循环与界面刷新的原理,并提供了两种实现方案:静态图片启动画面和带进度条的自定义启动画面。:优雅地关闭启动画面,并将焦点传递给主窗口。## 进阶实现:带进度条的动态启动画面真实应用中,启动画面往往需要显示进度信息。:如果初始化失败(如数据库连接失败),应关闭启动画面并显示错误对话框,而不是让用户卡在启动画面。),整个事件循环会被阻塞,导致启动画面无法刷新,用户看到的画面会“卡住”。
2026-07-26 15:27:35
192
原创 精选 款基于 .NET 开源、功能强大的 Windows 系统优化工具,助力轻松提升 Windows 系统性能与使用体验!
源码:https://github.com/GlaryUtilities/glary-utilities ## 总结通过本文,我们从基础的文件清理、注册表操作,到高级的 WMI 性能监控,逐步掌握了 .NET 开发系统优化工具的核心技术。作为一名编程讲师,我将结合 .NET 技术栈,从基础概念到高级用法,为你介绍几款基于 .NET 的开源优化工具,并附上可运行的代码示例,帮助你深入理解其工作原理。.NET 是微软推出的跨平台开发框架,基于 C# 等语言编写的开源工具通常具有模块化、可扩展的特性。
2026-07-25 15:34:35
187
原创 数量堪比自然语言的编程语言,该怎么选择?
实际开发中,应优先考虑项目需求:性能敏感型选择 Rust 或 C++,快速迭代原型选择 Python,Web 全栈选择 JavaScript,并发密集型选择 Go。从古老的 Fortran 到现代的 Rust,从脚本化的 Python 到系统级的 C++,每种语言都承载着独特的设计哲学、性能特征和应用生态。### 静态类型 vs 动态类型静态类型语言(如 Java、Rust)在编译时进行类型检查,能提前捕获类型错误,但需要显式声明类型。Rust 的所有权系统在编译时检查内存安全,无需垃圾回收器。
2026-07-24 15:32:24
198
原创 重塑WPF辉煌?基于DirectX 12的现代.NET UI框架Jalium
Jalium正是基于DirectX 12的“从头构建”框架,它借鉴了WPF的声明式UI模型(如XAML风格),但底层用DirectX 12重写了渲染引擎。这意味着开发者可以:- 获得接近原生游戏的性能(如60+ FPS的流畅动画)- 轻松集成3D场景和特效(如模糊、光影)- 更好地利用多核CPU和GPU并行计算## Jalium的核心架构Jalium的设计哲学是“声明式UI + 命令式渲染”。是Jalium特有的控件,它内部维护了一个DirectX 12的渲染目标视图,专门用于3D渲染。
2026-07-23 15:25:57
202
原创 记一次 .NET 某光电成像后端解析系统 内存暴涨分析
一:背景二:内存暴涨分析0:000>!maddress看到卦中的这些信息,秤砣终于落地了,总计吃了6.97G的内存,主要都是被 Stack 和 GCHeap 给吃掉了。imageimage搞清楚前因后果之后,处理起来就比较简单了,使用环境变量即可,不过这东西也有自己的限制,设置不了主线程如果将StackSize从 8M -> 1.5M,那 Stack 所侵占的内存就彻底搞定啦。0:000>!
2026-07-22 14:42:22
213
原创 IEC61850协议移植与Modbus 协议互转实现
另一种思路是把 IEC 61850 通信能力、Modbus 设备访问能力以及 PLC 原有的采集控制能力(模拟量采集、数字量 IO、联锁和本地控制等)直接移植到 ARM64 嵌入式设备,使设备既能向下连接 BMU 控制器设备和现场信号,又能向上提供 IEC 61850 MMS 服务。更新数值的同时,程序还会更新对应时间戳。IEC 61850、Modbus 和本地采集控制由同一台嵌入式设备承接,在硬件资源满足要求的前提下,可以减少独立网关甚至部分 PLC 硬件,以及相应的供电、网络接口和安装空间。
2026-07-22 14:41:24
219
原创 【EF Core】使用自定义的值比较器
在插入数据时,咱们设置的值是 020-55128130,之后我们修改为 (020)55128130,咱们认为这是同一个号码。(\d{3,4}) 这是一个分组,匹配时会把它存储起来,\d 是数字,{3,4} 表示数字的出现次数为最少三次最多四次。Paper 实体类的 Color 属性是 RGBColor 结构类型,而存入数据库时,我们只需要一个 uint 值即可,因此,它需要一个值转换器。抠亮眼睛看清楚呢,属性值确实是变了的,但由于咱们自定义的比较器在作怪,所以,实体的状态依然被标记为 Unchanged。
2026-07-21 15:00:05
225
原创 ByteArrayInputStream和DataInputStream的源码分析和使用方法详细分析
b、读取完前3个字节之后便完成了第1个UTF-8编码的数据“中”的解析,然后开始读取字节数组byte[] bytearr的第4个字节,该字节也是用来判断当前这个UTF-8编码的数据是几字节模板的(UTF-8编码的数据有4种长度的字节模板,但是在Java中只使用1~3字节长度的字节模板)a、先从字节数组byte[] bytearr中读取第1个字节来判断当前这个UTF-8编码的数据是几字节模板(UTF-8编码的数据有4种长度的字节模板,但是在Java中只使用1~3字节长度的字节模板)
2026-07-21 14:57:50
243
原创 大模型推理引擎中的 Beam Search:工程挑战、主流实现与 SGLang 深度优化
在当前以对话为主的 LLM 推理场景中,Beam Search 较少使用。如果以 Beam Search 为核心来组织推理流程,会显著增加代码复杂度,所以在当前的主流推理引擎中,都没有将 beam search 作为核心链路,SGLang 甚至相当长时间都不支持。在搜索推荐场景里,当大模型用作召回时,需要召回多条可能满足用户诉求的资源,这和 Beam Search 返回多结果的特性正好契合,因此部分公司会将 Beam Search 用于大模型召回,譬如快手的 OneRec。
2026-07-20 14:47:02
275
原创 transformer进阶之路:#1 整体概述
自2017年,Google发布 「Attention Is All You Need」( https://arxiv.org/abs/1706.03762 )以来,transformer架构一直霸榜 NLP 领域,包括 Google 和 OpenAI 在内发布的各类明星模型,都是以 transformer 架构为基础,在当时都取得了效果最佳的基准测试结果。因此,就像在 Seq2Seq 模型中一样,我们在一个循环中生成输出,并将前一个时间步的输出序列输入到下一个时间步的解码器中,直到遇到句子结束标记为止。
2026-07-20 14:46:29
159
原创 LangChainJs之基础模型(一)
而 LangChain 另辟蹊径,它并不试图改变模型的“思维”,而是为其“长出手脚”——通过集成网络搜索、本地知识库检索(即 RAG)、文档编辑等外部工具,让大模型能够利用外部信息源进行推理与行动,从而极大地扩展了其应用边界。这一设计让模型能够清晰区分“谁在说”、“说了什么”,从而真正理解对话的上下文,实现连贯的多轮交互。LangChain 是一个专为智能体(Agent)设计的开发框架,其核心价值在于为大模型赋予“连接外部工具”的能力,从而突破其固有的“大脑”(大模型)边界。
2026-07-19 15:40:25
200
原创 用 Python 对比两个 Word 文档差异 (无需 Office)
一、环境准备1.1 安装库免费 Python 库可以通过 pip 直接安装:1.2 核心 API 说明库中 Document 类提供了 Compare() 方法,用于将当前文档与另一文档进行比对,语法如下:document:待比对的另一个 Document 对象 author:修订标记的作者名称,用于标识是谁做出的修改比对完成后,差异会以修订(Track Changes)的形式标记在原文档对象中,保存后即可在 Word 中查看。二、基础文档对比2.1 基础代码示例。
2026-07-19 15:39:23
151
原创 【Java安全】CC链分析(CC1+CC2)
现在还有个小问题,其中我们的transformedmap是传入了一个invokertransformer,但是现在这个对象没有了,被拆成了多个,就是上述的代码,得想办法统合起来,这里就需要回到最初的Transformer接口里去寻找,找到ChainedTransformer,刚好这个方法是递归调用数组里的transform方法。ClassPool是CtClass对象的容器,它按需读取类文件来构造CtClass对象,并且保存CtClass对象以便以后使用,其中键名是类名称,值是表示该类的CtClass对象。
2026-07-18 15:21:31
195
原创 TypeScript 7 测试版已在 Visual Studio 2026 18.6 Insiders 3 中默认启用
如果您想恢复使用旧版的 TypeScript 语言服务,可以在 Visual Studio 中禁用 TypeScript 7 native preview。TypeScript 7 是 TypeScript 编译器及相关工具的原生移植版本。如果您希望使用其他版本,可以在项目中自行安装,Visual Studio 会优先使用项目本地版本,而非内置版本。- 项目加载时间 在 Visual Studio 中打开 TypeScript 和 JavaScript 项目的速度将显著提升,加载时间大约下降了 8 倍。
2026-07-18 15:20:56
235
原创 AI+Web3D:我让AI写了一年Three.js,结果它连一个内网白屏都修不了
以前我要翻三天文档、试七八种方案才能搭出来的模型交互管线,它十几秒全吐出来。GLTF加载、PBR材质、后处理特效,甚至我还没来得及想到的细节优化,它都能自动补全。比如这段,我让AI写一个简单得模型加载代码,说实话,我自己手写也就这个水平:// AI生成的Three.js模型加载——标准环境完美运行console.log('模型加载成功');},
2026-07-17 14:35:28
188
原创 FileInputStream和RandomAccessFile的源码分析和使用方法详细分析(windows操作系统,JDK8)
File source = new File("F:\\realMe手机文件备份\\照片视频\\VID20260217183653.mp4");int len;= -1) {System.out.println("RandomAccessFile拷贝耗时" + (endTime - startTime)+ "ms");) {= -1) {System.out.println("BufferedInputStream/BuffedOutputStream拷贝耗时"
2026-07-17 14:34:39
247
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅