Ohhnews

分类导航

Jetbrains Blog

网络研讨会回顾:CLion与TRACE32实现嵌入式系统AI智能体调试

JetBrains与Lauterbach联合举办的网络研讨会回顾了CLion与TRACE32的集成。CLion通过调试适配器协议连接TRACE32,可在同一环境中开发和调试嵌入式目标;借助MCP服务器,AI智能体能够启动并控制调试会话、检查程序状态和定位根因。集成要求CLion 2026.2.4或更高版本、TRACE32 PowerView 09.2026及调试适配器0.1.2以上,支持Junie、Claude Code、Codex、OpenCode等ACP智能体。演示使用四核Infineon AURIX TC387QP开发板。目前尚不支持指令与数据追踪、CLion内追踪查看器、实时变量更新及从CLion直接发送T32命令。TRACE32侧不增加额外许可成本,CLion非商业用途免费。
#clion#trace32#嵌入式调试#ai智能体#开发工具集成
$ more
foojay

Spring ApplicationContext层级导致Axelix高危JWT绕过漏洞

Axelix项目披露一个高危漏洞:其通过Spring Boot Actuator暴露的端点原本由JWT过滤器保护,但当management.server.port与server.port不同时,Spring Boot会创建独立的子管理上下文和第二个Web服务器。JWT过滤器注册在主上下文中,子上下文虽能向上查找所需Bean,却使用自己的Servlet过滤器链,因此Actuator端点可绕过JWT访问,部分端点返回500并提示缺少安全上下文。作者分析了ApplicationContext层级机制:子上下文可见父上下文Bean,父上下文不可见子上下文,且过滤器、后处理器、事件等基础设施各自独立。该问题已在1.2.1版本中通过@ManagementContextConfiguration(CHILD)将过滤器注册到管理上下文修复,并新增独立管理端口测试;后续还计划将注册统一为ANY以清理冗余。
#spring boot#applicationcontext#jwt#安全漏洞#axelix
$ more
foojay

Java 27正式发布:G1成默认垃圾收集器,新增抗量子TLS

Java 27正式发布,本版包含9个JEP,整体变化较小。G1垃圾收集器成为所有环境下的默认选择;TLS 1.3新增后量子混合密钥交换,提升抗量子攻击能力;紧凑对象头默认启用,可降低堆内存和CPU开销;JFR新增进程内数据脱敏,避免敏感信息泄露。该版本没有特性结束预览,Lazy Constants、结构化并发、Vector API等仍处于预览或孵化阶段。此外还包含HashMap、二分查找、加密等性能优化和安全增强。Java 28有望引入Valhalla项目首批特性。
#java 27#g1垃圾收集器#后量子加密#紧凑对象头#性能优化
$ more
foojay

EUDI钱包与OpenID4VP及pac4j:同设备与跨设备认证

本文介绍如何使用EUDI钱包和pac4j对Java Spring Boot用户进行身份认证。支持两种方式:在同一手机上使用SD-JWT VC,或通过另一台设备扫描二维码使用mdoc PID进行认证。
#eudi钱包#openid4vp#pac4j#身份认证#java spring boot
$ more
Baeldung

在Spring Authorization Server中自定义OpenID Connect 1.0 UserInfo响应

本文介绍如何在Spring Authorization Server中自定义OpenID Connect 1.0的UserInfo端点响应。文章先说明UserInfo端点与id_token的区别,再通过UserInfoService提供用户信息,并实现Function将OidcUserInfoAuthenticationContext映射为OidcUserInfo,按email、profile、account等授权范围返回相应声明。随后在oidc配置中注册自定义userInfoMapper,并通过单元测试验证完整认证流程及额外声明的返回结果。文中还简要列出请求转换器、认证提供者和响应处理器等其他可定制点。
#spring authorization server#openid connect#userinfo#oauth 2.0#自定义声明
$ more
Jetbrains Blog

Rider 2026.3 游戏开发版:Lua 与 Verse 插件、C++ 调试改进及更紧密的 Godot 集成

