LTT
简介
纸上得来终觉浅,绝知此事要躬行。
发布 254 篇文章
加入于 2026/02/04 17:28
音视频高手课01-Clang交叉编译最新FFmpeg
基于mac系统使用NDK r20编译FFmpeg为armv7a架构Android库,需下载ffmpeg-4.2.1源码及对应NDK。配置时修改环境变量需确保SDK路径正确,并在ffmpeg目录创建安卓构建脚本。核心编译指令包括指定交叉编译架构、禁用静态库及调试工具、调整链接路径等链脚本参数。config.h头文件需通过sed命令显式启用多数学 float函数及系统相关定义,其中关键修改包括:启用 trunc、rint系列函数、修正inet_aton编译条件,同时禁用getenv函数。执行build.sh脚本后即可生成 uncompilled Android库文件,支持CMake和Makefile双向构建方式,需注意架构匹配与编译器路径指向。
- 2026/09/16 09:45
- 4
- 0
- 0
- 24.4℃
合同全生命周期管理(CLM)与电子签约
合同管理存在三大断点:模板混乱、审批低效、履约脱节。行业数据显示,62%企业由部门分散管理合同,73%沿用传统模式,每年因管理不当造成的损失占营收3%-5%,标准合同平均审批周期达14.3个工作日。电子签约作为基础能力,需与合同管理系统(涵盖起草审批、用印管控、履约跟踪等全流程)协同构建CLM(合同生命周期能效管理),其价值从"签文件"升级为"用合同数据驱动决策",包括供应商评估、风险预警等应用。AI正在重塑合同管理:自动识别风险条款(准确率提升20%),减少人工处理时耗(从40分钟降至3分钟内),但需先完成条款标准化、授权体系化和多系统集成基础建设。企业应分阶段实施:初期解决"签得快"选用电子签约,中期升级为"管全流程"的合同管理系统,长期构建"能决策"的CLM体系。成熟企业通过将电子合同嵌入ERP/CRM等系统形成闭环生态,使合同数据回流支持战略决策,同时区块链存证保障法律效力与风险溯源。选型须优先考虑合规边界设计(前置30%预算),再匹配AI能力与系统开放性,避免陷入"大而全"的热点陷阱。
- 2026/09/15 14:56
- 12
- 0
- 0
- 25.2℃
Istio Ambient 实操:先 ztunnel,再 waypoint
文章详解Istio Ambient模式从部署到调优的完整流程。基于Kubernetes 1.32+和Istio 1.31+,通过`istioctl install --set profile=ambient`启用该模式,核心优势是Node级ztunnel直连(无需sidecar容器),自动建立服务间mLTS加密通道,并同步TCP级监控指标。部署后命名空间需打`istio.io/dataplane-mode=ambient`标签,服务自动启用mLTS,通过日志验证ktunnel通信。高级功能需部署waypoint网关(对应Gateway API CRD),通过`istioctl waypoint apply`为服务创建独立HTTP路由,此时启用L7重试、流量镜像、细粒度鉴权等功能。配置金丝雀路由需确保Service打`istio.io/use-waypoint=true`且写入正确的HTTPRoute规则,注意未部署waypoint时路由策略无效。常见误区包括同命名空间混用sidecar与ambient模式,需保持sidecar注入标签与ambient模式互斥;安全策略需额外配置AuthorizationPolicy限制访问;重试策略需优先调整超时机制避免雪崩。适用场景包括新集群建设、多语言混合服务环境、集中管理mLTS等场景,已有sidecar网格建议逐步迁移,且需注意与Cilium等CNIs的兼容性问题。通过实例演示了从环境部署到路由策略配置的完整链路,并给出验证日志的方法和流量分析工具Kiali的查看方式。
- 2026/09/13 20:13
- 19
- 0
- 0
- 25.9℃
Service Mesh
Service Mesh将东西向服务间通信从业务SDK迁移至数据平面代理,不改变业务逻辑。核心功能独立于基础架构实现:控制平面管理路由、超时、熔断、重试预算和mTLS策略,数据平面执行代理转发。需注意三点:一、明确南北向职责边界,API网关处理入口鉴权,Mesh专注服务间治理;二、推进路径应先部署观测和流量控制(超时/重试),再实施全网格加密;三、代理产生运行成本,Sidecar按Pod计费,Ambient按节点,Waypoint按L7调用触发。适用条件为多语言微服务集群(超过10-15个服务)、需要统一mTLS/acls/金丝雀的多团队协作场景,单语种小团队更适合Linkerd等轻量方案。部署优先级建议:先实现基础服务网格功能(如 metrics、tracing),接着上线熔断/降级功能,最后部署全链路加密。
- 2026/09/13 20:13
- 8
- 0
- 0
- 24.8℃
Pydantic 模型怎么当契约:校验、响应模型和示例
Pydantic模型用于规范API接口契约,严格区分入参(UserIn)与出参(UserOut)防止数据泄露,入参包含密码但出参不返回,通过response_model注解实现数据过滤。嵌套模型需明确示例数据以生成规范OpenAPI文档。校验工作应在模型层完成,外部函数仅处理业务逻辑。避免将ORM对象直接序列化,需显式指定字段或使用from_attributes=True。典型错误包括:①未拆分用户入参/出参/数据库模型;②在路由层实现字段校验;③直接序列化ORM对象导致多余字段。规范使用模型增强安全性、规范文档、简化开发流程。后续将讲解按模块拆解路由的设计。
- 2026/09/12 20:04
- 11
- 0
- 0
- 25.1℃
路径、查询和请求体为什么要分开声明
FastAPI 通过路径参数、查询参数和请求体的分离声明提高接口开发清晰度与维护性,路径参数定义资源标识,默认为必填且采用Path类型;查询参数用于过滤和开关,支持可选默认值及数组类型。JSON请求体通过Pydantic模型解析,确保格式校验,避免将请求体与路径或查询参数混合声明。头信息与Cookie需独立处理,FastAPI会自动映射HTTP请求录入不同参数。常见误区包括:将过滤条件硬编码进路径地址导致演进困难,GET接口携带JSON请求体违背协议规范,以及将所有输入强行合并为单个dict导致功能缺失。分离体系能让422错误精准提示字段问题,提高调试效率,后续内容将深入解析契约模型与部署流程。
- 2026/09/12 20:04
- 12
- 0
- 0
- 25.2℃
第一个接口怎么跑起来:安装、uvicorn 与 /docs
FastAPI 最小应用需搭建 Python 3.11+ 虚拟环境并安装标准版依赖。创建应用主文件 main.py 定义根路由和健康检查接口,确保服务器导入时使用 app = FastAPI() 格式。通过 uv run 命令启动服务,默认监听本地 8000 端口并支持热重载,访问 /docs 页面可查看 Swagger 文档。需注意错误检查:Python 解释器路径错误会导致 ModuleNotFoundError,未添加 --reload 参数或修改代码时页面不变需检查终端运行路径,主文件名称不匹配或模块路径配置错误会导致 ASGI 启动异常。开发阶段优先验证 health 端点状态和文档 Swagger 拓扑结构,确保环境配置与代码结构无缝衔接。
- 2026/09/12 20:03
- 9
- 0
- 0
- 24.9℃
FastAPI 为什么适合做 JSON API:ASGI、类型提示与自动文档
FastAPI通过类型提示、Pydantic和OpenAPI三重体系实现自动化编程:1)路由依赖和参数类型声明直接生成ASGI调用链和运行时校验,避免硬编码_explicit cast_;2)自动生成OpenAPI文档、3)强调ASGI服务器与中层分离(Uvicorn/Nginx处理网络层,FastAPI负责路由解释);4)async/await适用于I/O等待场景,但需将资源争夺式阻塞代码(如直接调用DBAPI同步方法)通过普通函数调用阻塞。常见误区:FastAPI不等于Uvicorn,框架与ASGI服务器分离;类型定义影响生产运行和文档;ASGI仅规范通信接口,需显式选择异步组件。记住核心架构:客户端→ASGI服务器→FastAPI路由层→Starlette框架层→Pydantic校验层,各层职责明确,通过类型提示实现全链路自动化开发合规。
- 2026/09/12 20:03
- 13
- 0
- 0
- 25.3℃
FastAPI 系列:从第一个接口到生产部署
FastAPI 是专为 JSON API 设计的现代化 ASGI 框架,通过三重核心机制提升开发效率:基于 ASGI 的异步事件循环模型,避免阻塞操作影响性能;Pydantic 模型自动校验请求体与生成OpenAPI文档,消除手动验证与文档维护的冗余;最终通过生产部署包直接导出可交互式文档,形成完整闭环。系列教程覆盖从基础安装 commands(如 fastapi dev 快速启动,fastapi run 配合Gunicorn部署)到全栈开发的18个关键环节,包括路由拆分规范、数据库会话依赖注入、JWT鉴权集成、中间件与后台任务分离原则等。与 Flask/Django 的显著差异在于:始终通过类型定义校验逻辑(替代手动验证层),依赖注入管理副作用代码(如数据库连接),OpenAPI 文档直接嵌入代码(替代后置生成)。需要特别注意三大约束:禁止在 async func 中使用阻塞库,必须通过 thread pool 处理;开发与生产命令物理隔离;OpenAPI 实际需覆盖字段验证、错误注册等完整契约定义,而非仅需引用类型注解。该框架不提供后台管理、全文检索或数据库 ORM,适合以 OpenAPI 为核心的 API 服务开发。
- 2026/09/12 20:03
- 23
- 0
- 0
- 26.3℃
鉴权怎么接到 Depends 上:OAuth2 Password 与 Bearer JWT
FastAPI提倡通过Depends封装鉴权逻辑,采用OAuth2PasswordBearer处理token认证,确保路由无需重复鉴权代码。密码存储必须用pwdlib等专用库进行哈希,即使校验失败也应隐藏用户是否存在。JWT需设置30分钟短期有效期(HS256算法),密钥必须通过openssl生成且存放在环境变量,避免明文泄露。认证流程应分离登录接口(返回token)和资源保护路由(验证 token并解密用户信息)。注意事项包括:JWT不适宜长期会话,防止密钥暴露在仓库,禁止自定义鉴权中间件替代官方方案。读者收益为掌握标准鉴权架构、安全配置要点及常见错误应对策略。
- 2026/09/12 20:03
- 14
- 0
- 0
- 25.4℃