原创 Python 異步編程之yield關鍵字

背景介紹 在前面的篇章中介紹了同步和異步在IO上的對比,從本篇開始探究python中異步的實現方法和原理。 python協程的發展流程: python2.5 爲生成器引用.send()、.throw()、.close()方法 pytho

原创 《微習慣》一種養成習慣的有效方法

微習慣是什麼 生活經驗告訴我們,沒有結果產出,哪怕我們有再大的決心去幹一些事,也是毫無意義和價值的。而我們在日常生活中,無論是準備一件事,還是制定計劃時,總會習慣性地高估自己的自控力。因此,導致我們的目標偏高,這樣Flag✊剛立幾天,可能

原创 Streamlit 快速構建交互式頁面的python庫

基礎介紹 streamlit 是什麼 Streamlit是一個面向機器學習和數據科學團隊的開源應用程序框架,通過它可以用python代碼方便快捷的構建交互式前端頁面。streamlit特別適合結合大模型快速的構建一些對話式的應用,可以看到

原创 Python異步編程併發比較之循環、進程、線程、協程

服務端 現在有一個api接口 http://127.0.0.1:18081/hello 批量請求該接口,該接口中有一個5s的阻塞。使用循環,多進程,多線程,協程等四種方式,一共請求10次,比較總的請求耗時。 import time fro

原创 《技術人員修煉之道》 讀書筆記

金句摘要: 認知決定天花板,行動決定地平線。知行合一,方能立足天地間 學習不是單行道,適當的返回也是可以排憂解難的 越希望結果完美,離完成就越遠 方法會比努力更重要 不要追求大而全,應該追求小而美。 高考就是因爲想要全部覆蓋,最終沒有解

原创 peewee update和save性能分析

背景 python項目中使用了peewee這款orm框架,在對數據庫更新時有兩種語法,分別是save和update方法。有同事說從peewee的日誌來看,update比save更快,於是做了一個簡單的比較實驗,看看真實情況如何。 基礎環境

原创 peewee 操作 sqlite 鎖表問題分析

在使用python orm 框架 peewee 操作數據庫時時常會拋出以一個異常,具體的報錯就是 database is locked 初步瞭解是因爲sqlite鎖的顆粒度比較大,是庫鎖。當一個連接在寫數據庫時,另一個連接在想要寫任意一張

原创 selenium 開源UI測試工具

簡介 selenium是一個用於Web應用程序測試的工具。selenium測試直接運行於瀏覽器網頁上,可以模擬用戶操作網頁。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google

原创 subprocess Python執行系統命令最優選模塊

簡介 subprocess 是 Python 中執行操作系統級別的命令的模塊,所謂系級級別的命令就是如ls /etc/user ifconfig 等和操作系統有關的命令。 subprocess 創建子進程來執行相關命令,並連接它們的輸入

原创 requests Python中最好用的網絡請求工具 基礎速記+最佳實踐

簡介 requests 模塊是寫python腳本使用頻率最高的模塊之一。很多人寫python第一個使用的模塊就是requests,因爲它可以做網絡爬蟲。不僅寫爬蟲方便,在日常的開發中更是少不了requests的使用。如調用後端接口,上傳文

原创 Python異步編程之web框架 異步vs同步 Redis併發對比

測試基本信息 主題:比較異步框架和同步框架在RedisIO操作的性能差異 python版本:python 3.8 數據庫:redis 5.0.7 壓測工具:locust web框架:同步:flask 異步:starlette 請求併發

原创 Python異步編程之web框架 異步vs同步 數據庫IO任務併發支持對比

測試基本信息 主題:比較異步框架和同步框架在數據庫IO操作的性能差異 python版本:python 3.8 數據庫:mysql 8.0.27 (docker部署) 壓測工具:locust web框架:同步:flask 異步:star

原创 Python異步編程之web框架 異步vs同步 文件IO任務壓測對比

測試基本信息 主題:比較異步框架和同步框架在文件IO操作的性能差異 python版本:python 3.8 壓測工具:locust web框架:同步:flask 異步:aiohttp、starlette 異步文件模塊:aiofiles

原创 Python異步編程之web框架異步vs同步 無IO任務壓測對比

前言 在python編程中,通過協程實現的異步編程號稱能夠提高IO密集型任務的併發量。本系列比較web服務器同步框架和異步框架的性能差異,包括無IO接口和常見IO操作,如文件、mysql、redis等。使用壓測工具locust測試相同條件

原创 Redis 高級特性 Redis Stream使用

Redis Stream 簡介 Redis Stream 是 Redis 5.0 版本新增加的數據結構。 Stream從字面上看是流類型,但其實從功能上看,應該是Redis對消息隊列(MQ,Message Queue)的完善實現。下文稱S