學(xué)生做兼職哪個網(wǎng)站廣州網(wǎng)站營銷seo
△△請給“Python貓”加星標(biāo)?,以免錯過文章推送
你好,我是貓哥。這里每周分享優(yōu)質(zhì)的 Python、AI 及通用技術(shù)內(nèi)容,大部分為英文。本周刊開源,歡迎投稿[1]。另有電報頻道[2]作為副刊,補(bǔ)充發(fā)布更加豐富的資訊,歡迎關(guān)注。
提醒:本期有贈書活動,詳見文末;春節(jié)期間,本周刊預(yù)計(jì)停更一周,祝大家春節(jié)快樂!
🦄文章&教程
1、使用 Django、Django REST 和 Next.js 構(gòu)建全棧項(xiàng)目[3]
Django 和 Nextjs 是后端和前端開發(fā)中非常強(qiáng)大 Web 框架,這篇教程用 Django 4.2 和 Next.js 13 開發(fā)了一個餐廳菜單管理項(xiàng)目。
2、使用 SQL、Node.js、Django 和 Next.js 構(gòu)建儀表板項(xiàng)目[4]
比上一則分享更為全面的全棧項(xiàng)目教程,除了實(shí)現(xiàn) CURD 操作,還涉及儀表板、表單篩選、Tailwind CSS、不同數(shù)據(jù)庫的使用,以及分別使用 Node.js 和 Django 構(gòu)建后端等內(nèi)容。
3、用 Profila 分析你的 Numba 代碼[5]
Numba 是提升 Python 代碼性能的常見方案。作者開源了一個 Profila[6] 庫,專用于分析 Numba 代碼本身的性能問題,文章介紹了它的使用方法,以及關(guān)于性能分析的三點(diǎn)局限性。
4、Python datetime 標(biāo)準(zhǔn)庫的 10 個陷阱[7]
作者分析了datetime
模塊的 10 個陷阱,同時介紹了主流的三方庫的情況(例如 arrow
、pendulum
、DateType
、heliclockter
),發(fā)現(xiàn)它們大多存在同樣的問題。什么樣才是更好的日期時間庫?作者開源了一個庫,試圖解決文中的問題。
5、使用 Python 糾正語法的 4 種方法[8]
這里的“語法”指的是寫作語法,不是編程語法。文章介紹了language-tool-python
、Gramformer
、Ginger
和 pyaspeller
4 個庫用于檢查和自動糾正語法錯誤。
6、Python 調(diào)試技巧[9]
這是作者在 2023 PyCon Sweden 演講的文字版,分享了他的調(diào)試思維、調(diào)試工具和技術(shù),工具例如snoop
、pdb/ipdb
、PuDB
、web-pdb
、birdseye
、Kolo
等等。
7、調(diào)試 Python 與 C 語言混合的項(xiàng)目[10]
調(diào)試很難,跨多語言調(diào)試更難。文章介紹了如何調(diào)試多語言問題,使用 GDB 來調(diào)試 Python+C 語言,定位和解決死鎖問題,分享了一些調(diào)試的經(jīng)驗(yàn)。
8、分析“使用 Python 和 2MB RAM 對一百萬個 32 位整數(shù)進(jìn)行排序”[11]
Guido 在 2008 年寫了 Sorting a million 32-bit integers in 2MB of RAM using Python[12] ,這篇文章是對它作的分析解讀。解決方案中用到了不太常見的模塊:struct
、array
、heapq
,也用了上下文管理器和生成器等技術(shù)。
9、使用 Python + Pylasu 實(shí)現(xiàn)語言解析器[13]
如何用 Python 開發(fā)一個解析器?這篇教程用Pylasu
定義 AST,使用ANTLR
生成解析器,實(shí)現(xiàn)從 ANTLR 解析樹到 Pylasu AST 的轉(zhuǎn)換,最后構(gòu)建出帶 CLI 的玩具編程語言解析器。
10、動態(tài)規(guī)劃不是黑魔法[14]
動態(tài)規(guī)劃什么編程技術(shù)?相比其它方案,它的特點(diǎn)和優(yōu)勢是什么?文章從常見編程問題出發(fā),使用緩存、優(yōu)化緩存、動態(tài)規(guī)劃逐步深入,揭開動態(tài)規(guī)劃的神秘面紗。
11、什么時候應(yīng)避免靜態(tài)類型檢查?[15]
Python 支持用類型提示,但這并不是強(qiáng)制的。事實(shí)上,有很多情況下并不建議使用類型提示。typing
模塊的這篇文檔列舉了一些不推薦使用類型提示的原因。
12、實(shí)用指南:用 Python 運(yùn)行開源的 LLM[16]
在個人筆記本電腦上如何運(yùn)行大語言模型?這篇教程介紹了在不同操作系統(tǒng)上運(yùn)行llama.cpp
的完整過程,例如選擇和下載模型、提示詞設(shè)置、使用 GBNF 語法格式化 LLM 輸出、流式響應(yīng)、多模態(tài)模型等。
🎁Python潮流周刊🎁每 30 期為一季,第一季的精華內(nèi)容已整理成一篇,方便你隨時查看。在線訪問地址:Python 潮流周刊第一季精華合集(1~30)[17]
🐿?項(xiàng)目&資源
1、excelCPU:用 Excel 實(shí)現(xiàn)的 16 位 CPU 和相關(guān)文件[18]
才發(fā)布一周就已近 3K star 的火爆項(xiàng)目!CPU.xlsx
文件提供了 16 位 CPU、16 個通用寄存器、128KB RAM 和 128x128 顯示區(qū)域。使用 Python 進(jìn)行編譯。(star 3K)
2、whenever:萬無一失的 Python 日期時間[19]
前文提及過的日期時間庫,克服了標(biāo)準(zhǔn)庫和其它三方庫沒有很好解決的一些問題。
3、DeepSeek-Coder:讓代碼自己編寫[20]
它由一系列代碼語言模型組成,每個模型都用 2T token 訓(xùn)練,提供多種型號尺寸,擁有高級代碼補(bǔ)全能力,在各項(xiàng)基準(zhǔn)測試中表現(xiàn)亮眼。(star 4.3K)

