Red Hat Developers

Red Hat 开发者平台,Red Hat 技术官方开发者门户,提供产品试用、学习资源、工具与开源社区,助力开发者在开源、Kubernetes 与 AI 领域构建应用。

Dependency Analytics 1.0:为 AI 编程加上供应链安全护栏

Red Hat 推出 Dependency Analytics 1.0 插件,解决 AI 编程引入依赖时的供应链安全风险。该工具在编辑器内实时扫描已知漏洞、传递性依赖风险及许可证合规问题,并提供快速修复建议。支持 npm、pip、Maven 等多种包管理器,还能生成 SBOM 和扫描 Docker 镜像。对于使用 AI 辅助编码的团队,这是一个降低安全负债的实用方案。
评论点赞收藏33 天前

2026年Secure Boot证书变更:RHEL环境操作指南

微软2011年Secure Boot签名证书将于2026年6月过期。红帽确认现有RHEL系统不受影响,但需更新shim以支持新证书签名。文章详细解释了UEFI Secure Boot机制、证书过期的具体影响、针对物理机和虚拟机的操作指南,以及如何检查和管理Secure Boot设置。对于依赖TPM和LUKS加密的用户,更新DB变量可能影响PCR值,需谨慎操作。
评论点赞收藏55 天前

iSCSI 与 NVMe/TCP 对决:Red Hat OpenShift 虚拟化存储性能实测

本文针对 Red Hat OpenShift Virtualization 环境,对比了 iSCSI 和 NVMe/TCP 两种存储协议的性能。测试基于 Dell 全闪存阵列和 7 节点集群,涵盖虚拟机克隆部署、原始磁盘 I/O 以及数据库压力测试三个维度。结果显示,NVMe/TCP 在随机读取和高并发场景下优势巨大(IOPS 提升超 300%),且大规模部署速度显著快于 iSCSI。但在小规模整合环境中,iSCSI 仍有其稳定性优势。结论建议 NVMe/TCP 适用于大多数现代分布式虚拟化工作负载,而 iSCSI 可作为特定遗留应用的备选。
评论点赞收藏72 天前

GCC 16 新功能:更清晰的错误提示与 SARIF 输出

Red Hat 工程师介绍 GCC 16 的新特性。核心亮点包括:默认启用层级化 C++ 错误提示,让模板报错更易读;改进 SARIF 机器可读输出,支持嵌套命名空间结构和异常控制流;新增实验性 HTML 诊断输出,可视化静态分析器的执行路径和内存状态。此外,重写静态分析器底层数据结构以修复 bug,并初步支持 C++ 代码分析(目前仅限小样本,复杂代码仍有性能问题)。
评论点赞收藏89 天前

使用KVM和QEMU运行无根虚拟机

文章指出很多人忽略了KVM/libvirt系统模式虚拟机的安全隐患,并详细介绍了如何使用session模式运行完全无根(rootless)的虚拟机。相比容器,虚拟机在某些场景下不可替代,但session VM默认隔离了宿主网络和存储,安全性更高。文章提供了具体的配置步骤,包括如何通过修改libvirt默认网络配置,让无根虚拟机获得入站网络连接能力,同时保持与物理网络的隔离,平衡了安全性与易用性。
评论点赞收藏112 天前

Vibe Coding令人不安的真相:从直觉编程到规范驱动的必然转变

文章探讨了Andrej Karpathy提出的“Vibe Coding”(通过自然语言对话让AI生成代码)现象。虽然这种方法极大地降低了编程门槛,让非技术人员也能快速构建原型,但随着项目复杂度增加,缺乏规范和文档的代码库会导致维护灾难,出现“修好一个bug破坏十个功能”的局面。作者主张从单纯的“Vibe Coding”转向“Spec-Driven Development”(规范驱动开发),即在构建重要项目时,必须先编写清晰的规格说明书作为唯一真理源,利用AI执行而非猜测意图。只有结合具体规范和测试,才能发挥AI编程的真正潜力,避免代码库变成无法理解的“数字沙堡”。
评论点赞收藏127 天前

SELinux 入门图解:用猫狗故事讲懂 Linux 安全机制

这是一本由红帽 SELinux 维护者 Dan Walsh 编写的入门指南。文章通过猫狗互动的生动比喻,解释了 SELinux 的核心概念,如类型强制(Type Enforcement)、多类别安全(MCS)和多级安全(MLS)。它旨在降低学习门槛,帮助开发者理解复杂的 Linux 安全机制,适合初学者建立直观认识。
评论点赞收藏207 天前

vLLM 还是 llama.cpp?为你的场景选择正确的 LLM 推理引擎

