验证码邮件从每月 3000 封发到 20 万封,Resend、Postmark 和 SES 的账单我算了一遍
按 2026 年 10 月 16 日的官方定价,计算 Resend、Postmark、Amazon SES 在每月 3000、3 万、20 万封事务邮件时的月费,并列出免费档日限、超量开关、附件费等计费细节。
第 14 页 · 持续积累的技术实践
按 2026 年 10 月 16 日的官方定价,计算 Resend、Postmark、Amazon SES 在每月 3000、3 万、20 万封事务邮件时的月费,并列出免费档日限、超量开关、附件费等计费细节。
在 Spring Boot 4.1.1 上实测 Spring Framework 7 的 API 版本控制:@GetMapping(version) 写两个版本,请求头、查询参数、路径段三种解析方式,缺版本和未支持版本的 400 响应,以及 RestClient 和 RestTestClient 怎么带版本。默认版本的键是 spring.mvc.apiversion.default。
JDK 27 + Spring Boot 4.1.1 实测 AOT 缓存:fat jar 里的嵌套依赖进不了缓存,启动几乎不变;用 jarmode=tools 解压后训练,5 次启动的中位数从 1.228 秒降到 0.542 秒。附类加载计数和缓存失效实验。
Google ADK Java 1.12.0 新增实验性的 Workflow、Node、Edge、Route、JoinNode 等工作流类型,BaseAgent 改为继承 BaseNode。单个节点可以直接运行,但 Workflow.runNode 目前返回 UnsupportedOperationException,整张图还不能跑。同版还新增了禁止 Agent 配置声明本地 stdio MCP 服务器的开关。
Dockerfile 用 shell 形式的 ENTRYPOINT 时,docker stop 的 SIGTERM 到不了 Java 进程,10 秒后直接被 SIGKILL;写对了也要让 Docker 的宽限期长过 Spring Boot 的 30 秒停机超时。用 Spring Boot 4.1.1 实测四种情况。
Simple Analytics 公开看板显示 2026 年 10 月 MRR 约 4.93 万美元。按创始人博客和联合创始人 newsletter 的自述,复盘它从 2018 年先收费上线、不投广告、老用户推荐分成,到免费档拖慢增长后改反向试用的路径。
Spring Boot 4.1.1 加 spring-boot-starter-batch-data-mongodb,Spring Batch 6.0.5 的 JobRepository 自动落到 MongoDB:条件报告、第 57 条失败后重启只读剩余 50 条、元数据文档结构,以及单机 Mongo 事务报错、序列未初始化、无索引、无集合前缀等坑。
堆固定 256M 的 Spring Boot 应用,RSS 从 268M 涨到 552M,MemoryMXBean 的 non-heap 只多了 1M。在 JDK 27 上用 NMT 的 baseline 和 summary.diff 实测,直接内存记在 Other 下面,线程栈 reserved 和 committed 差了几十倍,还顺手撞上了 MaxDirectMemorySize 默认等于 -Xmx 的 OOM。
Codex CLI 0.163.0(北京时间 10 月 16 日)支持回答中途插话转向,/config 可搜索并即时生效,/keymap 加 leader 键。另附在 codex sandbox 里跑最小 Spring Boot 测试时 Mockito 自 attach 失败,以及用 -javaagent 解决的实测记录。
MCP Java SDK 2.1.0 新增 addToolFilter 按请求过滤 tools/list,Streamable HTTP 服务端默认开启 30 分钟保活和空闲会话清理,并移除 2024-11-05 协议。在 Spring Boot 4.0.5 中实测:隐藏的工具按名字仍可调用;默认会话清理留下一个非守护线程,关闭上下文后靠 main 返回退出的进程不会结束,SIGTERM 停机不受影响。