- 在后端项目里,最常见的坏味道之一是业务类里到处 new:Service 里 new Dao,Dao 里 new 数据源,单测时想换一个 Mock 实现,却发现构造链条牵一发而动全身。依赖注入(Dependency Injection,DI)解决的正是这个问题:把“创建依赖”的权力从业务类手里反转出去,交给外部容器。本文总结六个落地要点。 一、反转的是“创建权”,不是“依赖关系”依赖关系依然存... 在后端项目里,最常见的坏味道之一是业务类里到处 new:Service 里 new Dao,Dao 里 new 数据源,单测时想换一个 Mock 实现,却发现构造链条牵一发而动全身。依赖注入(Dependency Injection,DI)解决的正是这个问题:把“创建依赖”的权力从业务类手里反转出去,交给外部容器。本文总结六个落地要点。 一、反转的是“创建权”,不是“依赖关系”依赖关系依然存...
- 以前做后端开发时,觉得只要接口设计合理、数据库稳定、业务逻辑没问题,一个系统基本就能稳定运行。但真正开始接触 AI Agent 后,我发现以前积累的后端开发经验虽然仍然非常有用,却远远不够。因为传统系统和 AI Agent 有一个很大的区别:传统程序主要依靠确定性的代码执行,而 AI Agent 的决策过程具有不确定性。这意味着,以前只需要考虑接口、数据库和服务器的问题,现在还得考虑模型幻觉... 以前做后端开发时,觉得只要接口设计合理、数据库稳定、业务逻辑没问题,一个系统基本就能稳定运行。但真正开始接触 AI Agent 后,我发现以前积累的后端开发经验虽然仍然非常有用,却远远不够。因为传统系统和 AI Agent 有一个很大的区别:传统程序主要依靠确定性的代码执行,而 AI Agent 的决策过程具有不确定性。这意味着,以前只需要考虑接口、数据库和服务器的问题,现在还得考虑模型幻觉...
- 上周三下午,订单查询接口的告警群突然热闹起来:P99延迟从平时的80ms抬升到3秒以上,而且每过十几分钟就抖一次,持续一两分钟又自己恢复。这种"间歇性抖动"最烦人,平均延迟看起来还算正常,监控大盘一片绿,只有P99曲线在反复横跳。第一反应:看错监控大盘反而被误导先看了QPS和错误率,都没有明显变化,说明不是流量突增。再看应用GC,YoungGC频率正常,FullGC一次都没有。CPU使用率4... 上周三下午,订单查询接口的告警群突然热闹起来:P99延迟从平时的80ms抬升到3秒以上,而且每过十几分钟就抖一次,持续一两分钟又自己恢复。这种"间歇性抖动"最烦人,平均延迟看起来还算正常,监控大盘一片绿,只有P99曲线在反复横跳。第一反应:看错监控大盘反而被误导先看了QPS和错误率,都没有明显变化,说明不是流量突增。再看应用GC,YoungGC频率正常,FullGC一次都没有。CPU使用率4...
- 分享后端接口开发中常见的超时控制、请求重试、服务降级与日志记录等实践,帮助提高应用稳定性。 分享后端接口开发中常见的超时控制、请求重试、服务降级与日志记录等实践,帮助提高应用稳定性。
- API 平均响应时间较低,并不代表接口性能稳定。本文通过 Python 实战实现一个轻量级性能统计工具,对比平均响应时间、P95 和最大耗时等指标,分析慢请求对用户体验的影响,并介绍数据库优化、缓存策略和链路追踪等常见性能优化方向。 API 平均响应时间较低,并不代表接口性能稳定。本文通过 Python 实战实现一个轻量级性能统计工具,对比平均响应时间、P95 和最大耗时等指标,分析慢请求对用户体验的影响,并介绍数据库优化、缓存策略和链路追踪等常见性能优化方向。
- API 请求超时并不意味着服务端操作失败,盲目重试可能导致数据重复创建。本文使用 Python 实现一个简化的幂等键机制,通过模拟作品发布和重复请求,介绍 API 幂等性的基本原理、实现方式及实际开发中需要注意的并发与数据持久化问题。 API 请求超时并不意味着服务端操作失败,盲目重试可能导致数据重复创建。本文使用 Python 实现一个简化的幂等键机制,通过模拟作品发布和重复请求,介绍 API 幂等性的基本原理、实现方式及实际开发中需要注意的并发与数据持久化问题。
- 讲清缓存的核心取舍,说明失效比写入难,梳理穿透和雪崩的成因,并给出四个不该用缓存的场景。 讲清缓存的核心取舍,说明失效比写入难,梳理穿透和雪崩的成因,并给出四个不该用缓存的场景。
- Rust 的无畏并发结合 async/await 提供了极高的性能与内存安全。本文深入剖析 Tokio 异步运行时中的多线程工作窃取(Work-Stealing)调度器与零成本 Future 状态机。 Rust 的无畏并发结合 async/await 提供了极高的性能与内存安全。本文深入剖析 Tokio 异步运行时中的多线程工作窃取(Work-Stealing)调度器与零成本 Future 状态机。
- 下单按钮连点导致重复落单,前端用按钮 loading + axios 拦截器 pending 去重拦掉手滑,后端用 requestId + 数据库唯一索引做幂等兜住穿透;附拦截器漏删 key、requestId 刷新复用等真实踩坑。 下单按钮连点导致重复落单,前端用按钮 loading + axios 拦截器 pending 去重拦掉手滑,后端用 requestId + 数据库唯一索引做幂等兜住穿透;附拦截器漏删 key、requestId 刷新复用等真实踩坑。
- Rust 的无畏并发结合 async/await 提供了极高的性能与内存安全。本文深入剖析 Tokio 异步运行时中的多线程工作窃取(Work-Stealing)调度器与零成本 Future 状态机。 Rust 的无畏并发结合 async/await 提供了极高的性能与内存安全。本文深入剖析 Tokio 异步运行时中的多线程工作窃取(Work-Stealing)调度器与零成本 Future 状态机。
- 📌 本文要点:一文搞懂小程序登录态的核心原理与生产级实现。包含 4种方案横向对比、完整Node.js+Redis后端代码(防刷/互踢/自动续期/并发控制)、数据库设计、Redis持久化配置以及前端完整封装。全文共 10个章节、6个对比表格、30+代码示例,适合想从零搭建小程序登录体系的后端开发者。 📚 目录一、为什么需要自定义登录态?二、四种登录态方案深度对比与选型三、核心流程速览四、核... 📌 本文要点:一文搞懂小程序登录态的核心原理与生产级实现。包含 4种方案横向对比、完整Node.js+Redis后端代码(防刷/互踢/自动续期/并发控制)、数据库设计、Redis持久化配置以及前端完整封装。全文共 10个章节、6个对比表格、30+代码示例,适合想从零搭建小程序登录体系的后端开发者。 📚 目录一、为什么需要自定义登录态?二、四种登录态方案深度对比与选型三、核心流程速览四、核...
- 前后端分离不是把代码拆两个仓库就叫分了。本文用一张架构图和一张请求流程图,讲清楚分离到底分的是什么、各自负责什么、请求怎么走,以及新手最容易踩的几个坑。 前后端分离不是把代码拆两个仓库就叫分了。本文用一张架构图和一张请求流程图,讲清楚分离到底分的是什么、各自负责什么、请求怎么走,以及新手最容易踩的几个坑。
- WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接。 WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接。
- SpringBoot的注解校验就像给你的方法参数请了个私人保镖,专门拦截那些不靠谱的输入。没有它?用户传个`null`过来,你的程序可能就会表演“当场崩溃”的绝活。 SpringBoot的注解校验就像给你的方法参数请了个私人保镖,专门拦截那些不靠谱的输入。没有它?用户传个`null`过来,你的程序可能就会表演“当场崩溃”的绝活。
- 通过 Spring Cloud Alibaba Nacos 的集成,可以获得一个功能完整、性能优异、易于运维的微服务基础设施平台,大大降低了微服务架构的复杂度和维护成本。 通过 Spring Cloud Alibaba Nacos 的集成,可以获得一个功能完整、性能优异、易于运维的微服务基础设施平台,大大降低了微服务架构的复杂度和维护成本。
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签