这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
E2E 浏览器测试与视觉回归:Playwright、Cypress 与分片
系统讲解在 GitHub Actions 中运行端到端浏览器测试与视觉回归的工程实践,涵盖 Playwright 与 Cypress 的 CI 配置、基于 shard 的并行分片、blob 报告合并、快照基线管理、trace/video 产物留存以及 flaky 用例的稳定性治理。
posts
这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。
系统讲解在 GitHub Actions 中运行端到端浏览器测试与视觉回归的工程实践,涵盖 Playwright 与 Cypress 的 CI 配置、基于 shard 的并行分片、blob 报告合并、快照基线管理、trace/video 产物留存以及 flaky 用例的稳定性治理。
系统讲解在 GitHub Actions 中落地代码扫描与 SAST 的完整方案,涵盖 CodeQL 的查询包与 build-mode 配置、Semgrep 规则集与 SARIF 输出、code scanning 结果上传、基于严重级别的合并门禁、误报抑制与增量扫描调优。
BEAM 内存问题的系统排查方法:进程堆、二进制堆、ETS 与进程外内存的构成与观测入口、recon 的 proc_window/bin_leak/alloc 工具链、引用计数二进制与堆大小的分析手段、邮箱堆积与原子泄漏等典型模式,以及从 RSS 到具体进程的完整定位流程。
系统梳理 BEAM 集群的一致性问题:分布式 Erlang 的全互联拓扑与连接成本、libcluster 的 Gossip 与 Kubernetes 策略、CAP 取舍与一致性谱系、CRDT 类型与收敛语义、脑裂的检测与多数派治理、:global 与 Ra 的适用边界及分区恢复流程。
在 Elixir/BEAM 上构建稳定性三件套:Cachex 的 ETS 缓存架构、TTL 抖动与 fetch 单飞、缓存击穿穿透雪崩的应对、Hammer 的固定窗口/滑动窗口/漏桶/令牌桶四种限流算法与分布式后端、基于 fuse 的熔断状态机与四种降级回退形态,以及三者的组合顺序与 Telemetry 可观测指标。
深入 Elixir 元编程:AST 三元组表示与 quote/unquote 语义、defmacro 的编译期展开、卫生宏与 var!/2 的边界、@before_compile 与 __using__ 注入、用宏构建声明式 DSL 的实战,以及调试手段与过度使用的代价。
系统讲解 Elixir 生态的 GraphQL 实现 Absinthe:SDL 与代码优先的 Schema 定义、非空与接口联合类型、Resolver 与 Context 传递、Dataloader 消除 N+1、Phoenix Channels 之上的 Subscription 实时订阅、查询复杂度限制与错误处理中间件。
深入 Elixir 数值计算栈 Nx:张量形状与类型提升、命名维度与广播归约语义、EXLA/XLA 惰性编译与 JIT 缓存、Axon 模型定义与自动微分训练循环、Nx.Serving 自动批处理推理,以及与 ONNX/PyTorch 权重互操作和 NIF 阻塞调度器、进程外显存等生产陷阱。
std::string 不携带编码信息,这让 C++ 的文本处理布满暗礁。本文区分字节、码点与字素簇三个层次,讲清 UTF-8/UTF-16 的编码规则与代理对,演示 iconv、ICU 与 utf8cpp 的转换方案,剖析 size()、substr、大小写折叠与规范化的常见错误。
线性代数是科学计算、图形与机器学习的共同底座。本文讲清朴素运算符重载为何会产生海量临时对象,拆解 Eigen 的表达式模板与循环融合机制,给出动态/固定尺寸、存储顺序与分解求解的选型表,并剖析 aliasing、auto 推导与 eval() 这几个高频陷阱。
C++ 的未定义行为与资源泄漏大多逃得过编译器,却逃不过静态分析。本文梳理编译器警告、clang-tidy 与 Clang Static Analyzer 三个层次的职责边界,给出 .clang-tidy 配置、checks 分类与自动修复实践,讲清 compile_commands.json 的生成与 CI 增量接入策略。
日志既是排障的第一现场,也是性能的隐形杀手。本文拆解 spdlog 的 logger/sink/formatter 架构,讲清同步与异步日志的队列模型与丢日志边界,演示结构化 JSON 日志与字段设计,并给出编译期级别裁剪、backtrace 环形缓冲与 OpenTelemetry 集成的落地方案。
文件 IO 看似简单,性能与可移植性却常被低估。本文从 std::filesystem 的 path 与目录遍历讲起,对比 fstream、POSIX read/write 与 mmap 三层的开销差异,剖析缓冲、系统调用次数与页缓存的关系,并给出内存映射的适用边界与常见陷阱。
时间处理是分布式系统里最容易出错的一环。本文梳理 std::chrono 的时钟、时长与 C++20 日历类型,讲清 system_clock 与 steady_clock 的分工、duration_cast 的溢出陷阱,并用 zoned_time、locate_zone 演示时区换算与夏令时边界,最后给出格式化与解析的落地方案。
微型博客的风控与反作弊实战:事前/事中/事后三层防线、设备指纹与账号 IP 身份识别、规则引擎与行为特征、模型打分与实时决策延迟预算、黑白灰名单体系、基于图分析的团伙识别、可逆优先的处置阶梯与申诉闭环、刷粉刷赞刷榜的典型对抗,以及影子模式误杀控制、风险度量与合规边界。
微型博客的特性开关与渐进交付实战:release/ops/experiment/permission 四类开关的职责、求值模型与配置分发一致性、按用户与属性的定向规则与分桶、从 1% 到全量的渐进交付节奏、Kill Switch 与运维开关、开关与 A/B 实验的配合,以及开关技术债的清理与治理体系。
微型博客的容灾与数据备份实战:RTO/RPO 目标定义、全量/增量/差异备份与 3-2-1 原则、备份加密与不可变存储、PostgreSQL PITR 与 WAL 归档、Redis 持久化取舍、对象存储跨区复制、多活与故障切换、数据一致性校验,以及从「有备份」到「能恢复」的恢复演练闭环。
微型博客的部署与发布工程实践:持续集成到不可变制品、制品签名与供应链安全、滚动/蓝绿/金丝雀三种部署策略对比、按用户与地域的分层灰度放量、数据库迁移的 expand-contract 兼容模式、一键回滚与止血流程、发布可观测与发布冻结,以及环境分层与基础设施即代码的落地要点。
微型博客的测试策略与质量保障实战:测试金字塔与风险对齐、单元/集成/组件/E2E/契约各层职责、Go 后端测试与 testcontainers、前端组件测试与视觉回归、测试数据工厂与环境隔离、Flaky 测试治理、性能与负载测试,以及覆盖率口径与 CI 质量门禁的落地组合。
微型博客的无障碍与包容性设计实战:WCAG 2.2 四原则与 A/AA 合规等级、语义化 HTML 与 ARIA 五规则、键盘可达性与焦点管理、屏幕阅读器与动态播报、对比度色盲与字号缩放、动效与认知无障碍、移动端触控目标,以及 axe/Lighthouse 自动化与人工测试的落地组合。