Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!

△点击上方“Python猫”关注 ,回复“1”领取电子书

509321a03f3fb0970902b85aa95e85f0.jpeg

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

由于公众号不支持外链,文中大量链接无法点击。请在我的博客阅读(复制链接到浏览器中打开):https://pythoncat.top/posts/2023-07-08-weekly

周刊已开通 Telegram 频道,欢迎关注:https://t.me/pythontrendingweekly

🦄文章&教程

1、聊一聊 Python 和 Golang 的垃圾回收[1]

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

2、像竞赛程序员一样调试[2] (英)

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

3、Python 3.12 预览版:支持 Linux 性能分析器[3] (英)

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

f2ae47d2659a3b78bf7929d29a0863ef.png

桌面软件中显示的性能分析数据

4、CPython 招聘一名全职工程师[4] (英)

Łukasz Langa 是 PSF 的首个全职开发者(由 Meta 赞助),近日发文表示要新招聘一名“副手”工程师(由彭博社赞助)!两周前,PSF 官网刚公布了首个全职的安全开发工程师[5] (由 OpenSSF 赞助),现在又有了新的赞助,真的要感谢慷慨的赞助者们!

5、PEP 563 和 PEP 649[6] (英)

PEP-563 注解的延迟求值,PEP-649 使用描述符作注解的延迟求值。这篇 2021 年的文章出自 PEP-563 的作者 Łukasz Langa,介绍和对比了这两个 PEP。它们都是 Accepted 状态,然而原计划在 3.10 发布的 PEP-563 已被宣告无限期搁置[7] ,所以它似乎需要更多的关注?(@Plutonium 投稿)

6、Python 设计模式:简洁及可重用代码(观察者)[8] (英)

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

7、你并不需要写__all__[9] (英)

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

8、用 Python 实现一门简易的编程语言[10] (英)

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

9、使用 Python 的 collections.Counter 计算出现次数[11] (英)

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

10、使用 Numba Vectorize 加速 Python 代码[12] (英)

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

11、Paul Graham:如何做出伟大的工作?[13] (中译)

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

12、Paul Graham:如何努力工作?[15] (中译)

翻译自 Paul Graham 写于 2021 年的《How to Work Hard ?[16]》,可与上一则内容关联阅读。

13、Django 2023 年 6 月:技巧和讨论[17] (英)

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

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

🐿️项目&资源

1、cinder:Meta 内部以性能为导向的 CPython 版本[19] (英)

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

2、vlite:用 NumPy 制作的简易矢量数据库[20] (英)

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

74b17c8371d80fb04099291369c32968.png

不同数据库的处理效果对比

3、gpt-migrate:将代码仓从一种框架或语言迁移成其它[21] (英)

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

4、FastDepends:从 FastAPI 中提取的依赖注入框架,异步和同步模式都支持[22] (英)

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

5、Data-Copilot:通过自主工作流程桥接数十亿数据和人类[23]

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

950d5303a965a5d1ab682f14c97126a5.png

自主查询和预测数据

6、awesome-read-the-docs:精选的项目文档列表[24] (英)

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

7、DisCo:通过指示生成现实世界的人类舞蹈[25] (英)

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

061fbd808a217fc12d213bc97c81e3ad.png

8、Mark Shannon 博士论文:为动态语言构建高性能虚拟机[26] (英)

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

9、blind_watermark:图片加盲水印,提取水印无须原图[28]

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

10、VisCPM:基于 CPM 基础模型的中英双语多模态大模型系列[29]

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

ca07e9e7671f6f3bd3c5156a839a9023.png

11、polars-cookbook:Python polars 库的教程[31] (英)

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

12、ML 系统设计:200 个研究案例[32] (英)

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

c9daff3428dd7955ef2d913078703048.png

200个案例的在线数据库

🥂讨论&问题

1、Ask HN:关于技术史的好书?[33] (英)

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

2、Ask HN:最有价值的计算机科学书籍?[34] (英)

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

🐼关于周刊

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

内容创作要花费大量的时间和精力,如果你觉得有帮助,请随意赞赏[35]或买杯咖啡[36] 进行支持!如果你喜欢本周刊,请转发分享给其他需要的同学,让更多人可以从中受益~

