tag

CI

共 109 篇文章。
全部文章书稿GoJavaTypeScript互联网产品游戏开发独立开发者小游戏游戏服务端架构设计游戏设计Godot性能优化Rust
cpp

C++ 模糊测试与覆盖率:libFuzzer、AFL++ 与 Sanitizer

手写单元测试只能覆盖你想到的输入,而内存安全漏洞几乎总出现在你没想到的那一分支。模糊测试用覆盖率反馈自动生成输入,配合 ASan/UBSan/MSan 能在几小时内挖出人工测试数月都发现不了的崩溃。本文从 libFuzzer 的 fuzz target 编写讲起,对比 AFL++ 的插桩模式与语料管理,系统梳理 Sanitizer 的组合策略、gcov 与 llvm-cov 的覆盖率度量方法,并给出可落地的 CI 流水线设计。

8 分钟阅读
C++ 测试 CI
typescript

TypeScript Monorepo 工程化:pnpm、Turborepo 与多包协作

系统覆盖 TypeScript Monorepo 的完整工程化实践:monorepo 收益与代价的理性评估、pnpm workspace 与内容寻址存储、Turborepo 缓存与任务编排、包依赖图与类型边界、tsconfig project references、共享配置与构建产物、changesets 版本与发布流程、CI 缓存命中与并行任务,以及多包协作的常见坑,帮助团队把多包仓库从「依赖地狱」变成可缓存、可发布、可协作的工程体系。

6 分钟阅读
TypeScript CI
github-actions

GitHub Actions Go/Rust CI:交叉编译、静态检查与发布

GitHub Actions Go/Rust CI 实战:Go Modules 缓存与矩阵构建(1.19/1.20/1.21/1.22)、Rust Cargo 缓存与 clippy/fmt 检查、交叉编译(Go GOOS/GOARCH、Rust cross/cargo-cross)、静态链接与 musl 目标、测试覆盖率(Go cover/Rust tarpaulin/codecov)、Bench 性能基准(Go bench/Rust criterion)、安全扫描(Go nancy/Rust cargo-audit)、Release 自动化(GoReleaser/cargo-release)、多平台 Artifact 发布

3 分钟阅读
GitHub Actions Go Rust
GraphQL

GraphQL 工具链与代码生成:从 Codegen 到类型安全

GraphQL 工具链全景:GraphQL Code Generator 与类型安全、schema 优先 vs 代码优先开发流程、服务端框架选型(Apollo Server/graphql-yoga/gqlgen/NestJS)、客户端代码生成(typed queries/React hooks/Svelte)、验证与格式化(eslint-plugin-graphql/GraphQL LSP)、schema 检查(Schema Registry 与 breaking change 检测)、以及工具链在 CI/CD 与 Monorepo 中的落地。

8 分钟阅读
GraphQL TypeScript CI/CD