Python潮流周刊#2:Rust 讓 Python 再次偉大

来源:https://www.cnblogs.com/pythonista/archive/2023/05/20/17417690.html
-Advertisement-
Play Games

前言: 最近生產環境系統發現一個疑難雜症,看了很久的問題但是始終無法定位到問題並處理,然後查閱了相關資料也是定位不到問題,不過資料查閱卻給了個新的思路,以此為跳板最終解決了問題。 一、問題描述 功能介紹: “主計劃拆分子計劃”是APS系統很常見的功能,功能大概意思是用戶可選多個主計劃一次性進行“展開 ...


這裡記錄每周值得分享的 Python 及通用技術內容,部分為英文,已在小標題註明。(本期標題取自其中一則分享,不代表全部內容都是該主題,特此聲明。)

文章&教程

1、Python修飾器的函數式編程

介紹了裝飾器的實現原理、帶參裝飾器、多裝飾器、類裝飾器和幾個典型的示例。文章發佈於 2014 年,代碼用的還是 Python 2。之所以分享這篇文章,因為它是左耳朵耗子唯一以 Python 為話題的文章,而且寫得詳細到位。

2、asyncio 的一些高級用法

出自我們的老朋友@古明地覺 的新系列《asyncio 系列》,半個月內已連載 14 篇。真想問問他是如何做到如此高產又高質量的?!文章回答了:如何設計既能接收協程又能接收普通 Python 函數的 API,如何強制事件迴圈的迭代,如何在不傳遞參數的情況下在任務之間傳遞狀態……

3、Nginx+uWSGI 部署 Django 以及負載均衡操作

介紹了 uWSGI 和 Nginx 的配置,實現對 Django 服務的反向代理及負載均衡。該文出自仍在連載的《Django 系列》,目前該系列包含 44 篇文章,能作為系統學習 Django 的參考材料。

4、Rye:一個實驗性質的Python包管理系統

Python 目前的包管理工具多得讓人眼花繚亂,而 Conda 和操作系統的包管理器也存在諸多問題(本周刊第一期就有兩則相關內容)。Flask 作者 Armin Ronacher 用 Rust 開發的 rye,借鑒了 Rust 包管理的經驗,試圖提供一個標準化的解決方案。這篇文章介紹了 rye 的安裝及使用。

5、PyInstaller:將你的Python代碼打包成獨立應用程式

PyInstaller 可將 Python 程式打包為一個可執行文件,支持多個平臺如 Windows、Mac 和 Linux。這是一篇簡單清晰的使用教程,除了基礎介紹外,難得的是它還介紹了兩種打包方式的優缺點,以及打包後常見的 5 個問題。

6、如何在 Python 中實現真正的多線程(英文)

Python 3.12 即將推出“Per-Interpreter GIL(PEP-684)”特性,它允許 Python 實現真正的並行處理。代碼雖然已在 alpha 版本中,但目前只能通過 C-API 使用。文章使用 CPython 的test 模塊演示了子解釋器的示例。

7、GIL vs. nogil: 改動一行代碼,提升十倍 I/O 性能(英文)

nogil 項目是另一個試圖實現真正多線程的方案,這篇文章測試發現 CPython 3.9-nogil 在單文件和多文件的情況下,比未修改的 CPython 3.9 分別快 2.5 倍和 10 倍。nogil 項目最新的進展是形成了正式的 PEP-703,相關介紹在此

8、如何在 PyCharm 中創建一個密碼生成器?(英文)

PyCharm 官方推出的文章教程,指導在 PyCharm 中創建項目、導入包、使用 Typer 庫創建 CLI 應用、運行和調試代碼、創建和編輯運行配置,適合於新人學習練手。另外,PyCharm 2023.1.2 版本剛剛發佈,可以去嘗鮮!

9、Python 元類教程(帶示例)(英文)

在 Python 中,一切都是對象,包括。元類是 Python 的一項強大功能,允許你在運行時動態地創建類(實際是創建一個type 類型的對象)。文章探討元類的基礎知識,以及更高級的功能和示例。

10、當在終端輸入“ls”後會發生什麼?(英文)

有一道很常見的面試題:“當在瀏覽器輸入 google.com 後會發生什麼?”由於見得多了,每個人都能回答個一二,但是,經常跟終端打交道的我們,能否回答這個問題呢:當在終端輸入命令後會發生什麼?文章主要介紹了終端的歷史、啟動過程、命令的解析和執行過程。

項目&資源

1、WingetUI:更好用的包管理器 UI(英文)

該項目的目標是為 Win 10-11 中最常見的 CLI 包管理器(如 Winget、Scoop 和 Chocolatey)創建一個直觀的 GUI。已支持軟體包的安裝、更新和卸載、排隊安裝、消息通知、黑暗模式、導入/導出等功能。

2、pandas-ai:支持 AI 功能的 Pandas(英文)

Pandas 無疑是目前最流行的數據分析和處理工具,當它結合了生成式 AI 的能力後,會不會更好用呢?答案似乎是的!pandasai 項目支持用文字的方式操作 Pandas 的數據對象,可簡化很多 Pandas 庫的操作。

