缓存通常用于提高数据访问的效率。一般来说,缓存读取和写入的逻辑遵循“先从缓存取,取不到再从数据库获取并写回缓存”的原则。为了避免多个线程同时修改缓存数据,我们需要加锁来保证数据一致性。 逻辑概述 读取缓存:缓存命中直接返回。 缓存未命中:加锁,然后再次读取缓存,缓存命中直接返回。 缓存还是未命中:执 ...
本文介绍了基于DeploySharp框架在.NET环境下部署PaddleOCR模型的解决方案。该框架通过统一接口封装了OpenVINO、TensorRT、ONNX Runtime等多种推理引擎,支持百毫秒级文字识别。文章详细解析了PaddleOCR三阶段工作流程(检测-分类-识别)及性能优化策略,阐... ...
DeploySharp是一个专为C#开发者设计的跨平台模型部署框架,全面支持YOLOv26系列模型,包括目标检测、实例分割、姿态估计和旋转框检测。该框架提供多引擎支持(OpenVINO/ONNX Runtime/TensorRT)、两种图像处理库选择(ImageSharp/OpenCvSharp)以... ...
在日常开发或办公场景中,PDF 文档对比是高频需求(如合同版本迭代校验、技术文档审核、报表一致性验证等)。市面上虽有 Adobe Acrobat 等可视化对比工具,但通过编程实现 PDF 对比可满足自动化、定制化的业务需求。本文将介绍如何使用免费库 Free Spire.PDF for .NET 对 ...
无论是跨境电商还是制造业分拣设备,在包裹流转出入库的场景,为了保证包裹分拣计划和测量数据绑定真实性,经常会遇到面单扣取的需求,下面我就通过两种实现原理来实现这一功能。 一:OpenCVSharp 通过面单轮廓/颜色/边缘等组合检测实现 二:通过OCR识别面单内容,根据所有切割点坐标点最小外界矩形来定 ...
在日常开发和办公场景中,将 PowerPoint(PPT/PPTX) 转换为 PDF 格式是高频需求。PDF 格式具有跨平台兼容性强、格式固定不易篡改、便于分发归档等优势。本文将介绍如何使用一款 .NET PowerPoint 组件通过 C# 实现 PPT 转 PDF,并提供完整代码示例。 1. 安 ...
TensorRtSharp 3.0 是一个为 C# 开发者打造的 TensorRT 封装库,通过 NuGet 一键安装,提供完整的 GPU 推理加速功能。该库基于 TensorRT 10.x 开发,支持 CUDA 11/12,具备类型安全、自动资源管理等特性,显著提升 .NET 环境下的深度学习推理... ...
RTF(Rich Text Format)作为跨平台富文本格式,常用于文档编辑与数据交换,而 PDF 因格式稳定、跨设备兼容性强,更适合文档分发和归档。在 .NET 开发中,实现 RTF 到 PDF 的转换是常见需求,本文将介绍如何使用免费库 Free Spire.Doc for .NET 实现该转 ...
一:背景 1. 讲故事 这是训练营里的一位朋友找到我的,说他们的系统会有偶发的内存暴涨情况,自己也没分析出来,让我帮忙看下怎么回事,拿了一个20G+的dump文件,这文件是够大的,我个人建议一般是不超过10G,不然的话windbg分析起来很吃力。 二:内存暴涨分析 1. 为什么会内存暴涨 还是老办法 ...
前言 数字图像处理作为计算机视觉和多媒体技术的基础内容,其核心不仅在于理解算法原理,更在于动手实现与验证。为了深入掌握本项目选择从底层像素级别出发,使用C#语言手动实现各类经典图像处理算法,避免依赖现成的高级图像库。 这种"从零开始"的方式虽然开发成本较高,却能真正厘清每个操作背后的数学逻辑与工程细 ...
一:背景 1. 讲故事 去年微信上有位朋友找到我,说他们的RFID标签打印出现了偶发性崩溃,一直没找到原因,让我帮忙看下怎么回事?然后就让这位朋友用procdump抓一个崩溃dump给我,我看看就好。 二:崩溃分析 1. 为什么会崩溃 双击打开dump,windbg会自动定位到崩溃的上下文,这一点我 ...
大家好!我是 @qian-o,今天很高兴向大家介绍我的新项目 Zenith.NET 的首个公开预览版本! 项目简介 Zenith.NET 是一个现代的、跨平台的 .NET 图形与计算库,旨在为 .NET 开发者提供统一的 GPU 编程接口。无论你是要做高性能渲染、图形应用,还是 GPU 通用计 ...
在开发一些项目的时候,我们往往会基于一定的框架进行业务的开发,并结合一些辅助工具进行更高效率的快速开发和整合工作,SqlSugar开发框架是我们开发的一个多端整合的开发框架,基于它的后端WebAPI 基础上,我们可以对接WInform端、Vue3+ElementPlus的BS端,Vue3+Vant4... ...
概述 本指南将帮助您快速搭建CodeSpirit(码灵)低代码框架的开发环境。CodeSpirit基于 .NET 10 和 Aspire 13.0 构建,通过简单的几个步骤即可启动完整的开发环境。 最后更新: 2025年12月22日 框架版本: v2.0.0 快速开始 前置要求 操作系统: Wind ...
利用莱布尼茨公式(Leibniz formula)计算圆周率 $\pi$。尽管在现代数学计算库中,莱布尼茨级数因其收敛速度极慢而鲜被用于实际精算 Π 值,但其算法结构——高密度的浮点运算、紧凑的循环逻辑以及对算术逻辑单元(ALU)的持续压力——使其成为测试 CPU 单核吞吐量、浮点运算单元(FPU) ...
在跨平台共享 Word 文件时,经常会遇到兼容性问题。将 Word 文档转换为 RTF(富文本格式)不仅可以保留基本排版和样式,还能提高在不同设备、操作系统和办公软件中的兼容性,使文件更容易被顺利打开和使用。本文将围绕 Word 转 RTF 的需求,系统如何借助Spire.Doc,使用C#编程的方式... ...
电子签名在文档合规性与安全性保障中扮演着重要角色,基于 C# 开发 PDF 电子签名功能是企业级文档处理场景的常见需求。Spire.PDF for .NET 作为国产 PDF 处理类库,无需依赖 Adobe Acrobat 等第三方软件,即可便捷实现 PDF 电子签名添加。本文将介绍该类库的使用方式 ...
在各类XAML UI框架中,Grid 是一种非常灵活且常用的布局控件,它可以创建复杂的用户界面布局。Grid 允许开发者通过定义行和列来组织界面元素,每个元素可以精确地放置在网格的特定区域内
本文以 Avalonia 框架为例,讲解 Grid 控件的工作原理 ...
前言 在 .NET 里写查询的时候,很多场景下数据其实早就都在内存里了:不是数据库连接,也不是某个远程服务的结果,而就是一个数组或者 List<T>。我只是想过滤一下、投影一下。这时候,通常有几种选择: 写一个 foreach 循环 —— 性能好、可控,但代码稍微有点啰嗦; 用 LINQ —— 写起 ...
一:背景 1. 讲故事 前些天又遇到了一例 FileSystemWatcher 引发的内存碎片化故障,但这个碎片化不是因为经典的 reloadOnChange=true 导致的,所以我觉得有必要做一次深度的反思,供以后遇到类似问题提供技术上的解决方法,这篇我们就来系统的讲解下 两种碎片化方式的调查方 ...