自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 糟糕,生产环境频繁Full GC,怎么办?

别慌,这篇文章将带你从零开始,理解 Full GC 的成因,并通过实际代码案例,一步步找出问题并解决它。作为一名后端开发者,你一定遇到过这样的场景:凌晨三点,手机警报狂响,生产环境的服务响应变慢,甚至直接挂掉。## 第五步:实战案例——一次 Full GC 排查全过程某次线上故障,监控显示 Full GC 每 5 分钟一次,每次停顿 3-5 秒。- G1 是默认的 GC 算法(JDK 9+),它将堆划分为多个 Region,优先回收垃圾最多的 Region,减少停顿时间。,它们内置了过期和淘汰策略。

2026-07-30 15:38:10 179

原创 InnoDB为什么不用跳表,Redis为什么不用B+树?

核心结论。

2026-07-30 15:37:03 248

原创 Facebook内部都在用的存储引擎,LSM凭什么能硬扛亿级写入流量?

## 二、实战:从零实现一个迷你LSM引擎下面我们用Python实现一个极简LSM引擎,包含写入、读取和合并功能。—## 一、LSM的核心思想:将随机写转化为顺序写传统B+树引擎的痛点在于:每次数据写入都需要随机定位磁盘上的页位置,导致大量磁盘寻道开销。而LSM通过“先写日志,再批量合并”的策略,将随机写转化为顺序写,从而获得极致的写入吞吐。—## 四、LSM的代价:读放大与写放大LSM并非完美无缺,它有两个核心代价:### 4.1 读放大由于数据分散在多个SSTable中,读取时需要查询多个文件。

2026-07-29 15:10:16 211

原创 【渲染流水线】[逐片元阶段]-[透明度测试]以UnityURP为例

本文将从渲染流水线的逐片元阶段出发,循序渐进地讲解透明度测试的原理、实现方法,并结合URP的Shader代码示例,帮助你掌握这一重要技能。透明度测试是一种特殊的逐片元操作:它检查片元的透明度值(通常来自纹理的Alpha通道或计算出的Alpha值),并与一个预设的阈值进行比较。从基础概念到完整代码实现,本文循序渐进地展示了透明度测试的原理与应用,希望你能通过实践掌握这一关键技能,为你的游戏或应用增添更丰富的视觉效果。:Alpha通道的精度会影响测试结果,尽量使用支持高精度Alpha的纹理格式。

2026-07-29 15:09:01 181

原创 Flutter 工程构架设计(MVVM + Repository)

Repository 封装了数据获取和存储的逻辑,使得业务层(如 ViewModel)无需关心数据来源的细节,从而解耦了数据层与业务层。MVVM(Model-View-ViewModel)结合 Repository 模式,能够有效分离关注点,提高代码的可维护性、可测试性和可扩展性。:连接 View 和 Model 的桥梁,负责将 Model 的数据转换为 View 可以直接使用的状态,并处理用户交互事件。:包含业务逻辑,调用 Repository 获取数据,并将数据转换为 View 的状态。

2026-07-28 16:56:23 213

原创 per默认实例 Default是一个静态延迟初始化的默认实例 IMapper mapper = PocoEmit.Mapper.De ...

属性作为静态延迟初始化的默认实例,为开发者提供了开箱即用的映射能力。### 什么是 PocoEmit 的 Default 实例PocoEmit 是一个轻量级的 POCO(Plain Old CLR Object)映射库,专注于高性能的对象转换。实例提供了开箱即用的能力,但在实际项目中,我们往往需要自定义映射规则。实例作为基础工具,同时建立完善的映射配置体系,以实现灵活性与性能的最佳平衡。记住:简单场景用默认,复杂场景自定义,这是 PocoEmit 映射的最佳实践。:延迟初始化避免了不必要的资源消耗。

2026-07-28 16:55:14 158

原创 从 page、page_size 到游标:深入解析C端产品的两种主流分页技术

