---
title: 'Python潮流周刊#10：Twitter 的强敌 Threads 是用 Python 开发的！'
pubDate: 2023-07-08
author: '豌豆花下猫'
---

你好，我是猫哥。这里每周分享优质的 Python 及通用技术内容，大部分为英文，已在小标题注明。（标题取自其中一则分享，不代表全部内容都是该主题，特此声明。）

**周刊已开通 Telegram 频道**，欢迎关注：[https://t.me/pythontrendingweekly](https://t.me/pythontrendingweekly)

## 🦄文章&教程

1、[聊一聊 Python 和 Golang 的垃圾回收](https://www.yance.wiki/gc_go_py)

常见的垃圾回收算法有哪些，它们的优缺点是什么？Python 的垃圾回收机制由什么组成，如何解决内存泄漏问题？Golang 的垃圾回收机制又是怎样的，如何解决内存泄漏问题？

2、[像竞赛程序员一样调试](https://albexl.substack.com/p/a-tale-of-debugging-the-competitive) (英)

编程竞赛需要在限定时间内解决一系列难题，这篇文章介绍了在编程竞赛中作自动调试的方法。它的方法除了可以提升成绩，对于现实的软件开发也有所启示。 

3、[Python 3.12 预览版：支持 Linux 性能分析器](https://realpython.com/python312-perf-profiler/) (英)

Python 3.12 最终版将在今年 10 月发布，其中最大的变化之一是支持 Linux `perf` 分析器。这篇文章介绍了什么是 Linux perf 分析器、perf 能给 Python 带来什么好处、如何在 Python 3.12 中使用 perf、如何分析性能数据、性能数据可视化……

![桌面软件中显示的性能分析数据](https://img.pythoncat.top/2023-07-08_perf.png)

4、[CPython 招聘一名全职工程师](https://lukasz.langa.pl/40b601fc-2b24-4629-91d9-3b32c58365c6/) (英)

Łukasz Langa 是 PSF 的首个全职开发者（由 Meta 赞助），近日发文表示要新招聘一名“副手”工程师（由彭博社赞助）！两周前，PSF 官网刚公布了[首个全职的安全开发工程师](https://pyfound.blogspot.com/2023/06/announcing-our-new-security-developer.html) （由 OpenSSF 赞助），现在又有了新的赞助，真的要感谢慷慨的赞助者们！

5、[PEP 563 和 PEP 649](https://lukasz.langa.pl/61df599c-d9d8-4938-868b-36b67fdb4448/) (英)

PEP-563 注解的延迟求值，PEP-649 使用描述符作注解的延迟求值。这篇 2021 年的文章出自 PEP-563 的作者 Łukasz Langa，介绍和对比了这两个 PEP。它们都是 Accepted 状态，然而原计划在 3.10 发布的 PEP-563 已被[宣告无限期搁置](https://docs.python.org/zh-cn/3/whatsnew/3.11.html#pep-563-may-not-be-the-future) ，所以它似乎需要更多的关注？（@Plutonium 投稿）

6、[Python 设计模式：简洁及可重用代码（观察者）](https://ritwikmath.hashnode.dev/python-design-patterns-cookbook-recipes-for-clean-and-reusable-code-observer) (英)

在构建复杂软件时通常会使用设计模式。文章介绍了观察者设计模式、其使用场景与 Python 代码示例，另外与事件驱动架构（EDA）作了几项对比。

7、[你并不需要写\_\_all\_\_](https://jamesturk.net/posts/you-dont-need-all/) (英)

文章介绍了 Python 中三种导入模块的方式和\_\_all\_\_的用法，重点介绍了一种替代\_\_all\_\_的方法，即在 \_\_init\_\_.py 文件中直接导入所需的名称。

8、[用 Python 实现一门简易的编程语言](https://blog.miguelgrinberg.com/post/building-a-toy-programming-language-in-python) (英)

如何用 Python 来实现一门编程语言呢？这是一个系列教程，第一篇中实现了一个非常基础的编程语言，可以执行 print 语句，第二篇则拓展成支持变量和数学表达式。涉及词法分析、语法分析、代码生成及执行等知识。

9、[使用 Python 的 collections.Counter 计算出现次数](https://www.pythonmorsels.com/using-counter/) (英)

Counter 是 Python 中最好用的数据结构之一。这篇文章介绍了一些很有用的操作：获取出现次数最多的 N 个内容、添加内容到 Counter、移除内容、删除负计数内容、Counter 作算术运算、Counter 传入生成器表达式。

10、[使用 Numba Vectorize 加速 Python 代码](https://coderslegacy.com/python-code-with-numba-vectorize/) (英)

Numba 是用于提升 Python 性能的常用手段，这篇文章介绍了它的重要功能 Vectorize（矢量化），包括它的内部原理，了解它如何充分利用单指令多数据（SIMD）操作的强大功能。文中展示了 5 个使用场景的代码示例。

11、[Paul Graham：如何做出伟大的工作？](https://emmmme.com/greatwork) (中译)

Paul Graham 是《黑客与画家》的作者，最近发布了文章《[How to Do Great Work ?](http://paulgraham.com/greatwork.html)》。一句话概括要点：做出伟大的工作需要好奇心、努力和适合自己的工作类型。文章较长，关键的几个问题：什么是做伟大工作的关键？如何找到适合自己的工作类型？如何保持好奇心？什么是伟大工作的标准？为什么要努力做伟大工作？

12、[Paul Graham：如何努力工作？](https://emmmme.com/workhard) (中译)

翻译自 Paul Graham 写于 2021 年的《[How to Work Hard ?](http://paulgraham.com/hwh.html)》，可与上一则内容关联阅读。

13、[Django 2023 年 6 月：技巧和讨论](https://www.pythonmorsels.com/django-june-2023/) (英)

这是一篇关于 Django 的聚合类月刊，分享了一些学习 Django 的技巧、资源、文章，等等。

🎁**Python潮流周刊**🎁已免费发布了 10 期，访问下方链接，即可查看全部内容：[https://pythoncat.top/tags/weekly](https://pythoncat.top/tags/weekly) 

## 🐿️项目&资源

1、[cinder：Meta 内部以性能为导向的 CPython 版本](https://github.com/facebookincubator/cinder) (英)

本周重大新闻：Meta 推出了 Twitter 的竞品 Threads，仅两天的注册量就已突破三千万。它的后端使用了 Cinder，这是基于 Python 3.10 构建的高性能版本，包含许多性能优化，包括字节码内联缓存、协程的预先求值、每个方法一次的 JIT，以及一种实验性的字节码编译器。（star 2.6K）

2、[vlite：用 NumPy 制作的简易矢量数据库](https://github.com/sdan/vlite) (英)

用不到 200 行代码编写的快速、轻量级和简易的矢量数据库。

![不同数据库的处理效果对比](https://img.pythoncat.top/250959288-fc36481c-f1f6-4973-8461-6aef3a04486d.png)

3、[gpt-migrate：将代码仓从一种框架或语言迁移成其它](https://github.com/0xpayne/gpt-migrate) (英)

使用 GPT 将少量代码从一种编程语言转换成其它语言，这已非难事。但是，整个代码仓级别的语言/框架迁移，听起来就不是一件容易的事！这个项目需要使用 GPT-4，目前在 Python 和 Javascript 这种“简单”的语言上有不错的效果。（star 5.4K）

4、[FastDepends：从 FastAPI 中提取的依赖注入框架，异步和同步模式都支持](https://github.com/lancetnik/FastDepends) (英)

这是将 FastAPI 移除所有 HTTP 逻辑后改造成的依赖注入框架。

5、[Data-Copilot：通过自主工作流程桥接数十亿数据和人类](https://github.com/zwq2018/Data-Copilot)

这是一个基于 LLM 的系统，连接中国金融市场，目前可以访问中国的股票、基金、经济及金融数据、实时新闻。

![自主查询和预测数据](https://img.pythoncat.top/demo1.png)

6、[awesome-read-the-docs：精选的项目文档列表](https://github.com/readthedocs-examples/awesome-read-the-docs) (英)

`Read the Docs` 是一个用于构建和发布文档的开源平台（你肯定见过它家的 Sphinx 或 MkDocs 生成的文档），这个仓库收录了一些开源项目的文档，可以学习它们是如何构建出酷炫效果的。

7、[DisCo：通过指示生成现实世界的人类舞蹈](https://github.com/Wangt-CN/DisCo) (英)

这是一个通用的人类舞蹈生成工具包，可以根据参考图片和姿势，生成人类舞蹈图片和视频。

![](https://img.pythoncat.top/2023-07-08_disco.png)

8、[Mark Shannon 博士论文：为动态语言构建高性能虚拟机](https://theses.gla.ac.uk/2975/1/2011shannonphd.pdf) (英)

Mark Shannon 由于“[香农计划](https://pythoncat.top/posts/2021-05-16-Guido)”而被很多人所知。这里分享的是他 2011 年在格拉斯哥大学的博士论文（可下载的 PDF），描述了一种用于构建动态语言虚拟机的方法，并解释了如何通过围绕一个抽象机器来构建虚拟机工具包的设计。

9、[blind_watermark：图片加盲水印，提取水印无须原图](https://github.com/guofei9987/blind_watermark) 

盲水印（Blind Watermark）是一种数字水印技术，可以在不需要原图或文本的情况下，将水印嵌入到数据中。这个项目是基于频域的数字盲水印，在多种攻击方式下仍能有效提取。（star 3.6K）

10、[VisCPM：基于 CPM 基础模型的中英双语多模态大模型系列](https://github.com/OpenBMB/VisCPM)

这是一个开源的多模态大模型系列，支持中英双语的多模态对话能力（`VisCPM-Chat`模型）和文到图生成能力（`VisCPM-Paint`模型）。基于百亿参数量语言大模型 CPM-Bee（10B）训练（[周刊第 7 期](https://pythoncat.top/posts/2023-06-17-weekly7)曾介绍过），融合视觉编码器（Q-Former）和视觉解码器（Diffusion-UNet）以支持视觉信号的输入和输出。

![](https://img.pythoncat.top/model_zh.png)

11、[polars-cookbook：Python polars 库的教程](https://github.com/escobar-west/polars-cookbook) (英)

polars 是用 Rust 写成的 Python 库，用于进行数据分析。这个仓库包含有 9 个章节的使用教程。

12、[ML 系统设计：200 个研究案例](https://www.evidentlyai.com/ml-system-design) (英)

像 Netflix、Airbnb 和 Doordash 这样的公司如何运用机器学习来改善其产品和流程？这个网站整理了 64 家公司的 200 个案例，可以了解到机器学习的现实用例，学习如何设计机器学习系统。

![200个案例的在线数据库](https://img.pythoncat.top/2023-07-08_ML.png)

## 🥂讨论&问题

1、[Ask HN：关于技术史的好书？](https://news.ycombinator.com/item?id=36581241) (英)

Hacker News 上的问题，有哪些关于技术历史的好书推荐？

2、[Ask HN：最有价值的计算机科学书籍？](https://news.ycombinator.com/item?id=36560950) (英)

也是 HN 上的问题，有哪些关于编程语言、符号逻辑、算法、操作系统等 CS 书籍推荐？

## 🐼关于周刊

Python 潮流周刊，由豌豆花下猫主理，精心筛选国内外的 250+ 信息源，为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景：帮助所有读者精进 Python 技术，并增长职业和副业的收入。

内容创作要花费大量的时间和精力，如果你觉得有帮助，请随意[赞赏](https://img.pythoncat.top/wechat_code.png)、[买杯咖啡](https://www.buymeacoffee.com/pythoncat) 进行支持！如果你喜欢本周刊，请转发分享给其他需要的同学，让更多人可以从中受益～

订阅方式：[Python猫](https://img.pythoncat.top/python_cat.jpg) (可加群)| [邮件](https://pythoncat.substack.com) | [Github](https://github.com/chinesehuazhou/python-weekly) | [Telegram](https://t.me/pythontrendingweekly) | [Twitter](https://twitter.com/chinesehuazhou)

![](https://img.pythoncat.top/pythoncat.png)
