作为《SQLAlchemy 2 实战》系列的收尾,本文提供了所有练习的解答。如果你想支持我的工作,建议直接从我的商店或亚马逊购买本书。感谢你的支持!
miguelgrinberg-com
15 条来自 miguelgrinberg-com 的内容
这是《SQLAlchemy 2 实战》一书的第八章也是最后一章。无论您是在构建传统 Web 应用,还是为 Web 前端或智能手机应用提供 Web API,SQLAlchemy 都是为 Python Web 服务器添加数据库支持的最佳选择之一。本章将演示与 Flask 和 FastAPI 这两个最流行的 Python Web 框架的集成示例,即使您使用其他 Web 框架,这些示例也具有一定的参考价值。
本文是《SQLAlchemy 2 实战》一书的第7章。从1.4版本开始,SQLAlchemy在Core和ORM模块中都加入了基于asyncio包的异步编程支持。这一重大改进为FastAPI等现代Web框架应用带来了SQLAlchemy的强大能力。
为减少对大型科技公司的依赖,作者研究了如何自托管密码管理器,重点介绍了 Bitwarden 开源克隆版 Vaultwarden 的加密机制。文章详细讲解了 Bitwarden 如何将机密数据加密存储在 SQLite 数据库中,并提供了可运行的 Python 代码,帮助读者理解解密流程。作者还提醒,Bitwarden 官方 CLI 客户端曾遭遇供应链攻击,建议有条件的用户自行构建秘密管理工具。
本章旨在运用此前学到的概念,构建一个网页流量分析解决方案。这不仅是对前几章所展示技术的巩固练习,也提供了一个更复杂、更贴近实际场景的数据库设计范例。
Bash中的日期运算
1.0本文探讨了在Bash脚本中进行日期和时间运算的方法,作者指出许多编程语言的日期时间库设计糟糕,而Bash中的日期计算同样充满挑战。文章旨在为需要在备份轮换脚本中实现日期计算的开发者提供指导。
本文宣布将付费课程网站迁移至新平台 learn.miguelgrinberg.com,并为已购用户提供账户转移指南。新站点界面已更新,现有用户需按指引完成迁移以继续访问课程内容。
社交媒体上流传着一个技巧:在GitHub上屏蔽claude用户后,访问包含该用户提交的代码库时会出现提示横幅。令人惊讶的是,CPython这个全球最受欢迎的开源项目现在也出现了claude的贡献记录,这表明项目可能已开始依赖编码助手。
如何搭建自己的邮件服务器
1.5作者分享了自己搭建邮件服务器的经验,从零开始实现发送被各大邮件服务商接受的邮件,同时介绍了接收邮件的简单解决方案,证明自建邮件服务器并非想象中那么困难。
本文是《SQLAlchemy 2 In Practice》书籍的前言部分,作者将逐步在博客上免费发布全书八个章节。SQLAlchemy 是 Python 中最流行的数据库库和对象关系映射器(ORM)。
本章是《SQLAlchemy 2实战》书籍的开篇,旨在帮助读者配置数据库环境,以便能够运行书中的所有示例和练习。作者鼓励支持其工作,建议从官方商店或亚马逊购买完整书籍。
本章介绍了SQLAlchemy库的基本用法,包括创建、更新和查询数据库表。这是《SQLAlchemy 2实战》书籍的第二章节,涵盖了数据库操作的核心概念。
本章是《SQLAlchemy 2实践》书籍的第三章节,重点讲解一对多关系的实现。在前一章学习了产品表查询的基础上,本章将深入探讨如何建立和管理一对多数据关系。
本章深入探讨SQLAlchemy中的多对多关系类型,适用于无法将任何一方识别为"一对一"关系的场景。这是《SQLAlchemy 2实战》书籍的第四章节,继续讨论数据库关系主题。
本章深入探讨多对多关系的实用变体,展示如何在SQLAlchemy 2中通过调整基本设计模式来实现特定需求,是构建复杂数据库关系的重要进阶内容。