Terraform 远程状态和锁定
Terraform 远程状态存储团队共享 DynamoDB 锁防止冲突。版本历史可追溯。本文配置 S3 后端加 DynamoDB 锁。
Azure Managed Identity 免密认证
Azure Managed Identity 自动管理云凭证不需要存储密钥。系统分配标识和用户分配标识两种。本文用 VM 访问 Storage 演示。
COS 对象存储跨区域同步
跨区域复制自动同步数据到异地实现灾备和合规。时延分钟级注意流量费用。本文配置腾讯云 COS 的跨区域规则。
Cypress E2E 前端自动化测试
Cypress 是前端 E2E 框架实时重载和 time-travel 调试。拦截 API 请求验证网络。本文用登录流程展示测试用例。
CQRS 命令查询职责分离
CQRS 读写分离适合负载差异大的系统。Event Sourcing 追溯变更。复杂度高适合核心业务。本文分析 CQRS 的适用场景。
Argo Workflows K8s 原生工作流
Argo Workflows 以容器形式运行工作流 DAG 定义依赖关系。自动重试和并行执行。本文编排一个 ETL 流程的 Workflow。
Greenplum MPP 分析数据库
Greenplum 是 MPP 分析数据库数据分布式到 Segment 并行查询。适合 PB 级数据仓库。本文对比 Greenplum 和 ClickHouse。
QEMU 模拟器 CPU 翻译机制
QEMU 用 TCG 将客户机指令翻译为主机指令跨架构模拟。KVM 用硬件虚拟化加速。本文解释 TCG 动态翻译和 KVM 加速的差异。
Apache APISIX 动态 API 网关
APISIX 是动态 API 网关支持 etcd 存储配置路由变更热生效不重启。插件丰富覆盖认证限流。本文配置 APISIX 的限流插件。
ISO 27001 安全管理体系
ISO 27001 是信息安全管理的国际标准。建立 ISMS 涵盖人员流程和技术。PDCA 循环持续改进。本文介绍实施 ISO 27001 的核心框架和认证过程。
Turborepo 单体仓库任务编排
Turborepo 加速 monorepo 的构建和测试。缓存任务结果避免重复执行。依赖拓扑自动安排并行。本文用前后端仓库展示 Turborepo 的配置。
Stanford Alpaca 微调方法的局限
Stanford Alpaca 用 Self-Instruct 方法用 GPT API 生成训练数据微调 LLaMA。但生成的数据质量问题限制了模型效果。本文分析 Alpaca 方法的优缺点和改进方向。
语义化版本 SemVer 规范
语义化版本 MAJOR.MINOR.PATCH。MAJOR 不兼容 API 变更MINOR 新增功能向后兼容PATCH Bug 修复。预发布版本用 -alpha 后缀。本文解释 SemVer 的完整规范。
全同态加密 FHE 的基本概念
全同态加密在密文上直接做计算不需要解密得到加密的结果。计算开销巨大但保护了数据隐私。目前主要用于金融和医疗场景。本文解释 FHE 的核心思想。
OCI 容器镜像格式标准
OCI 是容器镜像的开放标准规范镜像由 manifest 配置和若干层组成。Docker 和 Podman 都遵循 OCI 标准。本文解释 OCI 镜像的层次结构和分发协议。
A/B 测试实验设计和统计显著性
A/B 测试需要合理设计样本量随机分组和统计检验。p-value 小于 0.05 才有统计学显著性。多组比较需校正。本文用转化率实验展示 A/B 测试的完整流程。
断言和契约测试的区别
单元测试中的断言验证功能正确。契约测试验证服务间接口约定双方独立部署。Pact 是 CDC 的主流实现。本文用微服务例子说明两者的层次差异。
Visual Studio Code 远程开发配置
VS Code Remote SSH 直接打开远程服务器代码本地编辑。Dev Containers 在 Docker 容器中开发环境一致。本文配置 Remote SSH 连接到开发服务器。
强化学习 Q-Learning 入门
Q-Learning 通过 Q 表记录状态动作的价值。Agent 探索环境根据奖励更新 Q 值。$\epsilon$-greedy 平衡探索和利用。本文用走迷宫的例子实现 Q-Learning。
SSH 端口转发实现内网穿透
SSH 本地端口转发 -L 将远程端口映射到本地远程转发 -R 将本地端口暴露到远程。动态转发 -D 做 SOCKS 代理。本文用 SSH 隧道访问内网数据库。
树莓派搭建家庭 IoT 网关
树莓派作为 IoT 网关收集传感器数据通过 MQTT 上传到云平台。Node-RED 可视化编排数据处理逻辑。本文搭建温湿度传感器采集到云端的完整硬件链路。
Lambda 架构和 Kappa 架构的流批一体
Lambda 架构同时维护流层和批处理层逻辑重复。Kappa 架构只用流处理统一流批逻辑简单。Kappa 对流排重和状态管理要求更高。本文对比两种架构的取舍。
ClickHouse 列式存储的查询性能优势
ClickHouse 是列式 OLAP 数据库列存只读取需要的列压缩率高。向量化执行引擎充分利用 CPU。物化视图加速预聚合查询。本文用 10 亿行日志数据对比 ClickHouse 和 MySQL。
负载均衡算法轮询最小连接一致性哈希
负载均衡算法轮询简单均匀最小连接根据当前负载分发一致性哈希保证相同请求打到同一后端适合缓存。本文对比各算法的适用场景和缺陷。
MongoDB 聚合管道中的 $lookup 关联查询
MongoDB 的 $lookup 实现类似 SQL JOIN 的关联查询。from 指定关联集合localField/foreignField 关联字段。本文用订单和用户集合展示 $lookup 的使用。
Azure DevOps CI/CD 流水线配置
Azure DevOps 用 YAML 定义流水线。trigger 指定触发分支stages 分阶段执行。部署到多个环境。本文配置一个构建测试部署到 Azure App Service 的流水线。
RAG 检索增强生成的原理
RAG 在 LLM 生成前先从知识库检索相关文档作为上下文减少幻觉。嵌入向量存储和相似度搜索是核心技术。本文用 LangChain 搭建一个简单的 RAG 问答系统。
Dart 语言的异步编程 Future 和 Stream
Dart 用 Future 表示未来的值Stream 表示一连串的值。async/await 语法与 JavaScript 类似。Stream 的 listen 和 transform 处理异步事件流。
N+1 查询问题的检测和优化
N+1 查询指查询主表时每条记录又触发一次查询子表。ORM 的 Lazy Loading 是常见原因。Eager Loading 加 IN 查询和批量加载可以解决。本文用 ORM 代码展示优化前后。
虚拟化技术和容器化的区别
虚拟机通过 Hypervisor 虚拟化硬件每个 VM 有独立内核隔离性强。容器共享宿主机内核启动快资源利用率高。本文对比两者的隔离级别和性能开销。
Airflow 工作流调度平台
Airflow 用 Python 代码定义 DAG 工作流。任务间的依赖关系自动决定执行顺序。调度器周期性触发。本文写一个定时执行 ETL 任务的 DAG。
XSS 攻击的类型和防御措施
XSS 有三种类型反射型存储型和 DOM 型。防御方法包括输出转义CSP HttpOnly Cookie 和输入验证。本文用代码展示 XSS 攻击和防御的完整链路。
Postman 集合测试和自动化
Postman 集合可以将 API 请求组织成测试套件用 Runner 执行。Pre-request Script 和 Tests 脚本做断言。newman CLI 在 CI 中运行。
Kafka Streams 流处理 DSL
Kafka Streams 是轻量的流处理库嵌入应用运行不需要独立集群。DSL 提供 map/filter/groupBy 操作。本文用实时订单统计展示 Kafka Streams 的用法。
JVM 垃圾回收器 Parallel G1 ZGC 选型
JVM 的 GC 选型在吞吐量停顿时间和内存占用间权衡。Parallel 适合批处理G1 是默认平衡方案ZGC 追求低停顿。本文用实际应用的停顿测试对比三款 GC。
Puppeteer 无头浏览器自动化截图
Puppeteer 控制 Chrome 无头浏览器自动化截图生成 PDF 和爬取 SPA 页面。page.pdf 和 page.screenshot 两个核心方法。本文实现一个网页截图服务。
API 版本管理的几种策略
API 版本管理主要策略有 URL 路径版本(/v1/)请求 Header 版本和查询参数版本。向后兼容减少版本发布频次。本文对比三种策略的优劣。
Syslog 日志收集和集中管理
Syslog 是 Linux 标准日志协议。rsyslog 配置远程日志发送集中管理。日志服务器统一存储和查询。本文配置 rsyslog 将多台服务器的日志汇集到一台。
数据可视化 D3.js 基础
D3.js 将数据绑定到 DOM 操作 SVG 生成图表。比例尺映射数据到像素范围。进入更新退出的模式处理数据变化。本文用柱状图展示 D3 的核心概念。
Consul 服务注册和健康检查
Consul 提供服务注册发现健康检查和多数据中心支持。Agent 在每台机器上运行Server 节点存储数据。本文搭建 Consul 集群并注册一个 HTTP 服务。
DDD 领域驱动设计的聚合和限界上下文
DDD 的聚合是数据修改的一致性边界。限界上下文划分领域的边界。实体有唯一标识值对象没有。本文用电商订单上下文解释 DDD 的核心模式。
Presto/Trino SQL 查询多数据源
Trino 用 SQL 查询跨多个数据源的数据包括 MySQLPostgreSQLKafka 和 Hive。不需要迁移数据。本文用 Trino 同时查询关系数据库和对象存储。
Unreal Engine 蓝图脚本入门
Unreal Engine 的蓝图系统用节点图编写游戏逻辑不需要写 C++代码。事件节点触发流程函数封装复用逻辑。本文创建一个开门交互的蓝图。
Graph Neural Network 图神经网络入门
图神经网络在节点和边上做消息传递聚合邻居信息更新节点表示。GraphSAGE 采样邻居适合大规模图。本文用节点分类任务解释 GNN 的基本流程。
TLS 1.3 握手协议相比 1.2 的改进
TLS 1.3 握手从 2-RTT 降到 1-RTT 恢复连接 0-RTT。移除了不安全的密码套件和 RSA 密钥交换。本文对比 TLS 1.2 和 1.3 握手的交互轮次差异。
灰度发布和金丝雀发布的实现方案
灰度发布让小部分用户先用新版本收集反馈再全量上线。Kubernetes Ingress 按 Header 分流或权重分流。本文实现一个 Nginx Ingress 的金丝雀发布配置。
etcd 分布式键值存储的核心机制
etcd 用 Raft 共识算法保证一致性数据写入需多数节点确认。watch 机制监听键变化。Kubernetes 用 etcd 存储集群状态。本文介绍 etcd 的存储结构和工作原理。
数据湖和数据仓库的区别
数据湖存原始格式包括非结构化数据数据仓库存经过清洗建模的结构化数据。湖仓一体架构融合两者优势。本文对比数据湖和数据仓库在存储查询和治理上的差异。
事务隔离级别 MVCC 原理
MVCC 通过保留数据的多个版本来实现不同隔离级别。快照读不加锁。事务 ID 决定可见性。本文用 INSERT/UPDATE 操作解释 MVCC 的版本链机制。
Spark RDD DataFrame DataSet 的区别
Spark 的 RDD 是底层数据抽象DataFrame 有 schema 优化更好DataSets 结合了类型安全和 DataFrames 的性能。Catalyst 优化器对 DataFrame 做查询优化。
Kotlin 协程的 suspend 关键字
Kotlin 的协程用 suspend 标记挂起函数。launch 启动新协程async 返回结果。Dispatchers 指定线程池。本文用网络请求展示 Kotlin 协程的典型用法。
Composer PHP 包管理器使用
Composer 是 PHP 的依赖管理工具类似 npm。composer.json 声明依赖composer.lock 锁定版本。autoload 自动加载类文件。本文展示 Composer 的常用命令和配置。
机器学习 AUC ROC 曲线评价指标
ROC 曲线展示不同阈值下真正率和假正率的关系。AUC 是曲线下面积越大模型越好。AUC 不受样本不平衡影响。本文用分类模型计算和解读 AUC 值。
压力测试工具 wrk 的使用
wrk 是轻量 HTTP 压测工具。wrk -t12 -c400 -d30s url 用 12 线程 400 连接压 30 秒。Lua 脚本支持自定义请求。本文用 wrk 对 REST API 做基准测试。
Flink 流处理的基本概念
Flink 是分布式流处理引擎支持事件时间和处理时间。Window 按时间或数量聚合。Checkpoint 保证 Exactly-Once 语义。本文用实时计算用户点击量展示 Flink 的用法。
WebSocket 替代轮询的实时更新方案
WebSocket 和 SSE 都比轮询更高效。WebSocket 双向通信适合聊天和协作编辑。SSE 单向推送适合通知和订阅。本文对比三种实时更新方案。
GORM Go 语言 ORM 的 CRUD 操作
GORM 是 Go 最流行的 ORM。AutoMigrate 自动建表。链式调用构建查询。Preload 预加载关联数据。本文用 User 模型展示 GORM 的常用 CRUD 操作。
Maven 生命周期和插件机制
Maven 的生命周期由 phase 组成compile/test/package。插件绑定到 phase 执行 goal。理解生命周期才能灵活定制构建流程。本文解释 Maven 的三套生命周期。
SwiftUI 声明式界面开发入门
SwiftUI 用声明式语法描述界面状态变化自动更新视图。@State 管理本地状态@Binding 传递数据。本文从零构建一个待办事项列表 app。