## 使用 `uv` 和 `Dagger` 轻松构建 Python Monorepo Monorepo(单仓库包含多个项目)在谷歌和 Facebook 等大型公司很常见,但管理起来可能具有挑战性。本文详细介绍了一种使用工具 `uv` 和 `Dagger` 构建 Python Monorepo 的简化方法。 传统上,Python Monorepo 的设置很复杂,因为依赖管理和构建速度慢。然而,`uv` 简化了打包和依赖解析,而 `Dagger` 提供了一个强大的构建系统。这种组合能够实现具有端到端缓存的快速、模块化流水线。 核心思想是利用 `uv` 的 workspace 功能和 `Dagger` 以编程方式定义构建过程的能力。通过解析 `uv.lock` 文件,系统可以智能地仅复制必要源代码,避免因无关项目中的更改而触发完整重建。这是通过一个构建 Docker 镜像的 Dagger 模块实现的,利用现有的 Dockerfile 阶段并添加一层用于依赖管理。 这种方法具有维护成本低、本地和 CI 兼容性以及通过缓存实现显著速度提升等优点。虽然需要一些初始设置,但由此产生的流水线高效且可扩展,使 Python Monorepo 更易于管理和性能更高。作者鼓励查阅 `uv` 和 `Dagger` 文档以进行自定义和优化。
三星在其最新的One UI 8.5更新中移除了Android恢复菜单中的关键工具,引发了用户困惑。诸如“通过ADB/SD卡应用更新”、“清除缓存分区”和诊断测试等选项正在被移除,仅留下重启、恢复出厂设置和关机等基本功能。
GalaxyClub首先注意到这一变化,它伴随着2026年2月的安全更新,并包含关于降级软件的警告。虽然原因尚不清楚,但推测指向加强的安全措施,可能为了遏制软件泄露——三星目前正在对泄密者采取法律行动。
目前,Galaxy S26 Ultra在其1月份的更新中仍然保留了完整的恢复工具,但这可能会改变。此举大大限制了用户手动 sideload 更新和执行高级故障排除的能力。