# 两种分页技术的选型对比| 特性 | 偏移量分页 | 游标分页 ||------|------------|----------|| 实现复杂度 | 低 | 中 || 性能稳定性 | 深度分页差 | 稳定 || 数据一致性 | 受插入/删除影响 | 一致性好 || 随机跳页 | 支持 | 不支持 || 适用场景 | 后台管理系统、数据量小 | 实时动态流、大数据量 |### 实际场景选择建议-## 游标分页:基于指针的高效分页### 原理与实现游标分页不依赖页码,而是通过一个唯一且有序的字段(如。

2026-07-27 15:29:05 197

原创 助手or失业号角?》中我也介绍过openai推出的沙盒Codex,恰逢前段时间codex-cli推出了cli版本(实际上很早就有了, ...

2026-07-27 15:28:00 136

原创 FFmpeg原始帧处理-滤镜设置视频宽高比

2026-07-26 15:14:09 198

原创 PHP 开发者必看得 个容易犯的常见错误 % 的开发者都踩过

然而,即使是经验丰富的 PHP 开发者,也可能因为一些常见错误而陷入调试的泥潭。本文将从实战角度出发,通过大量代码示例,揭示那些让 80% 的开发者都踩过的坑,并提供解决方案。## 错误 1:忽视类型比较的陷阱PHP 是一种弱类型语言,这意味着变量可以自动转换类型。掌握这些要点,你就能避免 80% 的开发者踩过的坑,写出更健壮、更安全的 PHP 代码。例如,在循环中使用引用修改数组元素后,未销毁引用会造成后续操作异常。## 错误 2:忽略数组键的存在性检查在 PHP 中,数组是核心数据结构。

2026-07-26 15:12:54 144

原创 Revit二次开发环境配置

【代码】Revit二次开发环境配置。

2026-07-25 15:20:53 178

原创 WPF治具上位机软件模板分享

本文将从基础概念出发,逐步深入,分享一套可复用的WPF治具上位机软件模板,涵盖UI设计、通信控制、日志记录等关键模块。## 二、从零搭建:一个简单的WPF治具上位机模板### 2.1 项目结构与MVVM模式推荐使用MVVM(Model-View-ViewModel)模式组织代码,其核心是数据绑定和命令机制。## 总结本文从WPF治具上位机的基础概念出发,逐步构建了一个包含MVVM架构、串口通信、日志记录和动态UI的完整模板。:通过串口、TCP/IP或USB与治具硬件交互(如发送测试指令、接收状态数据)。

2026-07-25 15:18:24 205

原创 Ks配置的“双重人格”:一次hostPort神秘复现的排查之旅

# 总结这次hostPort神秘复现的排查之旅,揭示了Kubernetes配置管理中一个容易被忽视的深层次问题:配置的“双重人格”并非超自然现象,而是控制器模式、网络插件缓存与最终一致性机制共同作用的结果。当用户直接修改Pod(如删除hostPort)时,如果Deployment的模板中仍然包含hostPort,那么控制器会在下一轮Reconcile循环中,将Pod“修正”回模板定义的状态。更糟糕的是,某些网络插件会缓存Pod配置,并在Pod重启时从缓存中恢复,这就像配置的“第三重人格”。

2026-07-24 15:19:44 162

原创 ASP.NET Core Blazor 路由配置和导航

在现代 Web 开发中,路由是应用程序的核心组成部分,它决定了用户如何从一个页面导航到另一个页面。指令,到带约束的路由参数,再到编程式导航和查询字符串处理,Blazor 的路由系统为构建动态、用户友好的单页应用提供了强大支持。在实际开发中,合理利用这些功能,可以显著提升应用的导航体验和代码的可维护性。### 基础路由配置#### 1. 添加路由组件在 Blazor 应用中,路由通常在。### 路由参数和约束#### 1. 使用路由参数你可以通过路由模板传递参数,让组件根据参数值动态渲染内容。

2026-07-24 15:18:35 206

原创 Windows系统安装OpenClaw并使用Qwen千问接入飞书教程 ??

架构设计。

2026-07-23 15:11:45 228

原创 《上海市卫生健康”信息技术应用创新”白皮书》C#/.NET “A组件”认定事件始末与最终结果

技术偏见需要实践检验。

2026-07-23 15:10:33 150

原创 Dario 常驻 Codex|从生图到安装,手把手带你换一套 Codex 皮肤

其实制作皮肤图片,不是图越好看越好,因为软件界面会有很多图标,如果你的皮肤是个靓仔、靓妹,他 / 她放在界面正中间,会被首页标题挡住;虽然本次实践的是 macOS,但整个换肤的流程是通用的,Windows 用户记得在 Codex Dream Skin 下载安装包中找到对应的 Windows 版本,按照下面的步骤一步步操作。由于个人偏好蓝色和橙色系,所以最后选的是“窗边的凌晨调试现场”:午夜蓝和灯光橙做底色,用微弱的城市灯点衬托高手的孤寂。每个方向说明场景、主色、光线、人物位置和适合作为软件背景的原因。

2026-07-22 14:32:23 195

原创 impdp 遇到 TSTZ Version 报错:ORA-39405 处理实践

把目标 PDB 升级到相同或更高的 Time Zone Version 后,即可解决问题。这说明 Oracle Home 已经支持 Version 45,但目标数据库本身仍停留在 Version 43。升级 RU 或 Oracle Home,并不会自动升级数据库当前使用的 Time Zone Version。只要把目标业务 PDB 的 Time Zone Version 升级到与源库相同或更高即可。ROOT 和 PDB$SEED 仍为 43,而业务 PDB 升级到 45,是一个可用配置。

2026-07-22 14:31:49 173

原创 初探:用 FastAPI 搭建你的第一个 AI Agent 接口

这事儿其实可以特别简单:一个 FastAPI 服务 + 一个本地 Ollama,就能跑通一个完整的 AI Agent 接口,还能自动给你生成漂亮的 Swagger 文档。对,你没看错,连 httpx 都得装,一会儿我们要用它去异步调 Ollama 的 API,这时候就别用 requests 同步请求了,一上量接口直接卡成 PPT。她先是卡在“怎么把每次的提问包装成 API”,然后又纠结“返回的结果该用啥格式”,最后看着一堆手动拼的 JSON schema 叹了口气。别急,今天咱们先把大厨请出来。

2026-07-21 14:54:23 230

原创 C# SwaggerLoginAuthPlugin 一款给Swagger文档加登录页面的小插件

/在UseSwagger前注册SwaggerAuth中间件。//需要您的项目非最小 api。//swagger登录密码。//swagger登录账户。//需要您的项目非最小 api。运行您的项目,在访问您的swagger地址时会被拦截。

2026-07-21 14:53:46 187

原创 前端视角下的 Java

注意点:TypeScript 的类型体操让我们在前端就体验到了"元编程"的快感,但这种快感有时是危险的。这里有个有趣的发现:Hooks 的组合是纵向的(在一个组件函数内,多个 Hook 层层叠加),DI 的组合是横向的(一个 Service 依赖多个 Repository,像组装乐高积木)。Java 16 的 record、Java 17 的 sealed class,以及即将到来的 Valhalla 项目(值类型),都是在逐步释放类型系统的表达能力,但始终保持着对 JVM 兼容性的敬畏。

2026-07-20 14:42:06 187

原创 Day 0 部署:昇腾 910B DeepSeek-V4 部署指南与压测表现

从架构设计来看,DeepSeek-V4 不只是简单的参数扩展,而是在多个关键路径上进行了系统性优化。例如混合注意力机制(CSA+HCA)显著降低长上下文推理成本,mHC 结构强化深层网络的稳定性,而 Muon 优化器则提升了训练效率与收敛表现。这些优化技术使得其在长上下文与复杂推理场景中具备更高的性价比。img另一方面,这类超大规模 MoE 模型对对底层硬件与推理引擎的适配能力提出了更高要求。

2026-07-20 14:41:33 189

原创 记一次 .NET 某电力后台监控系统 内存暴涨分析

一:背景二:内存暴涨分析0:000>!接下来使用!eeheap -gc 观察托管堆,这样就可以一分为二的则出问题。

2026-07-19 15:33:48 209

原创 Git+Github零基础完整教程|核心概念+实操流程+多人协作实战

开发者通过 Git 完成本地代码的版本管理,再将本地仓库代码同步至 Github 远程仓库,实现代码备份、开源分享、团队协同开发。Git 是一款开源免费的分布式版本控制系统,主要用于解决项目开发中的代码版本管理、多人协作开发问题,能够精准记录每一次代码变更,实现版本回溯、代码备份、分支并行开发等核心需求。常规分支合并会同步所有代码改动,Cherry Pick 可精准筛选指定提交记录,仅将需要的代码改动合并至主干,无需合并整个分支所有内容,适用于局部功能迭代、紧急补丁合并场景。

2026-07-19 15:33:13 221

原创 详解cni插件cilium篇一:它为什么这么快?它还有哪些高级功能?

eBPF(extended Berkeley Packet Filter)是一项革命性的内核可编程技术,它允许在不修改内核源码、不加载内核模块的前提下,将安全的沙箱程序注入 Linux 内核的任意执行路径,实现网络、安全、可观测性等场景的内核级增强。它彻底打破了传统内核 “静态、封闭” 的特性,让内核具备了动态可编程能力,成为云原生、高性能网络、安全监控等领域的核心底层技术。

2026-07-18 15:18:13 208

原创 大整数相乘的 Toom-Cook 算法

似看成常数。但如果是两个几千位、几万位甚至更大的整数相乘,情况就不一样了。此时 * 背后不再是一条简单的 CPU 乘法指令,而是一整套大整数乘法算法。这篇文章要讲的,就是大整数乘法中的一个经典算法:Toom-Cook 算法。从普通乘法说起当数值远超一个机器字或寄存器能表示的范围时,就不能再把一次整数乘法视作�1O(1) 操作了。为了简化讨论,下面把�n 理解成大整数被拆成的“单元数量”。每个单元可以是一个机器字,也可以是一段固定长度的二进制位,可以快速相乘。

2026-07-18 15:17:28 139

原创 P1469 找筷子 题解

CX 小朋友找出了餐厅中所有的筷子,但遗憾的是这些筷子长短不一,而我们都知道筷子需要长度一样的才能组成一双,更麻烦的是 CX 找出来的这些筷子数量为奇数,但是巧合的是,这些筷子中只有一只筷子是落单的,其余都成双,善良的你,可以帮 CX 找出这只落单的筷子的长度吗?经过一段时间的紧张筹备,电脑小组的“RP 餐厅”终于开业了,这天,经理 LXC 接到了一个定餐大单,可把大家乐坏了!第二行有 � 个整数,第 � 个整数表示第 � 根筷子的长度 ��。第一行是一个整数,表示筷子的数量 �。

2026-07-17 14:27:49 205

原创 Processing 的 sketch.properties 机制以及主程序与文件夹解耦的具体细节

从强约定(文件夹名=主程序名)转向弱约定+配置(显式声明)。这是 Ben Fry 等核心开发者为了适应现代开发工作流(版本控制、持续集成、模块化开发)而做的妥协,同时保持了向后兼容性。如果你需要进一步验证main=的具体语法(如是否需包含.pde扩展名、是否支持相对路径等),建议直接在 Processing 4.3+ 中实验,或查看中方法的源码实现。

2026-07-17 14:27:04 311

空空如也

空空如也

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

TA关注的人

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