JetBrains 发布 Rider 2026.3,重点改进游戏开发中的编写、运行与调试流程。新版本以 Beta 形式加入 Lua 与 Verse 插件:Lua 支持 5.1–5.4、LuaJIT 和 Luau,提供补全、检查、导航、重构与格式化;Verse 基于 Rider 自有语言引擎,为 Unreal Engine 6 项目提供语法高亮、错误检测、补全和导航。Godot 方面新增与编辑器的实时连接,可用 C# 或 GDScript 调试当前场景并在调试器中查看场景树。Unity 6.7 的 CoreCLR Player 调试获得支持。C++ 调试改进包括 Natvis 热重载、MSVC 单步执行优化、数据断点、实验性 LLDB 21 调试器及 .vcxproj.filters 支持。此外还有命令行参数预设、性能优化、Files 视图和 Git worktree 改进。
#rider#游戏开发#lua#verse#godot
$ more
Jetbrains Blog

JetBrains IDE 迈入智能体开发时代:Air 重塑开发工作流

JetBrains 在 2026.3 版本中为 IDE 推出 Air,将编码智能体引入现有开发环境。Air 可统一跟踪多个智能体会话,使用 Git worktree 隔离并行任务,并通过通知、预设和变更审查面板管理进度。它兼容 Junie、Codex、Claude Agent、GitHub Copilot 等,支持 ACP 接入,也可使用现有订阅或 API Key,付费 JetBrains AI 并非必需。借助 IDE 的 MCP 服务器和内置技能,智能体可执行代码检查、构建运行、数据库查询和重构,IntelliJ IDEA 与 CLion 还可驱动调试器。开发者可用 Code Notes 对具体代码行提问或要求修改。代码补全不消耗 JetBrains AI 配额,Air 可禁用;AI Assistant 将继续支持至 2027 年初,Junie Lite 可免费使用,远程开发场景同样适用。
#jetbrains#air#ai智能体#代码审查#集成开发环境
$ more
foojay

AI写代码时代,工程师的经验从何而来?

Proton首席技术官巴特勒在内部备忘录中称,手写代码可能像背电话号码一样过时,但未说明下一代资深工程师的经验从何而来。作者认为,工程判断力来自反复犯错并承担后果的摩擦,以及编译器、测试等拒绝机制和写作式阐述。AI代理不会拒绝,人类也不再撰写代码说明,而是为模型编写上下文和提示。为培养判断力,作者提出三种练习:合并前用自己的话复述代码变更;观察结果前先预测修复方案或性能表现;主动设置依赖、内存、代码行数等约束。
#ai编程#软件工程#经验积累#工程判断#人才培养
$ more
foojay

Testcontainers集成测试:在Docker中运行真实WAR包

本文介绍如何使用 Testcontainers 进行 Jakarta EE 集成测试:将 Maven 构建的真实 WAR 部署到 Docker 中的 Azul Payara Micro 容器,并通过真实 HTTP 端口测试应用。文章说明了 GenericContainer、等待策略、JUnit 5 集成和单例容器模式,重点分析容器已启动但应用尚未部署完成导致的启动期 404 问题,建议用 HTTP 等待策略替代分散的重试。还介绍用 Playwright 驱动无头浏览器进行端到端测试,以及在失败时自动保存截图、HTML 和容器日志。作者指出该方案能提高部署保真度和可重复性,但存在 Docker 依赖、启动较慢和测试更易波动等成本,适合集成与端到端测试层而非快速单元测试。
#testcontainers#集成测试#docker#jakarta ee#war部署
$ more
foojay

构建Java AI代理通过MySQL REST服务请求订单取消

本文介绍如何构建一个Java AI代理,通过MySQL REST服务请求订单取消。方案采用限定范围的工具、所有权校验和显式人工确认,以控制代理可执行的操作并提升安全性。
#java#ai代理#mysql rest服务#订单取消#人工确认
$ more