本文通过基准测试对比了 vLLM 和 llama.cpp 在 NVIDIA H200 上的性能。核心结论是两者设计哲学不同:vLLM 专为高并发、高吞吐量设计,适合多用户生产环境,其吞吐量随并发增加显著上升且首字延迟稳定;llama.cpp 则优化单流效率和便携性,适合单机或边缘设备,但在高并发下吞吐量持平且延迟指数级增长。数据表明在高负载下 vLLM 的请求吞吐量和生成速度远超 llama.cpp。
评论点赞收藏217 天前

Clang 新常量表达式解释器年度进展更新

作者总结了 Clang 字节码常量解释器的年度进展。核心变化包括:测试失败数从 155 降至 90,实现了 builtin_constant_p;通过优化已知来源读取减少了字节码生成开销;引入 libc++ 测试套件以覆盖更多真实场景,并达到零失败里程碑。性能基准测试显示,在处理大型数组嵌入和堆分配时,新解释器比旧版 Clang 解释器和 GCC 显著更快,但在某些无副作用初始化场景下仍有优化空间。作者呼吁社区参与测试和开发。
评论点赞收藏298 天前

深入解析 Apache Kafka 的 KRaft 协议

本文深入解析了 Apache Kafka 4.1.0 中引入的 KRaft 协议。KRaft 取代了传统的 ZooKeeper,让 Kafka 能够自我管理元数据。文章详细讲解了 Raft 共识算法的核心机制,包括领导者选举、日志复制和安全规则,并结合 KRaft 的具体实现,说明了元数据管理、核心 RPC 通信以及动态集群扩展的原理。对于需要理解 Kafka 内部架构演进和分布式一致性的开发者来说,这是一篇很好的技术指南。
评论点赞收藏332 天前

Kafka 分层存储的潜在陷阱与解决方案

Kafka 3.9 引入了分层存储,虽然降低了长期数据保留的成本,但在消费远程数据时存在两个主要陷阱。第一是顺序远程获取问题:由于每个远程分区需要单独的获取请求,导致延迟增加和吞吐量下降,Kafka 4.2 将通过并行读取解决此问题。第二是获取限制失效问题:远程获取可能超出 fetch.max.bytes 设置,导致消费者内存溢出风险,因为代理无法准确预知远程数据大小。在 4.2 版本发布前,建议调整相关配置参数以缓解影响。
评论点赞收藏358 天前

AI 遇见容器:我踏入 Podman AI Lab 的第一步

一位非开发者从零基础出发,体验了 Podman AI Lab 的全过程。文章介绍了如何安装 Podman Desktop 和 AI Lab 扩展,并通过一个 RAG 聊天机器人的案例,展示了如何在本地运行大模型。作者强调了本地运行 AI 在隐私保护、成本控制和资源效率上的优势,以及 Podman 相比 Docker 的安全性和易用性。这是一篇面向初学者的入门指南,旨在降低容器和 AI 本地部署的门槛。
评论点赞收藏369 天前

在 macOS Podman 容器中优化 AI 推理的 GPU 加速实践

Red Hat 详细解析了如何在 macOS 的 Podman 容器中实现 GPU 加速 AI 推理。由于 macOS 容器依赖轻量级虚拟机,GPU 访问是难点。文章介绍了通过 libkrun 和 virtio-gpu 进行设备半虚拟化,将 Vulkan API 调用转发给宿主机的 Metal 接口。实测显示,结合 llama.cpp 的 ggml-vulkan 后端,推理吞吐量比之前提升 40 倍,且性能损耗极低,接近原生 Metal 后端。这是一篇具有高技术含量的工程实践分享,适合关注本地 AI 部署和虚拟化技术的开发者。
评论点赞收藏432 天前

GDB 高级时间操控:构建时间循环与修改过去

本文是 GDB 时间旅行调试进阶篇。作者通过一个随机数 Bug 案例,演示了两种高级技巧:一是利用断点命令构建“时间循环”,自动重放程序直到触发偶发故障;二是通过 record stop 放弃历史记录,在回溯到的过去修改内存状态并重新执行,从而“改变过去”来验证修复方案。文章还结合了这两种方法以优化性能,并提及了相关的上游 Bug 讨论。
评论点赞收藏438 天前

使用 Node.js 和 Llama Stack 实施 AI 安全护栏