與其它模型的基準(zhǔn)測試評分對比
4、fastcrud:FastAPI 的異步 CRUD 操作[21]
特性有:完全異步、SQLAlchemy 2.0、強(qiáng)大的 CRUD、動態(tài)構(gòu)建復(fù)雜查詢、高級 SQL 聯(lián)結(jié)、基于偏移或光標(biāo)的分頁、模塊化可擴(kuò)展、自動生成接口。
5、leptonai:簡化 AI 服務(wù)構(gòu)建的 Pythonic 框架[22]
讓你輕松用 Python 代碼構(gòu)建 AI 服務(wù),主要特性:良好的抽象、僅需幾行代碼即可啟動模型、內(nèi)置常見模型(如 Llama、SDXL、Whisper 等)的示例、自動批處理、后臺任務(wù)等。(star 1.9K)
6、gpt-newspaper:用 GPT 創(chuàng)建個性化報紙[23]
讓 AI 根據(jù)你的個人品味和興趣來策劃選題、撰寫、設(shè)計(jì)和編輯內(nèi)容,由 6 個專業(yè) agent 組成,支持搜索網(wǎng)絡(luò)最新內(nèi)容,聚合知名的新聞源。
7、apprise:幾乎適用于所有平臺的通知推送[24]
純 Python 開發(fā)的輕量型消息推送庫,支持通過大多數(shù)服務(wù)發(fā)送通知,例如 Telegram、Discord、Slack、Amazon SNS、Gotify 等等等,支持短信、郵件、系統(tǒng)桌面等多種形式。(star 9.7K)
8、procrastinate:基于 PostgreSQL 的 Python 任務(wù)隊(duì)列[25]
一個基于 PostgreSQL 的分布式任務(wù)處理庫,提供 Django 集成,易于與 ASGI 框架一起使用。支持異步、周期任務(wù)、重試、任意任務(wù)鎖等功能。
9、flent:靈活的網(wǎng)絡(luò)基準(zhǔn)測試工具[26]
它可以同時運(yùn)行多個 netperf/iperf/ping 實(shí)例并聚合結(jié)果,通過交互式 GUI 和可擴(kuò)展的繪圖功能展示數(shù)據(jù),支持本地和遠(yuǎn)程主機(jī),支持采集 CPU 使用率、WiFi、qdisc 和 TCP 套接字統(tǒng)計(jì)信息等。
10、urllib3:新版本支持在瀏覽器發(fā)起 HTTP 請求[27]
urllib3
發(fā)布了 2.2.0 版本,支持在Pyodide
運(yùn)行時中使用!后者是用在瀏覽器中的 Python 解釋器,也是PyScript
和 Jupyterlite
框架的技術(shù)基礎(chǔ)。這對 Python 的前端開發(fā)有重大作用,未來可期。
11、gnuplotlib:基于 gnuplot 的 numpy 繪圖后端[28]
Gnuplot
是一個強(qiáng)大的開源繪圖工具,用于生成各種類型的二維和三維圖表。這個項(xiàng)目將它與 Numpy 結(jié)合,充分利用數(shù)據(jù)處理和繪圖能力。
12、history_rag:用 RAG 搭建中國歷史問答應(yīng)用[29]
RAG(檢索增強(qiáng)生成)+向量數(shù)據(jù)庫搭建一個中國歷史知識問答應(yīng)用,支持“Milvus方案“(本地)和“Zilliz Cloud Pipelines方案”(云上),提供基于gradio
的 Web UI 界面。默認(rèn)使用 GPT4 模型,可輕松切換其它 LLM。
🐢贈書福利
不定期的福利活動,本期贈書 5 本《AI 繪畫實(shí)戰(zhàn):Midjourney從新手到高手》,開獎時間 2 月 10 日(春節(jié))。請給 Python貓公眾號發(fā)送數(shù)字“8038”,獲取抽獎小程序碼。
這本書介紹了 Midjourney 繪畫的各種使用方法與技巧,從基礎(chǔ)理論到實(shí)戰(zhàn)應(yīng)用,一本書輕松玩轉(zhuǎn)當(dāng)下最火的 AI 繪畫,帶你領(lǐng)略無限藝術(shù)可能。
🐼歡迎訂閱
-
微信公眾號[30]:除更新周刊外,還發(fā)布其它原創(chuàng)作品,并轉(zhuǎn)載一些優(yōu)質(zhì)文章。(可加好友,可加讀者交流群)
-
博客[31] 及 RSS[32]:我的獨(dú)立博客,上面有歷年原創(chuàng)/翻譯的技術(shù)文章,以及從 2009 年以來的一些隨筆。
-
郵件[33] 及 RSS[34]:在 Substack 上開通的頻道,滿足你通過郵件閱讀時事通訊的訴求。
-
Github[35]:你可以獲取本周刊的 Markdown 源文件,做任何想做的事!
-
Telegram[36]:除了發(fā)布周刊的通知外,我將它視為一個“副刊”,補(bǔ)充發(fā)布更加豐富的資訊。
-
Twitter[37]:我的關(guān)注列表里有大量 Python 相關(guān)的開發(fā)者與組織的賬號。
參考資料
[1]
投稿: https://github.com/chinesehuazhou/python-weekly
[2]
電報頻道: https://t.me/pythontrendingweekly
[3]
使用 Django、Django REST 和 Next.js 構(gòu)建全棧項(xiàng)目: https://dev.to/koladev/building-a-fullstack-application-with-django-django-rest-nextjs-3e26
[4]
使用 SQL、Node.js、Django 和 Next.js 構(gòu)建儀表板項(xiàng)目: https://dev.to/andrewbaisden/a-day-in-the-life-of-a-developer-building-a-dashboard-app-with-sql-nodejs-django-and-nextjs-5en7
[5]
用 Profila 分析你的 Numba 代碼: https://pythonspeed.com/articles/numba-profiling/
[6]
Profila: https://github.com/pythonspeed/profila
[7]
Python datetime 標(biāo)準(zhǔn)庫的 10 個陷阱: https://dev.arie.bovenberg.net/blog/python-datetime-pitfalls/
[8]
使用 Python 糾正語法的 4 種方法: https://www.listendata.com/2024/01/4-ways-to-correct-grammar-with-python.html
[9]
Python 調(diào)試技巧: https://www.syntaxerror.tech/syntax-error-11-debugging-python/
[10]
調(diào)試 Python 與 C 語言混合的項(xiàng)目: https://developer.nvidia.com/blog/debugging-mixed-python-and-c-language-stack/
[11]
分析“使用 Python 和 2MB RAM 對一百萬個 32 位整數(shù)進(jìn)行排序”: https://www.bitecode.dev/p/analyzing-sorting-a-million-32-bit
[12]
Sorting a million 32-bit integers in 2MB of RAM using Python: http://neopythonic.blogspot.com/2008/10/sorting-million-32-bit-integers-in-2mb.html
[13]
使用 Python + Pylasu 實(shí)現(xiàn)語言解析器: https://tomassetti.me/implement-parsers-with-pylasu/
[14]
動態(tài)規(guī)劃不是黑魔法: https://qsantos.fr/2024/01/04/dynamic-programming-is-not-black-magic/
[15]
什么時候應(yīng)避免靜態(tài)類型檢查?: https://typing.readthedocs.io/en/latest/source/typing_anti_pitch.html
[16]
實(shí)用指南:用 Python 運(yùn)行開源的 LLM: https://christophergs.com/blog/running-open-source-llms-in-python
[17]
Python 潮流周刊第一季精華合集(1~30): https://pythoncat.top/posts/2023-12-11-weekly
[18]
excelCPU:用 Excel 實(shí)現(xiàn)的 16 位 CPU 和相關(guān)文件: https://github.com/InkboxSoftware/excelCPU
[19]
whenever:萬無一失的 Python 日期時間: https://github.com/ariebovenberg/whenever
[20]
DeepSeek-Coder:讓代碼自己編寫: https://github.com/deepseek-ai/deepseek-coder/
[21]
fastcrud:FastAPI 的異步 CRUD 操作: https://github.com/igorbenav/fastcrud
[22]
leptonai:簡化 AI 服務(wù)構(gòu)建的 Pythonic 框架: https://github.com/leptonai/leptonai
[23]
gpt-newspaper:用 GPT 創(chuàng)建個性化報紙: https://github.com/assafelovic/gpt-newspaper
[24]
apprise:幾乎適用于所有平臺的通知推送: https://github.com/caronc/apprise
[25]
procrastinate:基于 PostgreSQL 的 Python 任務(wù)隊(duì)列: https://github.com/procrastinate-org/procrastinate
[26]
flent:靈活的網(wǎng)絡(luò)基準(zhǔn)測試工具: https://github.com/tohojo/flent
[27]
urllib3:新版本支持在瀏覽器發(fā)起 HTTP 請求: https://github.com/urllib3/urllib3/releases/tag/2.2.0
[28]
gnuplotlib:基于 gnuplot 的 numpy 繪圖后端: https://github.com/dkogan/gnuplotlib
[29]
history_rag:用 RAG 搭建中國歷史問答應(yīng)用: https://github.com/wxywb/history_rag
[30]
微信公眾號: https://img.pythoncat.top/python_cat.jpg
[31]
博客: https://pythoncat.top
[32]
RSS: https://pythoncat.top/rss.xml
[33]
郵件: https://pythoncat.substack.com
[34]
RSS: https://pythoncat.substack.com/feed
[35]
Github: https://github.com/chinesehuazhou/python-weekly
[36]
Telegram: https://t.me/pythontrendingweekly
[37]
Twitter: https://twitter.com/chinesehuazhou
如果你覺得本文有幫助
請慷慨分享和點(diǎn)贊,感謝啦!
?