3、promptulate:一個強大的 LLM Prompt Layer 框架

一個專為 Prompt Engineer 設計的 LLM Prompt Layer 框架,支持連續對話、角色預設、對話存儲、工具擴展等功能,可以無需代理直接訪問,開箱即用。 通過 promptulate,你可以輕鬆構建起屬於自己的 GPT 應用程式。

4、MicroPython:面向微控制器和嵌入式系統的 Python(英文)

MicroPython 新發佈了 1.20 版本,引入了一個新的輕量級包管理器,減小了代碼大小,並增加了對許多新板的支持。另外,LWN 的這篇文章對此版本做了介紹,文章還提到 Anaconda 有可能在 Q2 將 PyScript 的運行時從 Pyodide 替換為 MicroPython。

5、DB-GPT:以資料庫為基礎的 GPT 實驗項目

使用本地化的 GPT 大模型與你的數據和環境交互,無數據泄露風險,100% 私密,100% 安全。基於 FastChat 構建大模型運行環境,並提供 vicuna 作為基礎的大語言模型,通過 LangChain 提供私域知識庫問答能力,支持插件模式,在設計上原生支持 Auto-GPT 插件。

播客&視頻

1、Ep 40. Rust 和 PyO3:讓 Python 再次偉大

斷更許久的《捕蛇者說》播客回歸了!本期的嘉賓是 PyO3 項目的維護者,他的另一個身份是 wechatpy 的作者。Rust 和 PyO3 項目能放大 Python 的優勢,並能改造 Python 的應用生態。我們曾推薦過性能最快的代碼分析工具 Ruff,另外 Flask 作者新開發的包管理工具 rye,它們都是 Rust 與 Python 結合的產物。(題外話:看到了捕蛇者說的三位主播發推/發博緬懷左耳朵耗子,想不到他對 Python 圈子有這麼多淵源。R.I.P)

2、Talk Python to Me #415: Future of Pydantic and FastAPI(英文)

Pydantic 2.0 使用 Rust 重寫了核心及頂層的代碼,將對構建在其之上的庫產生積極的影響,比如 FastAPI。播客邀請了 Pydantic 的 Samuel Colvin 以及 FastAPI 的 Sebastián Ramírez 一起採訪,話題度很新!

3、再訪《流暢的 Python》作者 Luciano Ramalho(英文)

我在上個月推薦過新上市的《流暢的 Python》中文第二版(鏈接),這裡補充兩則相關材料。這期播客來自 thoughtworks,是在《Fluent Python》英文第二版上市前的訪談,介紹了關於 Python 發展、不同語言的對比、新書的變化等。另外,他們還在 2020 年新書寫作期間錄了一期“The future of Python”,兩期播客都有完整的文字稿。

4、最常用的七種分散式系統模式(英文)

一則簡短的科普視頻,介紹了七種分散式系統模式:Ambassador、Circuit Breaker、CQRS、Event Sourcing、Leader Election、Publisher/Subscriber、Sharding。視頻中的動畫和圖例都非常直觀和舒適,讓人賞心悅目。

問題&討論

1、作為程式員,有什麼提升生活/工作體驗的 App、硬體、服務?

V2ex 上的一個帖子,大家對這樣的話題似乎很有發言欲。我在此最想推薦的 APP 是 Feedly 和 Substack,用於閱讀 RSS 和 Newsletter。Feedly 對本周刊的素材採集幫助極大!(心愿:依靠讀者的打賞,讓我用上 Feedly Pro+ 的 AI 功能!)

2、rye 應該存在麽?(英文)

前文已提到過 rye,那麼,mitsuhiko 是出於什麼考慮而開發了它呢?它想解決什麼樣的問題,想打造出一款什麼樣的工具呢?Python 官方對包管理會有什麼發展支持呢?Github 上的這個問題引起了廣泛的討論。

3、你是怎樣開始程式員職業生涯的?

V2ex 上的帖子,樓主分享了自己從讀書到就業前幾年的故事,評論區有不少人分享了自己的經歷。你是如何開始自己的程式員之路的呢?

贊助&支持

內容創作不易,如果你覺得有幫助,請隨意贊賞買杯咖啡或在愛發電進行支持!

另誠邀廣告主,歡迎通過私信聯繫。

關於周刊

Python 潮流周刊,精心篩選國內外的 200+ 信息源,為你挑選最值得分享的文章、教程、開源項目、軟體工具、播客和視頻、熱門話題等內容。願景:幫助所有讀者精進 Python 技術,並增長職業和副業的收入。

