首页·谢先斌的博客

  • Kiri: 基于 Rust 重写的高性能容器运行时架构解析与实战

    深入剖析基于 Rust 开发的新一代轻量容器运行时 Kiri(runkiri.com),解构其告别传统 dockerd/containerd/shim/runc 多层调用的单守护进程架构、基于 vsock 与 clone3 的毫秒级容器生命周期管理,并系统整理在 macOS、Linux 及 Windows 环境下的安装配置、Docker Desktop 零成本平滑迁移、本地域名与自动 HTTPS、Kiri Share 公网穿透及内置 k3s 集群的工程化实战指南。

  • pidstat 命令介绍

    pidstat 是 sysstat 套件中的进程级性能监控工具,能够按固定间隔输出进程/线程的 CPU、磁盘 I/O、内存与缺页、上下文切换等指标。本文系统梳理其安装部署、核心选项与输出字段详解,并结合磁盘高 I/O、CPU 瓶颈、内存泄漏、锁竞争等典型排查场景给出可复制的命令示例与后台采样脚本化技巧。

  • PGlite 简介与使用:在浏览器和 Node.js 中运行真正的 PostgreSQL

    PGlite 是 ElectricSQL 开源的嵌入式 PostgreSQL:将完整的 Postgres 编译为 WebAssembly(WASM)后打包成 TypeScript 客户端库,可零后端运行在浏览器、Node.js、Bun 与 Deno 中。本文梳理其核心特性与限制,演示如何用 pglite-socket 配合 psql 命令行操作本地数据目录,并给出 Node.js 与 Python(py-pglite)的可执行示例与适用场景。

  • Grafana Tempo 分布式追踪介绍

    Grafana Tempo 是由 Grafana Labs 开源的一款高扩展、低成本且易于运维的分布式追踪(Distributed Tracing)后端系统。

  • ripgrep (rg) 命令

    ripgrep(命令名为 rg)是使用 Rust 编写的现代化、跨平台递归文本搜索工具,定位是 grep 的高速替代品(同类工具还有 ack 与 The Silver Searcher ag)。本文整理 ripgrep 的核心特性、常用参数示例、与 grep 的用法对照表及各平台安装方法,适合在大型代码库中快速查找文本。

  • Bash shopt nullglob 选项详解

    本文详解 Bash 内建命令 shopt 与 nullglob 选项:默认情况下,未匹配任何文件的通配符会以字面量字符串传入循环,导致脚本误执行甚至误删操作。开启 nullglob 后,无匹配的通配符直接展开为空。文章通过可复现实验对比两种行为,给出文件计数与批量处理的标准写法,并整理 shebang 兼容、test 存在性判断静默反转、set -u 空数组报错等五个生产脚本踩坑点。

  • Dockerfile syntax 前端解析器与 1-labs 实验通道

    本文解析 BuildKit 的 Dockerfile 前端解耦机制:# syntax 指令如何让构建引擎从 Docker Hub 拉取独立打包的语法解析器镜像,从而在不升级 Docker Engine 的前提下使用新语法。对比 docker/dockerfile:1 稳定通道与 1-labs 实验通道的定位差异,梳理 COPY --parents、RUN --device 等特性的通道归属变迁,并给出生产环境的选型建议与常见踩坑点。

  • GitLab 命令行工具 Glab 介绍

    glab 是 GitLab 官方推出的开源命令行工具(GitLab CLI),类似于 GitHub 的 gh 命令。它允许开发者直接在终端中管理 GitLab 的 Merge Request (MR)、Issues、CI/CD 流水线、代码仓库等,无需频繁切换到网页端。

    2026-10-01 git gitlabglab
  • Apache Avro 数据序列化格式详解

    本文系统介绍 Apache Avro 二进制数据序列化系统:它以 JSON 定义 Schema、以紧凑二进制编码数据、文件头部内嵌 Schema 并支持向后兼容的 Schema 演进,是 Kafka 消息流与数据湖 Raw 层落地的事实标准之一。文章通过 fastavro 实测代码演示 Avro Data File 读写与 schemaless 内存序列化两种模式,并给出与 Parquet、Protobuf、JSON 的选型对比及生产环境常见踩坑点。

  • Codex CLI 使用指南:OpenAI 终端编程智能体

    本文介绍 OpenAI 推出的终端编程智能体 Codex CLI:它基于 Rust 构建,运行在本地终端中,可直接读取、修改并运行指定目录中的代码。文章系统梳理 macOS、Linux 与 Windows 平台的安装部署方式、ChatGPT 账号与 API Key 两种认证配置、终端命令与交互式斜杠指令速查表、TUI 键盘快捷键(输入编辑、会话控制、Transcript 视图)、审批策略与沙箱级别配置,并结合新项目初始化、交互式开发验证与提交前代码审查三个场景演示其典型工作流,最后补充配置分层、MCP 凭据管理等实践中的易踩坑点。

  • Lora 介绍

    LoRA(Low-Rank Adaptation of Large Language Models,大语言模型的低秩自适应)是一种在大模型微调(Fine-tuning)领域极具革命性的技术。简单来说,LoRA 是一种“四两拨千斤”的微调方法。它允许我们在不更新大模型原有巨量参数的情况下,通过引入极少量的额外参数来适配特定的下游任务,从而极大地降低了训练成本和硬件门槛。

    2026-09-25 ai aiLorapeft
  • Happy Engineering 私有部署

    Happy Engineering 是一款专为 Claude Code、Codex 等命令行 AI 编程智能体设计的开源跨端(iOS/Android/Web)中继与控制工具。

    2026-09-19 ai aihappy
  • Super (superd):基于 Rust 的轻量级进程编排器实践

    本文介绍基于 Rust 构建的 API 优先(API-First)轻量级进程编排器 Super(守护进程 superd + 客户端 super):涵盖一键安装脚本的工作机制、日常进程管理的常用 CLI 命令、SUPER_ROOT 实例根目录的布局与解析顺序,以及通过 systemctl 查看 systemd 服务单元中环境变量的实用技巧,可作为替代 Supervisor、PM2 的进程托管方案参考。

  • 什么是 RPATH:Linux 动态库运行时搜索路径详解

    RPATH(Run-time search path,运行时搜索路径)是硬编码在 Linux ELF 可执行文件或动态库内部的一段路径信息,用于告诉动态链接器程序启动时应去哪些目录查找依赖的 .so 文件。本文讲解 RPATH 解决的动态库加载问题、完整的库搜索优先级顺序,重点介绍 $ORIGIN 相对路径机制在绿色免安装分发中的应用,并给出 readelf 查看与 patchelf 修改、GCC 与 CMake 编译期设置的实操方法与常见踩坑点。

  • VMware 虚拟机核心文件格式详解

    本文系统梳理 VMware 虚拟机在 Workstation/Fusion 与 ESXi/vSphere 两类环境下的核心文件体系:逐项解析 .vmx 主配置、.vmdk 虚拟磁盘及其 flat、sesparse、RDM 变体,以及 .nvram、.vmem、.vmsd、.vmsn 等配置、状态与快照文件的格式与作用,并结合 Broadcom 官方文档厘清快照链命名规则与桌面版、服务器版之间的关键差异。

  • VMware vSphere 虚拟机快照的坑

    本文结合 Broadcom 官方知识库 KB 318825(原 VMware KB 1025263)系统梳理 vSphere 8.x/9.x 环境下虚拟机快照(VMware Snapshots)的使用红线与架构原则。重点解析快照非备份定位、72 小时生命周期上限、快照链深度控制、严禁带快照扩容磁盘等核心约束,并给出第三方备份孤立快照排查、ESXi CLI 命令行巡检及快照整合(Consolidation)的实战运维指南。

  • Buildah: Docker 镜像构建工具

    Buildah 是 Red Hat 开源的一款专门用于构建 OCI(Open Container Initiative)和 Docker 兼容镜像的工具。本文详细介绍 Buildah 的使用方法。

  • NVIDIA Container Toolkit 介绍

    NVIDIA/nvidia-container-toolkit 是 NVIDIA 官方开源的容器工具包(NVIDIA Container Toolkit)仓库。它的核心作用是让容器能够原生且高效地访问和使用宿主机的 NVIDIA GPU 资源,从而非常方便地在容器化环境中运行 GPU 加速的应用程序(如 AI 训练与推理、深度学习、数据科学和高性能计算等)。

  • 什么是 PIC 静态库

    PIC static libs(位置无关代码静态库)是指在编译时启用了 PIC (Position Independent Code,位置无关代码) 特性的静态库(通常是 Unix/Linux 系统下的 .a 文件)。

    2026-06-20 cpp ccppcmakePIC
  • Claude Code 权限模式

    Claude Code 设计了一套非常细粒度的权限系统(Permission System),用来在自动化开发效率和系统安全之间取得平衡。本文在梳理 6 种权限模式的基础上,进一步剖析其“失败默认拒绝”(Fail-closed)的分层拦截管线:Deny 规则、受保护路径、PreToolUse Hooks、规则评估与人工确认/分类器兜底,并给出 Deny/Ask/Allow 规则的顺序语义、通配符写法与安全最佳实践。