A Java geek

RSS: https://blog.frankel.ch/feed.xml
Nicolas Fränkel 的 Java 技术博客。

从记录决策到质疑决策

作者让 AI agent 用开源 MADR 格式整理团队"决策记录"(ADR),结果发现填完字段后毫无价值:它只记录"为什么选了 A 而不是 B",却不质疑决策本身。 由此引出从"记录决策"到"质疑决策"的转变——agent 应审查前提、暴露盲点、挑战假设,而非被动归档。是 AI+工程协作流程的实用反思,有明确踩坑起点,对关注 ADR、agent 工作流和工程文化的技术读者有直接信息增量。
评论点赞收藏3 天前

AI 辅助家谱研究:续篇

作者在上一篇 AI 辅助家谱研究文章收获大量反馈后写下的续篇。先回应"AI 会幻觉"的批评,承认理论上 AI 会给出不准确答案,但强调在 genealogy 场景里可以通过核对原始资料来验证,属于 Trust but verify 的思路。 作者还在继续完善自己的家族树,借这篇分享加深了对 AI 辅助家谱研究的理解,并计划再介绍一些经验。内容偏个人实践随笔,信息增量中等,讨论入口主要在于"AI 幻觉在谱系研究中如何被缓解"和"哪些环节值得自动化"。
评论点赞收藏10 天前

藏在瑞士境内的外国飞地冷知识

瑞士境内有两块飞地分别属于意大利和德国:Campione d'Italia 和 Büsingen am Hochrhein,两者均被瑞士领土完全包围,属于地理学上的"真正飞地"(true enclave)。 这类特殊边界是历史条约与国界变迁遗留的结果。
评论点赞收藏17 天前

从零构建 AI Agent

<p>事实 10章 29.29美元(截至撰写本文时)315页 章节 构建你的第一个大语言模型智能体 什么是AI智能体?</p>
评论点赞收藏24 天前

AI辅助的家谱研究

有人用AI辅助家谱研究,不到一个月整理了600多人、12代祖先。作者受儿子启发亲自尝试,发现AI在族谱追溯上是实用工具。
评论点赞收藏31 天前

JVM 内建安全:十六个链路主题

微服务链路上,下游服务无法判断请求到底代表谁——直接转发 token 分不清是用户还是服务,丢弃 token 又变成机器身份。这是 Java 生态里委托授权的老问题,文章从 JVM 层面给出解决方案。
评论点赞收藏38 天前

解决 Gradle 元数据与 Renovate 集成问题

公司用 Gradle 构建项目,本周在改进新项目时配置了 Renovate 依赖自动更新。构建文件用 Kotlin 而非 Groovy,代码已迁移到独立插件,整体实现质量不错。
评论点赞收藏45 天前

JVM 内置安全:约束系统拦截恶意调用

DirtyChai 框架通过 JVM 约束系统在调用离开 JVM 前拦截恶意调用,而非传统框架仅在入口处验证 token。Safe Codebase Audit Pipeline 在客户端加载代码前就阻止问题代码,核心思路是把安全验证下沉到 JVM 层而非依赖下游组件自觉检查。
评论点赞收藏52 天前

GitHub 智能体工作流与 Renovate

Renovate 作者对比了 Renovate 和 Dependabot,认为前者 GitHub 集成度较低但支持更多生态且可扩展。文章介绍了将 Renovate 与 GitHub 智能体工作流结合使用的方案。
评论点赞收藏59 天前

RFC 9880 与物联网验证难题:将设备描述视为可编译代码

<p>物联网/工业物联网领域存在数据模型方面的难题,而“数字孪生”这一概念使这一问题变得更加重要。许多人已经尝试解决这一问题。RFC 9880 及其语义定义格式(SDF)是一项切实可行的尝试:这是一种基于 JSON 的、面向生态系统的中性方式,用于描述设备的本质及其功能。<br><br>我曾与该规范有过一些接触,并且了解到,只有当你将其视作源代码——一种需要编译的代码——时,这种格式才能充分发挥其价值。</p>
评论点赞收藏66 天前

安全内建于 JVM:构建安全的代码库审计流水线

