后端日志、指标与追踪如何还原一次请求 后端日志、指标与追踪如何还原一次请求 难度:进阶。本文为中文技术整理,保留来源中的技术边界;示例只用于阅读,未在本服务器执行。 结构化日志记录事件,指标展示趋势,追踪串起跨服务请求。日志不能包含密码、token 和完整敏感请求体。 示例 logger.info("order_created", ex 2026-10-01 手册 #后端#可观测性#Linux
Docker 多阶段构建:分离编译环境和运行环境 Docker 多阶段构建:分离编译环境和运行环境 难度:进阶。本文为中文技术整理,保留来源中的技术边界;示例只用于阅读,未在本服务器执行。 builder 负责下载依赖和编译,runtime 只保留运行文件。密钥不能写进镜像层,健康检查也要区分存活和业务就绪。 示例 FROM golang:1.23 2026-10-01 教程 #后端#Docker#部署
API 安全:认证、授权、输入校验与审计 API 安全:认证、授权、输入校验与审计 难度:进阶。本文为中文技术整理,保留来源中的技术边界;示例只用于阅读,未在本服务器执行。 登录成功不代表用户可以访问任意资源。每次资源访问都需要后端授权,输入校验和审计又是不同职责。 示例 def can_read(user, document): 2026-10-01 手册 #后端#安全#API
异步后端不是把 def 改成 async 异步后端不是把 def 改成 async 难度:深度。本文为中文技术整理,保留来源中的技术边界;示例只用于阅读,未在本服务器执行。 协程在等待 I/O 时让出事件循环;CPU 密集工作和同步阻塞库仍会阻塞或需要线程/进程池。并发数还受数据库连接池和外部限流约束。 示例 async def fetch 2026-10-01 手册 #后端#并发#Python
后台队列:任务幂等、重试与死信 后台队列:任务幂等、重试与死信 难度:进阶。本文为中文技术整理,保留来源中的技术边界;示例只用于阅读,未在本服务器执行。 队列任务可能重复执行。任务要有业务唯一键,重试只针对临时故障,超过次数的任务应进入可观测的失败列表。 示例 def handle(event_id): if alread 2026-10-01 教程 #后端#队列#异步
缓存设计的三个问题:一致性、过期与击穿 缓存设计的三个问题:一致性、过期与击穿 难度:进阶。本文为中文技术整理,保留来源中的技术边界;示例只用于阅读,未在本服务器执行。 缓存不是数据库复制品。要明确写入顺序、TTL、失效策略和热点 key 失效时的并发回源行为。 示例 value = cache.get(key) if value is 2026-10-01 手册 #后端#Redis#缓存
数据库索引设计:从查询条件和执行计划开始 数据库索引设计:从查询条件和执行计划开始 难度:进阶。本文为中文技术整理,保留来源中的技术边界;示例只用于阅读,未在本服务器执行。 索引是写入成本换读取速度。列顺序、选择性、排序和连接条件要由真实查询决定,并用 EXPLAIN 检查。 示例 CREATE INDEX idx_orders_user_ 2026-10-01 手册 #后端#数据库#SQL
FastAPI 请求模型与输入校验 FastAPI 请求模型与输入校验 难度:入门。本文为中文技术整理,保留来源中的技术边界;示例只用于阅读,未在本服务器执行。 请求模型让格式校验在业务逻辑前发生,响应模型则避免把内部对象和敏感字段直接返回。 示例 class Signup(BaseModel): email: EmailSt 2026-10-01 教程 #后端#Python#FastAPI
REST API 入门:资源、状态码与错误结构 REST API 入门:资源、状态码与错误结构 难度:入门。本文为中文技术整理,保留来源中的技术边界;示例只用于阅读,未在本服务器执行。 API 要让客户端明确请求结果、失败原因和下一步。认证、授权和业务错误不要都返回同一种状态。 示例 {"error":{"code":"invalid_input 2026-10-01 教程 #后端#HTTP#API
前端可访问性:语义 HTML、键盘与错误反馈 前端可访问性:语义 HTML、键盘与错误反馈 难度:入门。本文为中文技术整理,保留来源中的技术边界;示例只用于阅读,未在本服务器执行。 可访问性从语义结构开始。按钮、链接、label、焦点顺序和错误关联都比最后补一个 aria-label 更重要。 示例 <label for="email">邮箱< 2026-10-01 教程 #前端#可访问性#HTML