△点击上方“Python猫”关注 ,回复“1”领取电子书
你好,我是猫哥。这里每周分享优质的 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、如何分析性能数据、性能数据可视化……
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 行代码编写的快速、轻量级和简易的矢量数据库。
3、gpt-migrate:将代码仓从一种框架或语言迁移成其它[21] (英)
使用 GPT 将少量代码从一种编程语言转换成其它语言,这已非难事。但是,整个代码仓级别的语言/框架迁移,听起来就不是一件容易的事!这个项目需要使用 GPT-4,目前在 Python 和 Javascript 这种“简单”的语言上有不错的效果。(star 5.4K)
4、FastDepends:从 FastAPI 中提取的依赖注入框架,异步和同步模式都支持[22] (英)
这是将 FastAPI 移除所有 HTTP 逻辑后改造成的依赖注入框架。
5、Data-Copilot:通过自主工作流程桥接数十亿数据和人类[23]
这是一个基于 LLM 的系统,连接中国金融市场,目前可以访问中国的股票、基金、经济及金融数据、实时新闻。
6、awesome-read-the-docs:精选的项目文档列表[24] (英)
Read the Docs
是一个用于构建和发布文档的开源平台(你肯定见过它家的 Sphinx 或 MkDocs 生成的文档),这个仓库收录了一些开源项目的文档,可以学习它们是如何构建出酷炫效果的。
7、DisCo:通过指示生成现实世界的人类舞蹈[25] (英)
这是一个通用的人类舞蹈生成工具包,可以根据参考图片和姿势,生成人类舞蹈图片和视频。
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)以支持视觉信号的输入和输出。
11、polars-cookbook:Python polars 库的教程[31] (英)
polars 是用 Rust 写成的 Python 库,用于进行数据分析。这个仓库包含有 9 个章节的使用教程。
12、ML 系统设计:200 个研究案例[32] (英)
像 Netflix、Airbnb 和 Doordash 这样的公司如何运用机器学习来改善其产品和流程?这个网站整理了 64 家公司的 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
如果你觉得本文有帮助
请慷慨分享和点赞,感谢啦!