Python 部署与分发:Docker、PyPI 发布与可复现环境
Python 项目从开发到生产的完整部署路径:Docker 多阶段构建与镜像优化、uvicorn/gunicorn 服务器配置、pyinstaller/uv 打包独立可执行文件、PyPI 包发布流程、Nix 可复现环境。附带 Dockerfile 模板和 GitHub Actions 发布流水线。
tag
Python 项目从开发到生产的完整部署路径:Docker 多阶段构建与镜像优化、uvicorn/gunicorn 服务器配置、pyinstaller/uv 打包独立可执行文件、PyPI 包发布流程、Nix 可复现环境。附带 Dockerfile 模板和 GitHub Actions 发布流水线。
Python 测试金字塔完整实践:pytest 核心(fixture/parametrize/monkeypatch)、unittest.mock/patch、Monkeypatch、覆盖率 pytest-cov、类型测试、CI 集成策略与 doctest。覆盖从单元测试到集成测试的完整工程方案。
Python 工具链现代化完整指南:uv(极速包管理+虚拟环境+Python 安装)、ruff(lint+format 一体化)、mypy/pyright 类型检查、pipx 工具安装、 hatch/poetry/pdm 项目管理、从 pip 到 uv 的迁移路径。附带 pyproject.toml 完整配置模板。
Python 数据科学生态全景:Pandas vs Polars vs NumPy 选型与性能对比、PyTorch 模型推理与优化、Transformers pipeline 实战、ONNX 导出与跨平台推理、与 Rust(PyO3)互操作加速。覆盖从数据处理到生产部署的完整链路。
FastAPI/Flask/Django 三框架选型矩阵、FastAPI 依赖注入/后台任务/中间件/JWT 认证完整实战、SQLModel/SQLAlchemy ORM 集成、异步数据库、部署到生产。附带可运行代码与性能基准数据。
Python 3.9-3.12 类型系统全景:内置类型、typing 模块演进、Generic/Protocol/TypeAliasType、Pydantic V2 模型定义/字段校验/序列化/Settings、与 mypy/pyright 的集成策略。包含大量可运行代码示例。
深度解析 Python 并发模型:GIL 内部机制与绕过策略、asyncio 事件循环与 Task 调度、async/await 最佳实践、multiprocessing 多核利用、concurrent.futures 线程池/进程池、cProfile/py-spy/flamegraph 性能分析。附带可运行代码与工作负载选型决策树。
卷二:新常态与长加速(2013—2025) > 这一卷里,Python 不再只是一门“语言”,它同时是 分发生态、类型系统、运行时工程、社区治理 的复合体。我们把镜头拉近:看人,看会场里的白板,看邮件列表上的折返跑。第一章 打包之城的工人们(2013—2016) 清晨的 CI 机器像一排同时亮起的路灯。新来的实...
卷三:专题群像(多实现·数据与 AI·供应链·并行新常态) > 不再按年份,而按“线”来讲:像把一座城分解成四条地铁——你可以在任意一站换乘,但每条线都有自己的节奏。第一线 多实现的交响:同一门语言的多种体温 1.1 走廊里的圆桌:兼容与速度的对话 大会午后的走廊很像一条不设防的论坛。
屏幕上闪着他刚敲下的注释: > “A new scripting language, simple, readable, extensible.” 这是个朴素得不能再朴素的愿望。ABC 给了他“怎么把编程变得友好”的直觉,Amoeba 让他见识“脚本如何粘合系统”的可能。
目录 * 前言:学习路径与心法 * 第 1 章 环境与工具 * 第 2 章 语言基础(变量、类型、运算、输入输出) * 第 3 章 容器与序列(str/bytes/list/tuple/set/dict) * 第 4 章 流程控制与推导式 * 第 5 章 函数、参数、闭包与装饰器、类型注解 * 第 6 ...
> 说明: 由于国内访问github不太稳定,故将相关文章搬运到此,若涉及侵权,请联系删除!第15章:设计 Google Drive 近年来,Google Drive、Dropbox、Microsoft OneDrive、Apple iCloud 等云存储服务非常流行。在本章中,你需要设计 Google Dr...
> 说明: 由于国内访问github不太稳定,故将相关文章搬运到此,若涉及侵权,请联系删除!第1步:了解问题并确定设计范围 如图14-1所示,除了观看视频,你还可以在YouTube上做很多事情。例如,评论、分享或喜欢一个视频,将一个视频保存到播放列表中,订阅一个频道,等等。在45或60分钟的面试中,不可能设计...
当你在谷歌上搜索或在亚马逊购物时,在搜索框中输入,会有一个或多个与搜索词相匹配的内容呈现给你。这一功能被称为自动完成、提前输入、边输入边搜索或增量搜索。图13-1是谷歌搜索的一个例子,当在搜索框中输入"dinner"时,显示了一个自动完成的结果列表。搜索自动完成是许多产品的一个重要功能。
> 说明: 由于国内访问github不太稳定,故将相关文章搬运到此,若涉及侵权,请联系删除! 在本章中,我们将探讨聊天系统的设计,几乎每个人都使用聊天应用程序。 图 12-1 显示了市场上一些最流行的应用程序。 聊天应用程序对不同的人执行不同的功能。敲定确切的要求是极其重要的。例如,当面试官想到一对一的聊...
> 说明: 由于国内访问github不太稳定,故将相关文章搬运到此,若涉及侵权,请联系删除!第2步:提出高层次的设计方案并获得认同 该设计分为两个流程:信息流发布和信息流构建: * 信息发布(Feed publishing):当用户发布帖子时,相应的数据被写入缓存和数据库。帖子被推送到她朋友的动态中。
> 说明: 由于国内访问github不太稳定,故将相关文章搬运到此,若涉及侵权,请联系删除! 第10章:设计一个通知系统 近年来,通知系统已经成为许多应用程序非常流行的功能。 通知提醒用户重要信息,如突发新闻、产品更新、活动、优惠等。它已成为我们日常生活中不可或缺的一部分。 在本章中,您需要设计一个通知系统...
> 说明: 由于国内访问github不太稳定,故将相关文章搬运到此,若涉及侵权,请联系删除!网络爬虫被称为机器人或蜘蛛。搜索引擎广泛使用它来发现 Web 上的新内容或更新内容。内容可以是网页、图像、视频、PDF 文件等。网络爬虫首先收集一些网页,然后按照这些页面上的链接收集新内容。图 9-1 显示了抓取过程的...
> 说明: 由于国内访问github不太稳定,故将相关文章搬运到此,若涉及侵权,请联系删除! 在这一章中,我们将解决一个有趣而经典的系统设计面试问题:设计一个像tinyurl一样的URL缩短服务。 第1步:了解问题并确定设计范围 系统设计的面试问题是故意留有余地的。为了设计一个精心设计的系统,关键是要问清楚...
这种方法使用数据库的 auto_increment 特性。我们不是将下一个 ID 增加 1,而是将其增加 k,其中 k 是正在使用的数据库服务器的数量。如图 7-2 所示,下一个要生成的 ID 等于同一服务器中的前一个 ID 加 2。这解决了一些可扩展性问题,因为 ID 可以随着数据库服务器的数量而扩展。