Java 开发者 Frankel 指出,传统代理模式在远程加载 JAR 时存在供应链攻击风险,因为恶意字节码可在约束生效前被反序列化。本文提出将安全机制内置于 JVM 层面的审计流水线方案,通过配置化强制身份验证、加密和硬化反序列化,确保约束在调用边界严格执行,从而解决分布式系统中远程代码加载的安全隐患。
评论点赞收藏73 天前

让 ServiceLoader 更好用:一种 Provider 工厂模式

ServiceLoader 在解耦依赖时很有用,但原生 API 使用繁琐。作者提出通过 Provider Factory 模式封装 ServiceLoader,简化 JSON 库或 JWT 实现等的切换流程。 这种工程实践能减少样板代码,提升模块替换的便利性,适合需要灵活依赖管理的 Java 开发者参考。
评论点赞收藏80 天前

Home Assistant 配置中的两个令人不快的意外

<p>去年,我为公寓南侧的卷帘安装了电动装置。我的想法是通过Home Assistant来控制这些卷帘。我心中已有几项自动化方案:晚上,放下卧室的卷帘;早上,如果外面太热,就放下所有卷帘;如果外面太冷,就放下所有卷帘;在其他情况下,则把所有卷帘都拉上,唯独卧室的卷帘不放。<br><br>由于居住在法国,我还加入了法国气象局的官方集成功能。</p>
评论点赞收藏87 天前

安全内建于 JVM:为何分叉 Apache River 与 OpenJDK?

文章指出随着系统分布式程度增加,安全变得愈发困难。Java 17 弃用 SecurityManager,Java 24 彻底移除它,但多数开发者并未察觉。 作者解释了为何需要重新审视 JVM 内部的安全机制,并提出了分叉 Apache River 和 OpenJDK 的理由。
评论点赞收藏94 天前

关于编程语言、目标与平台

作者从 Java 开发者视角出发,梳理了编程语言从早期专注单一目标平台,到如今逐渐拓宽适用范围的发展演变过程。 文章旨在厘清语言、目标与平台的概念差异,并分享个人对这一技术演进趋势的观察与思考。
评论点赞收藏101 天前

金额处理该用 Double、BigDecimal 还是定点数?

文章指出在 Java 中处理金额并非必须使用 BigDecimal,而是取决于精度需求、舍入规则和性能预算。作者认为当前讨论常被教条主义驱动,缺乏工程视角。 文章对比了 Double 与 BigDecimal 的优劣,建议根据具体场景选择合适的数据类型,而非盲目遵循最佳实践。
评论点赞收藏108 天前

四季延时摄影:视频制作篇

作者分享制作季节延时视频的最后一步,解释如何对齐图片并生成视频。 文中涉及 ORB 和 RANSAC 等技术概念的实际应用与艺术决策。
评论点赞收藏115 天前

AI 网关:为何需要以及如何构建

作者基于两年 APISIX 网关开发经验,提出将 API 网关解耦客户端与服务端的模式应用于 AI 场景。 文章解释了通过 AI 网关统一处理认证、安全和请求去重等价值,类比传统 API 网关的设计思路。
评论点赞收藏122 天前

季节延时摄影:解决照片对齐难题

作者分享制作多年延时摄影项目的经验,重点讲述如何解决照片对齐难题。由于拍摄者并非三脚架,每次拍摄角度和位置都有细微偏差。 文章介绍了处理这些微小位移的技术挑战及解决方案,属于具体的工程实践记录。
评论点赞收藏129 天前

四季延时摄影:项目基础

一位住在乡下的博主分享了他多年来在跑步时从同一角度拍摄照片,计划制作成展示季节更替延时视频的个人项目。 目前视频仍在制作中,作者提到这个项目耗时很长。
评论点赞收藏136 天前

设计智能体团队

作者尝试使用 Claude Code 的实验性功能构建由五个子智能体组成的自主团队来开发软件功能。 文章详细描述了如何定义子智能体的角色与权限,以及它们之间的通信机制,并探讨了自主性与安全性之间的权衡问题。
评论点赞收藏137 天前

编程助手的“Token节约”策略

作者借鉴德国数据保护中的“数据节约”理念,提出在编程助手(如 Copilot)使用中应减少 Token 消耗的策略。 文章探讨了如何通过优化提示词和上下文管理,降低 API 成本并提升代码生成的精准度。
评论点赞收藏143 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。