原创 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

原创 esp8266 水墨屏顯示中文之全量字庫

https://gitee.com/CHN_ZC/u8g2_wqy 項目中可以顯示的中文字體有如下,以gb2312結尾的都是能夠顯示所有漢字的。 但是這些字體的容量都比較大,可能esp8266裝不小,編譯過程會報錯: 原因是因爲使用原版

原创 esp8266 水墨屏顯示中文之簡單字庫

esp8266 驅動水墨屏顯示中文,假設在此之前已經安裝好arduino,配置好esp8266的開發環境。水墨屏顯示中文的步驟如下: 一、下載庫 安裝esp8266需要的庫文件: GxEPD2 屏幕驅動庫 U8g2_for_Adafru

原创 esp8266 水墨屏顯示中文之大號字體

想要顯示更大的字體,操作流程如下: 一、下載ESP8266文字顯示相關庫 鏈接: https://pan.baidu.com/s/1q9m0K2_egAmiMmD5IBfQ4Q 提取碼: wtr2 二、拷貝字體文件到工程中 在字庫製作->