如何用 Claude Code 自动生成单元测试

本文是「ClaudeCode实战专栏」系列之一,聚焦如何用AI助手高效补全项目中最容易被忽视、但又至关重要的工程环节——单元测试。一、为什么偏偏是单元测试?在真实业务开发中,单元测试往往是“说起来重要,做起来跳过”的环节:时间紧:需求排期满,测试代码总是优先级最低;枯燥重复:尤其是纯函数、工具类的边界条件覆盖,写起来机械;信心不足:开发者不确定测试是否覆盖了核心路径,写了也心里没底。ClaudeC...

OpenClaw 的基本使用流程(从启动到完成任务)

前面的内容,我们已经把准备工作都做完了:环境搭建模型配置config参数接下来,终于进入最关键的一步:真正用OpenClaw做一件事。很多人卡在这里,不是不会用命令,而是:不知道正确的使用流程不知道任务该怎么提不知道什么时候算”完成”这一篇,我们就用一条主线,把整个流程走一遍:从启动→下任务→执行→拿结果让你第一次用,就能跑通。一、先说清楚:OpenClaw的使用逻辑在动手之前,先建立一个正确的认...

静态资源防盗链:如何配置 MinIO 策略,防止别人"偷"你的图片流量?

一、先聊聊:流量是怎么被”偷”走的?某天早上打开监控面板,你发现MinIO出向带宽突然飙升到平时的5倍,CDN账单多了一个零。排查日志你会看到:**自己花钱买的带宽,正在给别人的网站当”免费图床”**。这就是典型的盗链(Hotlinking)场景。举个例子:你在img.mysite.com/banner.jpg放了一张2MB的Banner图;某营销号直接把<imgsrc="http...

设计模式实战:中介者模式(Mediator)

在复杂系统中,你是否遇到过这样的情况:多个对象之间相互调用类之间互相依赖一个改动影响多个模块典型表现就是:对象之间”网状依赖”,越改越乱。例如一个聊天室系统:user1.send("hello")user2.receive("hello")user3.receive("hello")如果用户之间互相调用:user1.send("...

如何让 OpenClaw 使用不同的大模型

在前面的文章中,我们已经讲了:如何安装OpenClaw如何配置config.json各种参数的作用但有一个点,其实比这些都更关键:模型用得对不对,直接决定了OpenClaw好不好用。很多人用OpenClaw觉得:成功率不稳定经常执行失败结果不符合预期很大一部分原因不是工具问题,而是:模型没选对,或者没配置好。这一篇,我们就把这一块彻底讲清楚:👉OpenClaw如何接入不同模型👉不同模型有什么区...

设计模式实战:责任链模式(Chain of Responsibility)

在很多业务系统中,你会遇到这样的场景:请求需要经过多个处理步骤每个步骤可能处理,也可能放行处理流程可以动态调整例如:审批流程(组长→经理→总监)Web中间件(鉴权→日志→限流)风控系统(规则1→规则2→规则3)如果你这样写:defhandle(request):ifnotcheck_auth(request):return"无权限"ifnotcheck_rate_limit(r...

你的文件分享链接真的安全吗?MinIO 临时外链安全机制全解析

MinIO实战专栏|深度进阶篇适用版本:MinIORELEASE.2024-01-01及以上·Pythonminio-py7.x·boto31.34+引言:为什么需要临时外链?在对象存储的实际业务场景中,我们经常遇到这样的需求——把一个存储在MinIO私有桶中的文件,临时分享给没有MinIO账号的外部用户,并且希望这个链接在一段时间后自动失效。典型场景包括:电商平台向用户发送订单发票的临时下载链接...

Claude Code 与 Cursor、Copilot 的真实差异

它们不是同一类工具,只是恰好出现在了同一个赛道上。2025年5月,Anthropic发布了ClaudeCode。不到一年,它在开发者社区中的”最喜爱”评分就达到了46%,把Cursor(19%)和GitHubCopilot(9%)甩在了身后。很多人会问:这三个工具到底有什么不同?我该选哪个?答案可能出乎你的意料——大多数认真写代码的人,不是在”选”,而是在”组合”。一、三种哲学,三条路线要理解差异...

OpenClaw 配置文件详解:config.json 里到底能配什么

在前面的文章中,我们已经讲清楚了:OpenClaw的基本使用安装过程中常见问题以及目录结构如果你只是”用一用”,这些已经够了。但如果你想进一步提升效果,就必须进入一个关键部分:配置文件(config)。很多人用OpenClaw会遇到一些问题:为什么执行步骤太多?为什么改代码不稳定?为什么结果不符合预期?这些问题,本质上很多都可以通过配置来优化。这一篇,我们就讲清楚:config.json里到底能配...

设计模式实战:命令模式(Command)

在很多系统中,你会遇到这样的需求:把”操作”当成对象传递支持操作的撤销(Undo)支持操作队列/延迟执行支持日志记录与重放例如:编辑器的撤销/重做任务队列(异步执行)按钮点击绑定不同行为审批操作记录如果直接写函数调用:light.turn_on()light.turn_off()看起来简单,但问题是:操作无法记录无法撤销无法统一调度这时候就需要——命令模式(Command)。一、命令模式解决什么问...