△ △ 請給「 Python貓 」加星標 ,以免錯過文章推播
你好,我是貓哥。這裏每周分享優質的 Python、AI 及通用技術內容,大部份為英文。本周刊開源,歡迎 投稿 [1] 。另有 電報頻道 [2] 作為副刊,補充釋出更加豐富的資訊,歡迎關註。
特別提醒: 本期周刊贈書 5 本【明解Python演算法與數據結構】,詳情見文末。
本文部落格版連結(更好的閱讀體驗):https://pythoncat.top/posts/2024-03-30-weekly
🦄文章&教程
1、 蒙特婁效應:為什麽程式語言需要有風格沙皇 [3]
討論了程式語言在規模擴大時面臨的風格多樣性問題,提出了「語言風格沙皇」( style Czar)的概念。作者提到 Scala 過於靈活、C++ 新舊標準共存、Python PEP-8 沒有與時俱進,呼籲社群應該有人(例如語言創造者)引導社群發展出統一的風格標準。
2、 去中心化的邊緣計算平台 [4]
介紹了「Everywhere Computer」,旨在將計算任務分布到一個廣泛的開放網路上,包括個人裝置、區域網路中的其他裝置、雲節點集群等。介紹了如何使用 Rust、JavaScript 和 Python 編寫具體的函式,並將它們編譯為 Wasm 元件。
3、 設計一個純 Python Web 框架 [5]
Reflex 是一個純 Python 全棧 Web 框架(Github 15K star),其作者介紹了 Reflex 的架構,包括前後端的實作細節和工作原理。
4、 修復 PyPy 增量 GC 中的 一個 bug [6]
作者用將近一年時間定位 PyPy 中一個奇怪且難以復現的 BUG,文章介紹了他采用的各種定位方法、這個 BUG 出現的原因、以及在偵錯時發現的其它問題。目前修復已合入 PyPy 主分支。
5、 復活 PyMiniRacer,Python 中的 V8 [7]
如何在 Python 計畫中執行 JavaScript?PyMiniRacer 是一種方法,但舊計畫年久失修,作者接手了它,做了很多的更新,文章介紹了新版本的變更項以及未來的計劃。
6、 Python 與 Javascript 進行資料通訊 [8]
文章介紹了如何實作兩種語言的相互呼叫,實作數據跨語言計畫的傳遞。Python 呼叫 JavaScript 用了 pyjsparser 和 PyV8 ,反向用了 node-python 、WebSockets 和 HTTP 請求。
7、 更適合慢函式呼叫的 Python 緩存實作 [9]
介紹了一種使用檔而非記憶體的緩存方案,類似於
lru_cache
,它提供了
file_cache
裝飾器,主要優點是能持久化緩存結果。文章詳細介紹了實作的程式碼。
8、 使用 Collectfasta 加速 Django 的 collectstatic 命令 [10]
介紹了一個可加速 Django 框架中
collectstatic
命令的執行速度的工具,包括如何安裝和配置、如何將其整合到 Django 計畫中以提高效能。還提供了一些效能提升的指標和最佳實踐建議。
9、 用原生 Python 擴充套件和 Dispatch 實作分布式協程 [11]
分布式協程是可以掛起、序列化並在另一個行程中恢復的函式,與分布式排程器(如 Dispatch)結合使用,可簡化軟體的建立過程。Python 原生支持協程,但協程本身不能被序列化,文章介紹了如何解決這個問題,以及如何處理無法序列化的檔和網路控制代碼、如何處理大型物件以及如何處理全域物件和程式碼更新等問題。
10、 使用 Numba 加快程式碼速度的錯誤方法 [12]
如果基於 NumPy 的程式碼太慢,有時可用 Numba 來加速。但由於它的型別註解和編譯選項,錯誤使用將導致效能變慢,文章分析了相關問題,並給出了最佳化的建議。
11、 關於最佳化 Django 系統檢查框架 [13]
Django 的 system check framework 是一種內建機制,可在執行 Django 命令時自動檢查和報告潛在的配置及套用狀態問題。作者透過效能分析和程式碼審查,發現並實作了多項最佳化措施,提升了範例約 50% 的執行速度。所做最佳化將在 Django 5.1 版本釋出。
12、 大數定律,為什麽去賭場是個壞主意 [14]
文章透過數據分析的方法(蒙地卡羅方法)模擬拋硬幣、輪盤、大樂透等玩法,結果發現輸的機率非常大,這告訴了我們一個道理就是……
🎁 Python潮流周刊 🎁每 30 期為一季,第一季的精華內容已整理成一篇,方便你隨時檢視。線上存取地址: Python 潮流周刊第一季精華合集(1~30) [15]
🐿️計畫&資源
1、 mojo:Mojo 程式語言開源了 [16]
Mojo 是一種新的程式語言,試圖將 Python 的語法及生態與系統編程及超編程相結合,彌補研究與生產之間的差距。(star 18.5K)
2、 Suno-API:基於 Python 和 FastAPI 的非官方 Suno API [17]
目前支持生成歌曲、歌詞等。內建維護 token 與保活功能,無需擔心 token 過期問題。(附:另一個 suno 逆向工程 API [18] )
3、 blacken-docs:對文件中的 Python 程式碼塊上執行「black」 [19]
一個命令列工具,支持在 Markdown、reStructuredText 和 LaTex 檔中用
black
格式化 Python 程式碼塊。(投稿自@Chao)
4、 pathvalidate:用於規範化/驗證字串,例如檔名和檔路徑 [20]
一個用於處理檔名和檔路徑字串的實用工具,支持刪除無效字元、替換平台保留字、刪除不可打印字元、參數校驗、多字節字元、支持多平台,等等。(投稿自@Chao)
5、 LunarLink: 基於HttpRunner + Django + Vue + Element UI 的介面自動化測試平台 [21]
除題目所述,它還用到以下技術棧:Nginx、RabbitMQ、Redis、MySQL 和 Docker 等,支持登入、計畫管理、介面管理、用例管理、流量錄制、配置管理、定時任務、報告管理等功能。
6、 leaping:輕量級的 Python 測試偵錯程式 [22]
一個簡單、快速、輕量級的 Python 測試偵錯程式,支持跟蹤程式碼的執行,並允許用基於 LLM 自然語言的偵錯程式追溯檢查程式的狀態。
7、 keepyourmouthshut:用 AI 能力錄制播客 [23]
以面向開發者的方式建立播客,不需要任何昂貴的裝置。它從使用者處獲取輸入,以此生成指令碼和基於該指令碼的音訊檔。依賴
FFMPEG
和
llmOS
。
8、 MoneyPrinterTurbo:利用AI大模型,一鍵生成高畫質短視訊 [24]
只需提供一個視訊主題或關鍵詞,就可全自動生成視訊文案、視訊素材、視訊字幕、視訊背景音樂,然後合成一個高畫質的短視訊。支持 OpenAI 、 moonshot 、 Azure 、 gpt4free 、 one-api 、 通義千問 等多種模型。(star 5.5K)
9、 AIOS:LLM 代理作業系統 [25]
將大語言模型嵌入到作業系統中,使作業系統「有靈魂」。旨在最佳化資源分配,促進跨代理的上下文切換,實作代理的並行執行,為代理提供工具服務,維護代理的存取控制。
10、 LaVague:使用大行動模型框架實作自動化 [26]
提供了一個將自然語言查詢轉換為 Selenium 程式碼的引擎,使使用者或其它 AI 能夠輕松自動化、輕松描述 Web 工作流程並在瀏覽器上實作自動化。(star 3.5K)
11、 Gmeek:一個完全使用 Github 的部落格框架 [27]
超輕量級個人部落格樣版,完全基於
Github Pages
、
Github Issues
和
Github Actions
。不需本地部署,從搭建到寫作,只需要 18 秒,2 步搭建好部落格,第 3 步就是寫作。
12、 posthog:提供開源產品分析、會話錄制、功能標記和 A/B 測試 [28]
一個開源的產品分析工具,支持自托管。旨在為企業提供一個可控制、可客製且符合數據私密要求的分析解決方案。有免費的 cloud 版本。(star 16.5K)
13、 devika:Cognition AI 的 Devin 的開源替代品 [29]
最近大火的 Devin 的開源替代品,可理解高級人類指令並分解為步驟,研究相關資訊,並編寫程式碼以實作給定的目標。它利用大語言模型、規劃和推理演算法以及 Web 瀏覽能力來智慧開發軟體。(star 13K)
🐢贈書福利
非週期性的福利活動,本期贈書 5 本【明解Python演算法與數據結構】,開獎時間 4 月 5 日 。請給 Python貓 [30] 公眾號發送數位「 8044 」,獲取抽獎小程式碼。
日本編程教育界泰鬥,暢銷書【明解C語言】作者傾力打造!136 段程式碼 + 213 幅圖表,透徹講解演算法與數據結構基礎知識,比課本更生動、更易懂!原版系列累計銷量超 120 萬冊,榮獲日本工學教育協會著作獎。
🐼歡迎訂閱
微信公眾號 [31] :除更新周刊外,還釋出其它原創作品,並轉載一些優質文章。(可加好友,可加讀者交流群)
部落格 [32] 及 RSS [33] :我的獨立部落格,上面有歷年原創/轉譯的技術文章,以及從 2009 年以來的一些隨筆。
信件 [34] 及 RSS [35] :在 Substack 上開通的頻道,滿足你透過信件閱讀時事通訊的訴求。
Github [36] :你可以獲取本周刊的 Markdown 原始檔,做任何想做的事!
Telegram [37] :除了釋出周刊的通知外,我將它視為一個「副刊」,補充釋出更加豐富的資訊。
Twitter [38] :我的關註列表裏有大量 Python 相關的開發者與組織的帳號。
參考資料
[1]
投稿:
https://github.com/chinesehuazhou/python-weekly
電報頻道:
https://t.me/pythontrendingweekly
蒙特婁效應:為什麽程式語言需要有風格沙皇:
https://earthly.dev/blog/language- style-czar/
去中心化的邊緣計算平台:
https://fission.codes/blog/functions-everywhere-only-once/
設計一個純 Python Web 框架:
https://reflex.dev/blog/2024-03-21-reflex-architecture/
修復 PyPy 增量 GC 中的 一個 bug:
https://www.pypy.org/posts/2024/03/fixing-bug-incremental-gc.html
復活 PyMiniRacer,Python 中的 V8:
https://bpcreech.com/post/mini-racer/
Python 與 Javascript 進行資料通訊:
https://juejin.cn/post/7351690896918003775
更適合慢函式呼叫的 Python 緩存實作:
https://docs.sweep.dev/blogs/file-cache
使用 Collectfasta 加速 Django 的 collectstatic 命令:
https://jasongi.com/2024/03/04/speed-up-djangos-collectstatic-command-with-collectfasta/
用原生 Python 擴充套件和 Dispatch 實作分布式協程:
https://stealthrocket.tech/blog/distributed-coroutines-in-python/
使用 Numba 加快程式碼速度的錯誤方法:
https://pythonspeed.com/articles/slow-numba/
關於最佳化 Django 系統檢查框架:
https://adamj.eu/tech/2024/03/23/django-optimizing-system-checks/
大數定律,為什麽去賭場是個壞主意:
https://easylang.dev/apps/tutorial_mcarlo.html
Python 潮流周刊第一季精華合集(1~30):
https://pythoncat.top/posts/2023-12-11-weekly
mojo:Mojo 程式語言開源了:
https://github.com/modularml/mojo
Suno-API:基於 Python 和 FastAPI 的非官方 Suno API:
https://github.com/SunoAI-API/Suno-API
suno 逆向工程 API:
https://github.com/yihong0618/SunoSongsCreator
blacken-docs:對文件中的 Python 程式碼塊上執行「black」:
https://github.com/adamchainz/blacken-docs
pathvalidate:用於規範化/驗證字串,例如檔名和檔路徑:
https://github.com/thombashi/pathvalidate
LunarLink: 基於HttpRunner + Django + Vue + Element UI 的介面自動化測試平台:
https://github.com/tahitimoon/LunarLink
leaping:輕量級的 Python 測試偵錯程式:
https://github.com/leapingio/leaping
keepyourmouthshut:用 AI 能力錄制播客:
https://github.com/rajtilakjee/keepyourmouthshut
MoneyPrinterTurbo:利用AI大模型,一鍵生成高畫質短視訊:
https://github.com/harry0703/MoneyPrinterTurbo
AIOS:LLM 代理作業系統:
https://github.com/agiresearch/AIOS
LaVague:使用大行動模型框架實作自動化:
https://github.com/lavague-ai/LaVague
Gmeek:一個完全使用 Github 的部落格框架:
https://github.com/Meekdai/Gmeek
posthog:提供開源產品分析、會話錄制、功能標記和 A/B 測試:
https://github.com/PostHog/posthog
devika:Cognition AI 的 Devin 的開源替代品:
https://github.com/stitionai/devika
Python貓:
https://img.pythoncat.top/pythoncat.png
微信公眾號:
https://img.pythoncat.top/python_cat.jpg
部落格:
https://pythoncat.top
RSS:
https://pythoncat.top/rss.xml
信件:
https://pythoncat.substack.com
RSS:
https://pythoncat.substack.com/feed
Github:
https://github.com/chinesehuazhou/python-weekly
Telegram:
https://t.me/pythontrendingweekly
Twitter:
https://twitter.com/chinesehuazhou
如果你覺得本文有幫助
請慷慨 分享 和 點贊 ,感謝啦 !