|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "Python 周报 #6 | 2020-06-07" |
| 4 | +permalink: /6 |
| 5 | +--- |
| 6 | + |
| 7 | +Python 周报,提供有价值的 Python 及行业相关信息。 |
| 8 | + |
| 9 | +如果你发现了有价值的信息、文章和工具等,可以到 [Issues](https://github.com/qiwihui/PythonWeekly/issues) 里提给我,记得写上推荐的理由。也欢迎提出意见和建议。 |
| 10 | + |
| 11 | +<!-- ## :newspaper_roll: 新闻 |
| 12 | +
|
| 13 | +Python 相关的新闻和观点。 --> |
| 14 | + |
| 15 | +## :pencil: 文章和教程 |
| 16 | + |
| 17 | +### [别用 datetime.now ── 实用 Python 依赖注入](https://hakibenita.com/python-dependency-injection) |
| 18 | + |
| 19 | +如果你曾经进行过某项测试,然后某天开始无缘无故地失败,或者一次无明显原因的每次月圆之夜都失败了的测试,那么你的代码可能依赖于不确定性的东西。本文介绍了一种在 Python 中进行依赖项注入的实用方法,该方法正确使用后可以消除不确定性,并使你的代码更易于维护和测试。 |
| 20 | + |
| 21 | +### [Python 依赖管理工具概述](https://modelpredict.com/python-dependency-management-tools) |
| 22 | + |
| 23 | +完全被所有用于管理依赖项的工具所迷惑吗?pip,venv,Docker,conda,virtualenvwrapper,pipenv,poetry 等等,你应该使用哪一个?为什么我们甚至拥有所有这些不同的工具?他们可以一起工作吗?这篇文章简要介绍了每种工具,创建原因以及解决的问题。在文章的结尾,你可以找到一张表格,其中汇总了所有信息以及人们使用的常用设置。 |
| 24 | + |
| 25 | +### [在 Raspberry Pi 上使用 Python 构建物理项目](https://realpython.com/python-raspberry-pi/) |
| 26 | + |
| 27 | +Raspberry Pi 是市场上领先的物理计算板之一。从建立 DIY 项目的爱好者到初次学习编程的学生,人们每天都在使用 Raspberry Pi 与周围的世界互动。Python 内置在Raspberry Pi 中,因此你可以掌握自己的技能,立即开始构建自己的 Raspberry Pi 项目。 |
| 28 | + |
| 29 | +在这篇教程中,你将学习: |
| 30 | + |
| 31 | +- 设置新的 Raspberry Pi |
| 32 | +- 使用 Mu 编辑器在 Raspberry Pi 上运行 Python 或通过 SSH 远程运行 |
| 33 | +- 从连接到 Raspberry Pi 的物理传感器读取输入 |
| 34 | +- 使用 Python 将输出发送到外部组件 |
| 35 | +- 在 Raspberry Pi 上使用 Python 创建独特的项目 |
| 36 | + |
| 37 | +### [使用 Python 在 Django 中构建模型多态(Polymorphism)](https://realpython.com/modeling-polymorphism-django-python/) |
| 38 | + |
| 39 | +在关系数据库中对多态进行建模是一项艰巨的任务。在本文中,我们介绍了几种建模技术,它们使用 Django 对象关系映射(ORM)来表示关系数据库中的多态对象。本中级教程适用于已经熟悉Django基本设计的读者。 |
| 40 | + |
| 41 | +### [从零开始构建一个 Web 框架](https://www.bilibili.com/video/BV1W441187kc) |
| 42 | + |
| 43 | +WEB 框架提供的功能包括(1)Request & Response 对象,(2)路由管理,(3)模板引擎,(4)对象关系映射(ORM)等功能,这篇演讲介绍了如何从零开始构建一个 Web 框架,可以在[这儿](http://slide.jiayuanzhang.com/csdnpython)查看演示稿。 |
| 44 | + |
| 45 | +### [SOLID 设计原理的 Python 指南](https://dev.to/ezzy1337/a-pythonic-guide-to-solid-design-principles-4c8i) |
| 46 | + |
| 47 | +Michael Feathers 基于 Robert C. Martin 论文《设计原理和设计模式》中的原理而创建的助记符 SOLID 功不可没。这些原则是 |
| 48 | + |
| 49 | +- 单一责任原则 |
| 50 | +- 开闭原理 |
| 51 | +- 里斯科夫的替换原则 |
| 52 | +- 接口隔离原理 |
| 53 | +- 依赖倒置原则 |
| 54 | + |
| 55 | +我们很快将详细介绍这些内容。关于 SOLID 设计原则要注意的最重要的一点是,它们应整体使用。选择一个而只有一个不会对你有多大帮助。当一起使用时,你会开始看到这些原则的真正价值。 |
| 56 | + |
| 57 | +### [统一 Python 仓库](https://medium.com/opendoor-labs/our-python-monorepo-d34028f2b6fa) |
| 58 | + |
| 59 | +在 Opendoor,我们有很多 Python 服务。最初它们分散在几个 Git 仓库中,这引起了一些问题,我将在稍后描述。为了消除这些问题,我们决定将所有新的 Python 服务放在一个Git存储库中,尽管这些服务保持独立。本文介绍了对我们来说行之有效的方法,包括仓库组织,依赖管理,代码共享和 CI/CD。 |
| 60 | + |
| 61 | +### [Django Rest Framework 的批量更新](https://medium.com/@cknorow/really-fast-bulk-updates-with-django-rest-framework-43594b18bd75) |
| 62 | + |
| 63 | +通用 rest framework 框架入口通常设计为一次修改一个对象。但是,你经常会发现,当你需要修改数千个对象时,这可能成为性能的巨大瓶颈。在这种情况下,最好执行一次调用来批量执行该操作,而不是对入口进行数千次调用。在本教程中,我们将向你展示如何将更新 API 的速度提高10倍。 |
| 64 | + |
| 65 | +### [Python 调试终极指南](https://martinheinz.dev/blog/24) |
| 66 | + |
| 67 | +即使你编写清晰易读的代码,即使你用测试覆盖代码,即使你是一个非常有经验的开发人员,也不可避免地会出现奇怪的错误,并且你将需要以某种方式进行调试。很多人诉诸于仅使用一堆打印语句来查看代码中正在发生的事情。这种方法远非理想,还有很多更好的方法来找出你的代码出了什么问题,我们将在本文中探讨其中的一些方法。 |
| 68 | + |
| 69 | +### [53个 Python 面试问答](https://towardsdatascience.com/53-python-interview-questions-and-answers-91fa311eec3f) |
| 70 | + |
| 71 | +数据科学家和软件工程师的 Python 问题。 |
| 72 | + |
| 73 | +## :office: 项目,软件包和代码 |
| 74 | + |
| 75 | +[sickcodes/Docker-OSX](https://github.com/sickcodes/Docker-OSX):在 Docker 容器中运行Mac!在 Docker 中的运行接近原生的 OSX-KVM!使用 X11 转发! |
| 76 | + |
| 77 | +[encode/httpx](https://github.com/encode/httpx):HTTPX 是一个功能齐全的,Python 3 的 HTTP 客户端,它提供同步和异步API,并支持 HTTP/1.1 和 HTTP/2。 |
| 78 | + |
| 79 | +[PicardParis/cherry-on-py](https://github.com/PicardParis/cherry-on-py):使用机器学习模型和无服务器管道自动生成视频的摘要。 |
| 80 | + |
| 81 | +<!-- ## :books: 书籍 |
| 82 | +
|
| 83 | +不错的书的推荐。 --> |
| 84 | + |
| 85 | +## :tv: 音视频 |
| 86 | + |
| 87 | +### PythonBytes - [Episode #184: Too many ways to wait with await?](https://pythonbytes.fm/episodes/show/184/too-many-ways-to-wait-with-await) |
| 88 | + |
| 89 | +使用 Python 的 asyncio 的主要吸引力之一是能够触发许多协程并同时运行它们。你知道等待结果的方式有几种吗? |
| 90 | + |
| 91 | +## :coffee: 关注我们 |
| 92 | + |
| 93 | +RSS 订阅:[PythonWeekly RSS](https://pyweekly.qiwihui.com/feed.xml) |
0 commit comments