自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 程序猿崛起2——互联网时代下的新潮流和新活法

所以,不必焦虑“35岁危机”,也不必纠结“996”,只要你持续学习、拥抱变化、保持对世界的好奇,程序猿之路,永远有光。互联网的浪潮早已从“风口”变成了“基础设施”,而程序员——这个曾经被戏称为“格子衫、秃头、修电脑”的群体,正在经历一场前所未有的身份重构。不再是单纯的“码农”,也不再是躲在屏幕后的“工具人”,如今的程序猿,正站在技术与人性的交汇点,用代码重新定义工作、生活甚至自我价值。### 二、进阶实战:从“工具”到“智能”的跨越如果说自动化是程序猿的“标配”,那么“智能”则是新潮流中的“高配”。

2026-08-04 15:12:43 166

原创 从把三千行代码重构成15行代码谈起

多数所谓的“复杂业务”,其实是被糟糕的抽象逼出来的。不是把代码写短,而是把复杂度转移到正确的抽象层次。代码量不是衡量工作量的标准,抽象层次才是。

2026-08-04 15:11:36 201

原创 设计-简约而不简单

它不是偷懒,而是需要更多的思考:- 接口设计时,思考什么参数是真正必要的- 组件设计时,思考如何通过组合而非配置来扩展- 状态管理时,思考每个状态的合理生命周期- 重构代码时,思考如何用数据结构替代逻辑分支- 架构设计时,思考当前业务规模下的最优解简约设计需要我们有足够的技术深度和业务理解,才能做出正确的取舍。它是一场持续的修炼,而不是一次性的作业。希望这篇文章的代码示例,能给你带来一些启发。

2026-08-03 14:41:51 220

原创 洛谷-P10786 [NOI2024] 百万富翁 题解

分治+归纳当 n 很大时,我们可以通过“分组比较”来减少总次数不能重复询问同一个元素关键点。

2026-07-31 17:53:42 168

原创 莱特摩比的一面之缘(前端经验)

从基础的数据绑定,到组件的拆分,再到自定义指令的扩展,莱特摩比始终保持着简洁、直观的风格。它的特点包括:- 响应式数据绑定- 组件化开发- 极小的体积(压缩后约 5KB)- 无依赖,纯 JavaScript 实现我第一次在项目中尝试它时,最直观的感受是:上手门槛极低,几乎不需要学习成本。点击按钮后,标题文字会动态更新,无需手动操作 DOM,这就是响应式数据绑定的魅力。通过组件化,我们可以复用代码,并且每个组件拥有独立的作用域,便于维护和测试。是生命周期钩子,在组件挂载到 DOM 后执行,常用于初始化逻辑。

2026-07-31 17:52:40 174

原创 前端包管理咋选?我从npm叛逃到pnpm的血泪史(附避坑指南)

避坑口诀。

2026-07-30 16:59:46 249

原创 元数据驱动开发 - 面向对象编程思想的补充

元数据驱动开发(Metadata-Driven Development)作为一种补充范式,通过将行为与数据分离,利用元数据(描述数据的数据)来动态控制逻辑,从而提升系统的灵活性和可扩展性。而元数据驱动开发将这种变化视为数据而非代码:属性结构被存储为元数据(如JSON配置),运行时通过解释这些元数据来生成行为。### 核心原理:元数据作为“第二层抽象”元数据驱动开发的核心是引入一个“元模型”,它描述了数据模型本身的结构。:读取元数据,动态创建对象或执行操作,而不是依赖编译时的类型系统。

2026-07-30 16:58:42 166

原创 如何编写一个SpringBoot项目告警推送的Starter

