开发工具
共 415 篇文章
MCP 关闭连接时,Shutting 日志触发 JSON 解析错误
stdio 工具的退出日志进入 stdout,会被当成 MCP 消息解析。区分服务器日志与宿主输出,核对 SDK 1.29.0 的关闭路径、正确等待连接和错误处理。
Git 初始提交执行 reset 时报 HEAD~1 无法识别
第一次提交没有父提交,git reset --soft HEAD~1 因而无法解析目标。区分真实根提交和浅克隆,并通过新建分支、重命名或 amend 完成修改,保留恢复入口。
网页能打开,curl -I 却返回 405 Method Not Allowed
浏览器能打开网页,curl -I 却返回 405 时,对比同一路径的 HEAD 与 GET;用 GET 丢弃正文并输出状态码,分别判断传输失败、HTTP 异常和登录跳转。
curl --resolve 指定 8443 后仍连接 443 端口
--resolve 中的端口用于匹配 URL,不会重定向连接端口。区分替换 IP、访问非默认 HTTPS 端口和使用 --connect-to 映射后端端口,并核对 TLS 与实际连接目标。
Python 函数默认列表在多次调用之间不断累积元素
Python 可变默认参数在函数定义时创建,多次省略参数会共享同一个列表。用 None 在调用时创建列表,并明确显式传入列表时采用原地修改还是复制。
Gradle 8.1.1 在 Java 21 上报 Unsupported class file major version 65
Gradle 运行 JVM 与 Wrapper 版本不兼容;区分 Java 21 工具链支持和运行支持,检查实际启动入口并选择配套版本。
Rust Option::map_or 的默认值也在闭包中使用,编译报 E0382
Option::map_or 的参数提前求值,同一向量不能既作为默认值移动,又由闭包消费。用 match 在选中分支内转移所有权,保留分支行为。
Python json.dumps 报 Object of type set is not JSON serializable
json.dumps 遇到 set 类型报错,可能是变量外多写了花括号。区分字典、集合与 JSON 文本,按字段协议修正构造方式,并验证输出的类型和嵌套结构。
curl 报 option --fail-with-body: is unknown,安装脚本在下载前退出
旧版 curl 无法识别 --fail-with-body,安装器可能在请求发出前退出。核对实际版本和执行环境,选择兼容安装器或更新工具,并在改用 --fail 时保留失败处理、明确错误正文的变化。
pandas read_csv 读编号后前导零消失:按字符串与空值规则导入
read_csv 将编号推断成数值后前导零丢失,应在读取时按列声明字符串,并明确默认缺失词、空编号与 converter 的行为;已损失格式需从原件恢复。
Git 解决 cherry-pick 冲突后,提交报 cannot amend
Git 冲突解决并暂存后,cherry-pick 仍可能尚未结束。需要独立提交时使用 --continue;确实要并入未共享的旧提交时,先确认 HEAD、保存工作,再区分 --quit 与 --abort 的影响。
React 输入框从 uncontrolled 变成 controlled
React 文本 input 首次 value 为 undefined,回填后切换成受控。确定初始值、清空及 reset 契约,区分原生 input 与表单库包装组件。
Java 用 Supplier 返回同一个 Stream,第二次 sorted 抛出 IllegalStateException
Supplier 返回已有 Stream 引用时仍会复用同一条流。独立计算应从数据源分别创建流,连续处理则串成一条链,并保留资源与数据快照边界。
Git 新建分支时执行 switch 报 invalid reference
新分支名在本地和远程跟踪引用中都不存在时,git switch 分支名可能报 invalid reference。用小写 -c 创建,明确起点,并区分远程分支自动猜测与强制创建 -C 的行为。
Python 再次调用 logging.basicConfig 后,日志仍写到原来的位置
root 已有 handler 时,basicConfig 默认不会覆盖配置。先确认配置来源,优先在启动阶段只配置一次;需要重配时明确 force 的版本与关闭旧 handler 的影响。
在子目录执行 git clean 后,其他目录的文件没有清理
在 src 等子目录执行 git clean 后,其他目录的未跟踪文件可能仍阻止切换分支。确认工作区根目录,用 git -C 在正确位置预览指定路径,备份后处理冲突文件,并区分忽略文件和嵌套仓库。
自建裸仓库推送 LFS 报 objects/batch 404:检查 LFS 服务
自建裸仓库推送 LFS 的 Batch 请求返回 404,确认服务与端点,区分客户端 install、服务部署和访问资格,再验证完整对象上传下载。
Git 内容没变却出现 modified:core.fileMode 与脚本执行位
先确认 diff 只有模式变化,再按仓库设置 fileMode;关闭检测后显式核对和记录脚本在暂存区的可执行模式。
Spring Boot 找不到 @ConfigurationProperties 配置类 Bean
配置键存在却报配置类 Bean 找不到时,区分属性绑定与 Bean 注册。按显式启用、属性扫描或 JavaBean 组件注册处理,核对包范围及 record 构造器绑定。
Go 把 JSON 解码到 interface 后,整数 id 变成 float64
encoding/json 默认把接口中的数字解码为 float64。结构已知时指定 int64 字段,动态结构则使用 UseNumber,并检查数字读取和转换错误。


