Ohhnews

分类导航

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
foojay

如何从超时的GitHub Actions测试中获取线程转储

文章讨论JVM测试在CI中超时后如何保留现场。作者验证GitHub Actions取消任务时,测试JVM通常仍存活,并给出三种获取线程转储的方法:测试旁运行看门狗脚本、配置Maven Surefire超时自动jstack、在失败或取消后的后续步骤中用jcmd抓取。作者还开发了threadmine-action自动收集Surefire与Gradle测试进程转储并上传制品,可选分析并评论PR。最后说明如何阅读死锁与非循环挂起堆栈。
#github actions#jvm#线程转储#ci调试#java
$ more
Jetbrains Blog

ReSharper 2026.3发布:Visual Studio中支持Claude Agent和Codex,并支持.NET 11与C# 15

ReSharper 2026.3在AI Assistant工具窗口中新增Claude Agent和Codex,与Junie并列可选,三者均可调用ReSharper重构功能完成重命名等操作。该版本还提供对.NET 11和C# 15的首日支持,涵盖联合类型、封闭类层次结构等新语法,并改进代码分析与重构建议。测试运行器新增对xUnit v3 4.0和NUnit 5.0的支持。使用Claude Agent和Codex需要JetBrains AI订阅,暂不支持自带密钥;Junie Lite可免费使用。
#resharper#claude agent#codex#.net 11#c# 15
$ more
Jetbrains Blog

Rider 2026.3发布:支持.NET 11并集成JetBrains Air

JetBrains发布Rider 2026.3,首日完整支持.NET 11与C#15,可直接体验联合类型、封闭层次结构、扩展索引器等新特性,并支持调试Runtime Async。新版本引入JetBrains Air,在IDE内提供代理式开发体验,可指挥、编排代理并验证其工作。Rider新增多项AI技能,支持代理通过Rider MCP执行测试,还可将本地项目配置复制到新的Git工作树。游戏开发方面带来Lua和Verse插件、Godot专业调试、C++调试器改进及命令行参数预设等。
#rider#.net 11#jetbrains air#c#15#游戏开发
$ more
Jetbrains Blog

ReSharper C++ 2026.3 发布:类布局、格式字符串分析等新功能

ReSharper C++ 2026.3 版本发布,新增类布局工具窗口,可视化类的内存布局,帮助识别填充浪费。格式字符串分析扩展至 std::format、std::print 和 {fmt} 库,支持 C23 格式说明符和 Unreal Engine 日志宏。重构功能增强:Change Signature 支持构造函数,Extract Method 提供放置选项,并新增 Introduce Using Directive。此外,新增 CUDA 检查,支持 C++23/26 语言特性,改进 Clang-Tidy 集成和 Visual Studio 集成,包括 OOP 模式优化和 CMake 项目单元测试构建。
#resharper c++#类布局#格式字符串分析#重构#cuda
$ more