订阅方式:邮件[37] | Github[38] | Telegram[39] | Twitter[40]

参考资料

[1]

聊一聊 Python 和 Golang 的垃圾回收: https://www.yance.wiki/gc_go_py

[2]

像竞赛程序员一样调试: https://albexl.substack.com/p/a-tale-of-debugging-the-competitive

[3]

Python 3.12 预览版:支持 Linux 性能分析器: https://realpython.com/python312-perf-profiler/

[4]

CPython 招聘一名全职工程师: https://lukasz.langa.pl/40b601fc-2b24-4629-91d9-3b32c58365c6/

[5]

首个全职的安全开发工程师: https://pyfound.blogspot.com/2023/06/announcing-our-new-security-developer.html

[6]

PEP 563 和 PEP 649: https://lukasz.langa.pl/61df599c-d9d8-4938-868b-36b67fdb4448/

[7]

宣告无限期搁置: https://docs.python.org/zh-cn/3/whatsnew/3.11.html#pep-563-may-not-be-the-future

[8]

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

[9]

你并不需要写__all__: https://jamesturk.net/posts/you-dont-need-all/

[10]

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

[11]

使用 Python 的 collections.Counter 计算出现次数: https://www.pythonmorsels.com/using-counter/

[12]

使用 Numba Vectorize 加速 Python 代码: https://coderslegacy.com/python-code-with-numba-vectorize/

[13]

Paul Graham:如何做出伟大的工作?: https://emmmme.com/greatwork

[14]

How to Do Great Work ?: http://paulgraham.com/greatwork.html

[15]

Paul Graham:如何努力工作?: https://emmmme.com/workhard

[16]

How to Work Hard ?: http://paulgraham.com/hwh.html

[17]

Django 2023 年 6 月:技巧和讨论: https://www.pythonmorsels.com/django-june-2023/

[18]

https://pythoncat.top/tags/weekly: https://pythoncat.top/tags/weekly

[19]

cinder:Meta 内部以性能为导向的 CPython 版本: https://github.com/facebookincubator/cinder

[20]

vlite:用 NumPy 制作的简易矢量数据库: https://github.com/sdan/vlite

[21]

gpt-migrate:将代码仓从一种框架或语言迁移成其它: https://github.com/0xpayne/gpt-migrate

[22]

FastDepends:从 FastAPI 中提取的依赖注入框架,异步和同步模式都支持: https://github.com/lancetnik/FastDepends

[23]

Data-Copilot:通过自主工作流程桥接数十亿数据和人类: https://github.com/zwq2018/Data-Copilot

[24]

awesome-read-the-docs:精选的项目文档列表: https://github.com/readthedocs-examples/awesome-read-the-docs

[25]

DisCo:通过指示生成现实世界的人类舞蹈: https://github.com/Wangt-CN/DisCo

[26]

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

[27]

香农计划: https://pythoncat.top/posts/2021-05-16-Guido

[28]

blind_watermark:图片加盲水印,提取水印无须原图: https://github.com/guofei9987/blind_watermark

[29]

VisCPM:基于 CPM 基础模型的中英双语多模态大模型系列: https://github.com/OpenBMB/VisCPM

[30]

周刊第 7 期: https://pythoncat.top/posts/2023-06-17-weekly7

[31]

polars-cookbook:Python polars 库的教程: https://github.com/escobar-west/polars-cookbook

[32]

ML 系统设计:200 个研究案例: https://www.evidentlyai.com/ml-system-design

[33]

Ask HN:关于技术史的好书?: https://news.ycombinator.com/item?id=36581241

[34]

Ask HN:最有价值的计算机科学书籍?: https://news.ycombinator.com/item?id=36560950

[35]

赞赏: https://img.pythoncat.top/wechat_code.png

[36]

买杯咖啡: https://www.buymeacoffee.com/pythoncat

[37]

邮件: https://pythoncat.substack.com

[38]

Github: https://github.com/chinesehuazhou/python-weekly

[39]

Telegram: https://t.me/pythontrendingweekly

[40]

Twitter: https://twitter.com/chinesehuazhou

fccd856a8a22822099c97347a1ad7947.gif

如果你觉得本文有帮助

请慷慨分享点赞,感谢啦

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2023年8月3日
下一篇 2023年8月3日

相关推荐