Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!
你好,我是猫哥。这里每周分享优质的 Python 及通用技术内容,大部分为英文,已在小标题注明。(标题取自其中一则分享,不代表全部内容都是该主题,特此声明。)
首发于我的博客:https://pythoncat.top/posts/2023-07-08-weekly
周刊已开通 Telegram 频道,欢迎关注:https://t.me/pythontrendingweekly
🦄文章&教程
常见的垃圾回收算法有哪些,它们的优缺点是什么?Python 的垃圾回收机制由什么组成,如何解决内存泄漏问题?Golang 的垃圾回收机制又是怎样的,如何解决内存泄漏问题?
2、像竞赛程序员一样调试 (英)
编程竞赛需要在限定时间内解决一系列难题,这篇文章介绍了在编程竞赛中作自动调试的方法。它的方法除了可以提升成绩,对于现实的软件开发也有所启示。
3、Python 3.12 预览版:支持 Linux 性能分析器 (英)
Python 3.12 最终版将在今年 10 月发布,其中最大的变化之一是支持 Linux perf
分析器。这篇文章介绍了什么是 Linux perf 分析器、perf 能给 Python 带来什么好处、如何在 Python 3.12 中使用 perf、如何分析性能数据、性能数据可视化……
4、CPython 招聘一名全职工程师 (英)
Łukasz Langa 是 PSF 的首个全职开发者(由 Meta 赞助),近日发文表示要新招聘一名“副手”工程师(由彭博社赞助)!两周前,PSF 官网刚公布了首个全职的安全开发工程师 (由 OpenSSF 赞助),现在又有了新的赞助,真的要感谢慷慨的赞助者们!
5、PEP 563 和 PEP 649 (英)
PEP-563 注解的延迟求值,PEP-649 使用描述符作注解的延迟求值。这篇 2021 年的文章出自 PEP-563 的作者 Łukasz Langa,介绍和对比了这两个 PEP。它们都是 Accepted 状态,然而原计划在 3.10 发布的 PEP-563 已被宣告无限期搁置 ,所以它似乎需要更多的关注?(@Plutonium 投稿)
6、Python 设计模式:简洁及可重用代码(观察者) (英)
在构建复杂软件时通常会使用设计模式。文章介绍了观察者设计模式、其使用场景与 Python 代码示例,另外与事件驱动架构(EDA)作了几项对比。
7、你并不需要写__all__ (英)
文章介绍了 Python 中三种导入模块的方式和__all__的用法,重点介绍了一种替代__all__的方法,即在 __init__.py 文件中直接导入所需的名称。
8、用 Python 实现一门简易的编程语言 (英)
如何用 Python 来实现一门编程语言呢?这是一个系列教程,第一篇中实现了一个非常基础的编程语言,可以执行 print 语句,第二篇则拓展成支持变量和数学表达式。涉及词法分析、语法分析、代码生成及执行等知识。
9、使用 Python 的 collections.Counter 计算出现次数 (英)
Counter 是 Python 中最好用的数据结构之一。这篇文章介绍了一些很有用的操作:获取出现次数最多的 N 个内容、添加内容到 Counter、移除内容、删除负计数内容、Counter 作算术运算、Counter 传入生成器表达式。
10、使用 Numba Vectorize 加速 Python 代码 (英)
Numba 是用于提升 Python 性能的常用手段,这篇文章介绍了它的重要功能 Vectorize(矢量化),包括它的内部原理,了解它如何充分利用单指令多数据(SIMD)操作的强大功能。文中展示了 5 个使用场景的代码示例。
11、Paul Graham:如何做出伟大的工作? (中译)
Paul Graham 是《黑客与画家》的作者,最近发布了文章《How to Do Great Work ?》。一句话概括要点:做出伟大的工作需要好奇心、努力和适合自己的工作类型。文章较长,关键的几个问题:什么是做伟大工作的关键?如何找到适合自己的工作类型?如何保持好奇心?什么是伟大工作的标准?为什么要努力做伟大工作?
12、Paul Graham:如何努力工作? (中译)
翻译自 Paul Graham 写于 2021 年的《How to Work Hard ?》,可与上一则内容关联阅读。
13、Django 2023 年 6 月:技巧和讨论 (英)
这是一篇关于 Django 的聚合类月刊,分享了一些学习 Django 的技巧、资源、文章,等等。
🎁Python潮流周刊🎁已免费发布了 10 期,访问下方链接,即可查看全部内容:https://pythoncat.top/tags/weekly
🐿️项目&资源
1、cinder:Meta 内部以性能为导向的 CPython 版本 (英)
本周重大新闻:Meta 推出了 Twitter 的竞品 Threads,仅两天的注册量就已突破三千万。它的后端使用了 Cinder,这是基于 Python 3.10 构建的高性能版本,包含许多性能优化,包括字节码内联缓存、协程的预先求值、每个方法一次的 JIT,以及一种实验性的字节码编译器。(star 2.6K)
2、vlite:用 NumPy 制作的简易矢量数据库 (英)
用不到 200 行代码编写的快速、轻量级和简易的矢量数据库。
3、gpt-migrate:将代码仓从一种框架或语言迁移成其它 (英)
使用 GPT 将少量代码从一种编程语言转换成其它语言,这已非难事。但是,整个代码仓级别的语言/框架迁移,听起来就不是一件容易的事!这个项目需要使用 GPT-4,目前在 Python 和 Javascript 这种“简单”的语言上有不错的效果。(star 5.4K)
4、FastDepends:从 FastAPI 中提取的依赖注入框架,异步和同步模式都支持 (英)
这是将 FastAPI 移除所有 HTTP 逻辑后改造成的依赖注入框架。
5、Data-Copilot:通过自主工作流程桥接数十亿数据和人类
这是一个基于 LLM 的系统,连接中国金融市场,目前可以访问中国的股票、基金、经济及金融数据、实时新闻。
6、awesome-read-the-docs:精选的项目文档列表 (英)
Read the Docs
是一个用于构建和发布文档的开源平台(你肯定见过它家的 Sphinx 或 MkDocs 生成的文档),这个仓库收录了一些开源项目的文档,可以学习它们是如何构建出酷炫效果的。
7、DisCo:通过指示生成现实世界的人类舞蹈 (英)
这是一个通用的人类舞蹈生成工具包,可以根据参考图片和姿势,生成人类舞蹈图片和视频。
8、Mark Shannon 博士论文:为动态语言构建高性能虚拟机 (英)
Mark Shannon 由于“香农计划”而被很多人所知。这里分享的是他 2011 年在格拉斯哥大学的博士论文(可下载的 PDF),描述了一种用于构建动态语言虚拟机的方法,并解释了如何通过围绕一个抽象机器来构建虚拟机工具包的设计。
9、blind_watermark:图片加盲水印,提取水印无须原图
盲水印(Blind Watermark)是一种数字水印技术,可以在不需要原图或文本的情况下,将水印嵌入到数据中。这个项目是基于频域的数字盲水印,在多种攻击方式下仍能有效提取。(star 3.6K)
10、VisCPM:基于 CPM 基础模型的中英双语多模态大模型系列
这是一个开源的多模态大模型系列,支持中英双语的多模态对话能力(VisCPM-Chat
模型)和文到图生成能力(VisCPM-Paint
模型)。基于百亿参数量语言大模型 CPM-Bee(10B)训练(周刊第 7 期曾介绍过),融合视觉编码器(Q-Former)和视觉解码器(Diffusion-UNet)以支持视觉信号的输入和输出。
11、polars-cookbook:Python polars 库的教程 (英)
polars 是用 Rust 写成的 Python 库,用于进行数据分析。这个仓库包含有 9 个章节的使用教程。
12、ML 系统设计:200 个研究案例 (英)
像 Netflix、Airbnb 和 Doordash 这样的公司如何运用机器学习来改善其产品和流程?这个网站整理了 64 家公司的 200 个案例,可以了解到机器学习的现实用例,学习如何设计机器学习系统。
🥂讨论&问题
1、Ask HN:关于技术史的好书? (英)
Hacker News 上的问题,有哪些关于技术历史的好书推荐?
2、Ask HN:最有价值的计算机科学书籍? (英)
也是 HN 上的问题,有哪些关于编程语言、符号逻辑、算法、操作系统等 CS 书籍推荐?
🐼关于周刊
Python 潮流周刊,由豌豆花下猫主理,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。
内容创作要花费大量的时间和精力,如果你觉得有帮助,请随意赞赏或买杯咖啡 进行支持!如果你喜欢本周刊,请转发分享给其他需要的同学,让更多人可以从中受益~