本文介绍了如何在 Node.js 应用中结合 Llama Stack 使用 LlamaGuard 和 PromptGuard 实现 AI 安全护栏。作者分享了从配置容器、修改 run.yaml 到注册 Shield 的具体代码示例,并演示了如何通过 Agent API 拦截违规输入和提示词注入。文章还发现了一个意外收益:使用轻量级护栏可以在 LLM 生成拒绝回答前快速拦截,从而节省 GPU 计算资源。这是一篇针对 Node.js 开发者的 Llama Stack 系列教程第三部分,提供了实用的工程落地经验。
评论点赞收藏445 天前

利用 TCP 握手往返时间实现网络可观测性

Red Hat OpenShift 利用 eBPF 技术实现网络可观测性,具体是通过 fentry 钩子获取 TCP 连接平滑往返时间(SRTT)。文章介绍了技术原理、在 NetObserv 中的配置方法以及 UI 界面上的流量筛选和图表展示功能,旨在帮助运维人员识别高延迟的 TCP 流量瓶颈。
评论点赞收藏464 天前

GCC 15 中的新 C++ 特性详解

本文详细列举了 GCC 15 编译器中新增的 C++26 实验性功能及缺陷修复。核心亮点包括:支持可变参数包索引(Pack Indexing)、允许在删除函数中提供错误原因提示、结构化绑定可作为条件判断、以及修复了范围 for 循环中临时对象生命周期未延长的长期 Bug。此外,还介绍了编译速度优化、模块支持增强和新警告选项。对于关注底层编译技术和 C++ 标准演进的高级开发者来说,这是一篇极具参考价值的技术更新指南。
评论点赞收藏477 天前

GCC 15 可用性改进详解:静态分析、模板报错与 C23 迁移

Red Hat 工程师介绍 GCC 15 的六大可用性改进。核心亮点包括:静态分析器的执行路径可视化增强(使用 Unicode 字符和警告图标);C++ 模板错误信息引入嵌套列表结构,显著提升可读性;支持多输出sink,可同时输出文本和 SARIF 格式;新增 sarif-replay 工具用于回放 SARIF 文件;默认标准从 C17 切换至 C23,并优化了相关兼容性报错提示。文章提供了大量代码对比示例,对编译器开发者和 C/C++ 工程师有直接参考价值。
评论点赞收藏492 天前

RamaLama 新功能:一行命令实现 AI 模型的 RAG 数据库支持

Red Hat 开发的 RamaLama 工具新增了对 RAG(检索增强生成)的支持。该功能允许用户通过简单的命令行,将本地文档(如 PDF、Markdown)自动转换为向量数据库,并与 AI 模型结合运行。文章演示了如何使用 RamaLama 简化 RAG 环境的搭建,以及如何将其生成的容器镜像部署到 Kubernetes 集群或边缘设备(Quadlets),旨在降低本地 AI 应用落地的复杂度。
评论点赞收藏499 天前

GCC 15 中 C23 #embed 指令的实现与性能优化解析

本文详细讲解了如何在 GCC 15 中实现 C23 标准的 #embed 指令,用于高效嵌入大型二进制数据。文章对比了四种传统方法(xxd、asm.incbin、objcopy、链接器脚本)的优缺点,指出它们在编译速度、内存占用和可移植性上的局限。通过实际测试数据,展示了 #embed 在编译大型文件时的显著性能优势(速度和内存大幅降低)。此外,文章深入剖析了 GCC 内部实现细节,包括预处理器的优化、RAW_DATA_CST 树节点的设计,以及如何处理数组初始化器中的指定初始化和 LTO 支持。对于关注编译器底层优化、C23 新特性落地及构建效率提升的开发者来说,这是一篇极具技术深度的实战指南。
评论点赞收藏562 天前

让 memcpy(NULL, NULL, 0) 成为良定义行为

C2y标准接受了一项提案,将memcpy(NULL, NULL, 0)等零长度空指针操作定义为未定义行为(UB)的例外。作者指出,当前的UB导致编译器优化可能移除空指针检查,引入安全隐患,且迫使开发者编写更复杂、低效的代码来规避风险。该变更旨在简化代码、提升安全性与性能,并统一C与C++及LLVM内部语义。尽管静态分析工具面临适配挑战,但该提案已获通过并建议 retroactively 应用。
评论点赞收藏612 天前

Debuginfod:Elfutils 的调试信息服务器

介绍 debuginfod 项目,这是一个基于 HTTP 的调试信息服务器,旨在解决开发人员在调试容器、远程构建或权限受限环境时难以获取 DWARF 调试信息和源码的问题。文章详细解释了其工作原理(利用 Build ID 索引)、客户端集成方式(如 GDB 和 Systemtap 的示例代码),以及如何部署和使用该服务来自动下载和缓存调试资源,从而简化调试流程。
评论点赞收藏613 天前

登录芦苇

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