** * 方法告警注解 * 标注在方法上,当方法抛出异常时自动发送告警 */@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface AlarmOnException { // 告警标题,默认为空 String title() default "";// 是否包含方法参数 boolean includeArgs() default true;

2026-07-28 18:11:33 219

原创 记一次微服务架构下的HTTP请求头“大小写”丢失排查之旅

在微服务架构中,HTTP请求头的传递是一个看似简单却暗藏“陷阱”的环节。最近,我们团队在一次线上故障排查中,就遇到了一个因请求头大小写丢失导致的诡异问题。## 解决方案### 方案一:在网关层统一处理请求头在Spring Cloud Gateway中,我们可以通过自定义过滤器来保持请求头的大小写。#### 示例2:使用Node.js模拟客户端请求为了验证问题是否出在客户端,我们编写了一个Node.js脚本发送带大小写请求头的HTTP请求。然而,在测试环境中发现,当请求经过网关后,后端服务接收到的请求头。

2026-07-28 18:10:24 183

原创 给 AI 程序员开「外挂」?这个仓库装了 63 个

别急,今天我要给你推荐一个“宝藏仓库”——它就像一个开了外挂的工具箱,里面装了 63 个直接可用的 AI 工具,覆盖了从数据预处理到模型部署的方方面面。这个仓库叫「AI-Toolbox」(假设名字,实际项目中类似),它不是一个庞大的框架,而是一个轻量级工具集合。## 总结63 个工具,就像 63 个“外挂”技能,覆盖了 AI 开发的各个环节。对于 AI 程序员来说,时间是最宝贵的资源——与其花数小时写一个数据增强函数,不如直接用现成的工具,然后把精力放在模型架构、损失函数设计等核心问题上。

2026-07-27 17:21:18 235

原创 零基础认识大语言模型(LLM)工作原理(6.从 SwiGLU 到 MoE —— FFN 才是大模型真正的算力核心)

SwiGLU。

2026-07-27 17:20:10 186

原创 如何优雅的使用RabbitMQ

RabbitMQ 作为一款成熟、高性能且易于扩展的消息中间件,凭借其对 AMQP 协议的完整支持、灵活的路由机制和丰富的客户端库,在企业级应用中广受欢迎。此外,RabbitMQ 还支持消息确认(ACK)、持久化、死信队列(DLQ)等高级特性,这些是保证消息可靠性的基石。## 优雅的实践:连接管理与生产者设计不优雅的代码常表现为每次发送消息都创建新连接,或未处理连接异常。## 优雅的消费者:手动 ACK 与死信队列消费者最容踩的坑是未正确确认消息(ACK)导致消息丢失或重复。:从队列接收消息的应用程序。

2026-07-26 16:11:40 172

原创 【前端性能】高性能滚动 scroll 及页面渲染优化

减少计算量。

2026-07-26 16:10:26 166

原创 本可避免的P1事故:Nginx变更导致网关请求均响应400

Nginx的默认值不是安全值。

2026-07-25 17:07:49 222

原创 手算神经网络BP传播算法

前向传播。

2026-07-25 17:06:41 194

原创 多Agent开发笔记:为什么4个Codex加1个Claude会把cpu跑满

合理规划并发数。

2026-07-24 18:58:10 229

原创 扩展 Lucas 定理(exLucas)学习笔记 & 详解,一文带你彻底看懂扩展 Lucas 定理。

将模合数问题分解为模质数幂子问题。

2026-07-24 18:55:38 175

原创 官方文档像天书?这本开源的 WorkBuddy“蓝皮书“,或许更适合小白入门

## 总结:从“天书”到“蓝皮书”,只差一个选择官方文档就像一本深奥的学术专著,适合有经验的开发者查阅;如果你曾因为官方文档的晦涩而放弃某个工具,不妨试试 WorkBuddy——它不会让你在“配置环境”上卡住,也不会用“参考文档”把你绕晕。比如,当它教你“任务调度”时,会先解释什么是任务、什么是调度,然后直接给你一个可运行的 Python 脚本。作为一名技术博主,我经常遇到这样的问题:初学者满怀热情地打开官方文档,结果被密密麻麻的术语、晦涩的示例和缺失的上下文吓退。文件,这就是你的工作流入口。

2026-07-23 16:54:41 402

原创 在 OpenCode 中构建分层多智能体协作系统:DeepSeek 双模型成本感知调度实践

策略层分层架构的价值。

2026-07-23 16:53:34 194

原创 老规矩,还是先上个代码:

这个代码的逻辑非常简单,首先我们搞了一个线程池,然后起一个 for 循环往线程池里面仍了 5 个任务,这是核心逻辑。很简单嘛,需要子任务真正执行完成后,父任务的 countDownLatch 才能进行 countDown 的动作。从日志输出来看,任务 2 需要处理的两个数据,确实是在不同的异步线程中处理数据,也实现了我的需求。这个地方从数据库捞出来的数据,它们之间是没有依赖关系的,也就是说它们之间也是可以并行执行的。即子任务全部完成之后,父任务才能算执行完成,这样统计出来的时间才是准确的。

2026-07-22 15:53:31 191

原创 HDU4348 To the moon题解(主席树区间修改模板)

如果有一个结点存在标记,那么它的整棵子树都要增加数值,若询问的区间在它子树内,而标记又不能下传,难以直接计算,所以开一个变量 Sum_Tag 来记录经过该结点时增量,通过 Sum_Tag 统计从根一路到达目标区间的增量。显然,这一方案十分的正确,然而这题仅给了 64M 的空间,把这个单次操作产生的空间约为。就是字面意思,将懒标记打完以后就放在那个结点再也不动了,会被新版本继承,但不会再被下传,这样就避免了更改历史结点的问题。首先,区间操作为了防止爆时间,懒标记肯定时需要的。的方案 pass 掉了。

2026-07-21 15:18:27 186

原创 重构中文 TTS!kokoroi-rs 高性能语音合成引擎介绍

写在前面如果你关注过开源语音合成(TTS)领域,大概对 Kokoro 这个名字不陌生。作为一个轻量级、多语言的 TTS 模型,Kokoro 凭借 82M 参数量和 Apache-2.0 开源协议,在社区里收获了不少关注。不过,Kokoro 的原生实现主要是 Python 生态,依赖 PyTorch 和大量的 Python 运行时——这在生产环境中往往会带来部署体积大、启动慢、并发能力受限等问题。那么问题来了:能不能把 Kokoro 搬到 Rust 里,跑出更高的效率?

2026-07-21 15:17:41 227

原创 Python 测试代码

C++ 标准库的 regex 慢是众所周知的,不过没想到会比 Python 基线慢一个数量级,令人捧腹。不同的标准库实现之间性能也是天差地别,我选用了最快的 libstdc++;除了慢之外,标准库还有代码膨胀的问题,仅仅简单使用基础功能和一个不算复杂的模式,就产生了 200 KB 左右的编译产物。这个工具号称比 Go 1.16 的标准库最多快 5 倍,要么是 Go 的标准库有了飞跃式提升,要么是它夸大宣传。尽管只运行了两轮,但每个函数匹配的次数都在 1000 万次以上,足够摊平统计差异了。

2026-07-19 16:44:24 210

原创 重连成功,图表却骗了你

凌晨三点,行情监控脚本告警:WebSocket 断开。五秒后重连成功,日志显示连接恢复,心跳正常。你看了一眼 K 线图,没有跳空,没有断崖,价格曲线平滑。于是关掉告警继续睡觉。两周后跑策略回测,发现那天的分钟线有几根不对。排查了很久才找到根因:凌晨断流那段时间缺了几分钟数据,而重连后 WebSocket 只推送了当前快照,没有把断流窗口的 K 线补回来。你看到的平滑曲线,其实是前端把缺失段直接连起来了。重连成功 ≠ 数据连续。

2026-07-19 16:43:39 242

原创 k8s的pod容器中微服务无法创建新线程unable to create new native thread

问题这是困扰了我们一个很久的OOM问题,经常在一个节点上面多服务压力上来时出现,表面上是一个程序OOM,但具体又是里面的一个分支 线程问题。出现的症状是不只是说一个服务,是跑在同一个节点上的所有服务而且是需要创建新线程的服务都出现无法创建新线程的异常日志,从节点的资源上看CPU和内存资源都还比较充足,只使用到了一半。

2026-07-18 15:26:32 214

原创 核心设计哲学:FP + 不可变 + 接口扩展

而且生成的 SdBox、SdTorus 等 SDF 函数直接以实例方法的形式挂在 Vector3 上——这种直觉式的 API 设计,不可能在 System.Numerics 中实现。因为列式存储直接适配 DuckDB / Apache Parquet 的查询引擎——你可以用 SQL 对几何数据做聚合分析,比如"统计所有 MEP 元素的总体积"或"找出每个楼层所有窗户的面积"。这可能是整个项目中最"前沿"的部分。作者没有追求"企业级抽象"和"最佳实践"的教条,而是选择了一条更务实、也更具个人风格的路线。

2026-07-18 15:24:57 271

空空如也

空空如也

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

TA关注的人

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