訂閱方式:Python貓 | RSS | 郵件 | Github


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、XSS攻擊 全稱跨站腳本攻擊,簡稱XSS攻擊,攻擊者通過在目標網站上HTML註入篡改網頁來插入惡意腳本, 當用戶在瀏覽網頁時獲取用戶的cookie等敏感信息,進一步做一些其他危害的操作。 根據攻擊的來源,該攻擊還可以分為: 1)存儲型攻擊:一般是在有評論功能的網站將惡意代碼當作評論內容存儲到服務 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 一、導出靜態數據 1、安裝 vue-json-excel npm i vue-json-excel 註意,此插件對node有版本要求,安裝失敗檢查一下報錯是否由於node版本造成! 2、引入並註冊組件(以全局為例) import Vue ...
  • **本文為千鋒資深前端教學老師帶來的【JavaScript全解析】系列,文章內含豐富的代碼案例及配圖,從0到1講解JavaScript相關知識點,致力於教會每一個人學會JS!** **文末有本文重點總結,可以收藏慢慢看\~ 更多技術類內容,主頁關註一波!** # ES6函數中參數的預設值 給函數的形 ...
  • 一.業務描述 最近在負責公司一個語音的微服務模塊優化,這個模塊主要的業務是:1.天貓精靈、小度、若琪、小京魚、小愛同學、思必馳這些第三方音響對我們的用戶進行oauth2/JWT授權; 2.這些第三方音響服務調用我們的設備發現介面對公司的設備信息在第三方平臺進行一個存儲;3.第三方平臺對用戶發出的語音 ...
  • 關於JWT,可以說是分散式系統下的一個利器,我在我的很多項目實踐中,認證系統的第一選擇都是JWT。它的優勢會讓你欲罷不能,就像你領優惠券一樣。 ...
  • ## 創建阻塞的 EchoClient 客戶程式一般不需要同時建立與伺服器的多個連接,因此用一個線程,按照阻塞模式運行就能滿足需求 ```java public class EchoClient { private SocketChannel socketChannel = null; public ...
  • ## 1. 安裝Django 在命令行中輸入以下命令安裝Django ```shell pip install django ``` ## 2. 創建Django項目 在命令行中輸入以下命令創建一個名為myblog的Django項目 ```shell django-admin startprojec ...
  • ## 文章首發 [【重學C++】01| C++ 如何進行記憶體資源管理?](https://mp.weixin.qq.com/s/ZhRhN07wjypnkWXcu_Lz3g) ## 前言 大家好,我是只講技術乾貨的會玩code,今天是【重學C++】的第一講,我們來學習下C++的記憶體管理。 與java ...
一周排行
    -Advertisement-
    Play Games
  • 前言 插件化的需求主要源於對軟體架構靈活性的追求,特別是在開發大型、複雜或需要不斷更新的軟體系統時,插件化可以提高軟體系統的可擴展性、可定製性、隔離性、安全性、可維護性、模塊化、易於升級和更新以及支持第三方開發等方面的能力,從而滿足不斷變化的業務需求和技術挑戰。 一、插件化探索 在WPF中我們想要開 ...
  • 歡迎ReaLTaiizor是一個用戶友好的、以設計為中心的.NET WinForms項目控制項庫,包含廣泛的組件。您可以使用不同的主題選項對項目進行個性化設置,並自定義用戶控制項,以使您的應用程式更加專業。 項目地址:https://github.com/Taiizor/ReaLTaiizor 步驟1: ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • Channel 是乾什麼的 The System.Threading.Channels namespace provides a set of synchronization data structures for passing data between producers and consume ...
  • efcore如何優雅的實現按年分庫按月分表 介紹 本文ShardinfCore版本 本期主角: ShardingCore 一款ef-core下高性能、輕量級針對分表分庫讀寫分離的解決方案,具有零依賴、零學習成本、零業務代碼入侵適配 距離上次發文.net相關的已經有很久了,期間一直在從事java相關的 ...
  • 前言 Spacesniffer 是一個免費的文件掃描工具,通過使用樹狀圖可視化佈局,可以立即瞭解大文件夾的位置,幫助用戶處理找到這些文件夾 當前系統C盤空間 清理後系統C盤空間 下載 Spacesniffer 下載地址:https://spacesniffer.en.softonic.com/dow ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • 一、ReZero簡介 ReZero是一款.NET中間件 : 全網唯一開源界面操作就能生成API , 可以集成到任何.NET6+ API項目,無破壞性,也可讓非.NET用戶使用exe文件 免費開源:MIT最寬鬆協議 , 一直從事開源事業十年,一直堅持開源 1.1 純ReZero開發 適合.Net Co ...
  • 一:背景 1. 講故事 停了一個月沒有更新文章了,主要是忙於寫 C#內功修煉系列的PPT,現在基本上接近尾聲,可以回頭繼續更新這段時間分析dump的一些事故報告,有朋友微信上找到我,說他們的系統出現了大量的http超時,程式不響應處理了,讓我幫忙看下怎麼回事,dump也抓到了。 二:WinDbg分析 ...
  • 開始做項目管理了(本人3年java,來到這邊之後真沒想到...),天天開會溝通整理需求,他們講話的時候忙裡偷閑整理一下常用的方法,其實語言還是有共通性的,基本上看到方法名就大概能猜出來用法。出去打水的時候看到外面太陽好好,真想在外面坐著曬太陽,回來的時候好兄弟三年前送給我的鍵盤D鍵不靈了,在打"等待 ...