记录生活中的点滴
每天我们身边都经历着这样或者那样的事情,好的不好的,高兴的不高兴的,快乐亦或忧伤的……这些都是人生必须要经历的,以后回想起来,看到这些有的时候觉得好笑,无论怎么样,这都组成了我们生活的一部分。
AI 给我挖的一个坑
2026年01月21日
最近在使用 Gemini 写一个服务,主要是扫描 20 分钟之内的订单,如果订单超过 20 分钟没有任何数据返回,则退还给用户费用。我多次测试,订单已经超过 20 分钟,第三方也没有返回任何数据,订单状态依然没有改变。经过深度思考之后,得出如下结论:查询 20 分钟只能的订单,后面又是获取超过 20 分钟没有获取到数据的订单,这个明显相互矛盾。代码大部分是 Gemini 写的,我发现了这个问题之后...
DAO 层的作用
2026年01月21日
在软件开发中,DAO 是一个非常经典且标准的文件/层级命名。1. 翻译与全称全称:Data Access Object中文翻译:数据访问对象2. DAO 文件夹里装什么?简单来说,dao 文件夹里的代码只做跟数据库打交道的事情。它是你的业务逻辑(Python 代码)和数据库(MySQL)之间的中间人。通常包含:CRUD 操作:增(Create)、查(Retrieve)、改(Update)、删(De...
Codex 的 agents.txt 具体作用是什么?
2026年01月11日
agents.txt 是 OpenAI Codex / ChatGPT Code Agent 体系里的一种“行为声明文件”,你可以把它理解为——给 AI 编程代理看的“项目级说明书”,作用有点像给人类开发者看的 README.md,但受众是 AI。下面我分层说清楚它是什么、解决什么问题、怎么用、和其他文件的区别。一句话版结论agents.txt 用来告诉 Codex / Code Agent:这个...
Caddy 通配符证书相关问题
2026年01月06日
如果是通配符证书,Caddy 将无法申请,Caddy 在获取通配符证书时的 ACME challenge 失败,会产生错误。具体错误内容:no solvers available for remaining challenges (configured=[http-01 tls-alpn-01] offered=[dns-01] remaining=[dns-01]) 1️⃣ 原因分析 你...
Zstd 压缩 Brotli 压缩 Gzip 压缩对比
2026年01月06日
Zstd 压缩 Brotli 压缩 Gzip 压缩那个更好,他们各有什么优点,在这篇文章中我们详细介绍。没有绝对的“最好”,只有“最适合”。它们各自的侧重点不同。Brotli (br):是静态资源(HTML, CSS, JS)的王者。它的压缩率最高(文件最小),但压缩速度较慢。Zstd (zstd):是动态内容和内部传输的未来。它的压缩/解压速度极快(尤其是解压),压缩率也非常优秀(仅次于或持平 ...
Caddy Docker 镜像启用 Brotli 压缩
2026年01月06日
在上篇文章中,我们详细介绍了 Caddy 的一些特性。在这篇文章中我们来介绍一下在 Docker 中如何增加 Brotli 压缩。在 Docker 版本的 Caddy 中启用 Brotli 和 Zstd 压缩,情况略有不同:Zstd (zstd):Caddy 官方镜像(v2.4+)原生支持,无需额外安装,只需配置。Brotli (br):Caddy 官方镜像默认不包含该模块(因为它是 C 语言库绑...
Caddy 服务器
2026年01月06日
最近在研究 Caddy,将 Caddy 的一些特性总结成一篇文章。Caddy 最棒的特性是:TLS 证书 的管理。默认情况下, Caddy会自动获取并续订所有站点的TLS 证书。同时可以自动更新证书:Caddy 不仅仅是一个 Web 服务器。例如,只需以下配置即可获取和续订一组域名的证书。反向代理:Caddy 的代理服务器在设计上尽可能向前兼容,并包含主要功能:负载均衡、主动和被动健康检查、动态上...
JetBrains 软件底部不显示当前分支的解决方案
2026年01月06日
最近在使用 JetBrains 系列软件的时候,底部不显示当前分支,截图如下:这里没有显示当前的 Git 分支,包括 WebStorm PyCharm 都会存在这个问题。解决方案:找到顶部 View 菜单,Appearance -> Status Bar Widgets之后选择 Git Branch 如下图所示:底部又出现了当前的 git 分支,如下图所示:JetBrains 的其它软件都可以这样...