原创 理解 PostgreSQL 的 count 函數的行爲

關於 count 函數的使用一直存在爭議,尤其是在 MySQL 中,作爲流行度越來越高的 PostgreSQL 是否也有類似的問題呢,我們通過實踐來理解一下 PostgreSQL 中 count 函數的行爲。 構建測試數據庫 創建測試數據庫

原创 JWT 避坑指南:nbf 驗籤失效問題的解決

現象 剛簽發的 JWT,在下一個請求使用時候會失效,請求會報 422 錯誤。 { "msg": "The token is not yet valid (nbf)" } 如果隔幾秒再請求(例如使用 Chrome 開發者工具中的 Rep

原创 nginx + ingress + gunicorn 環境上傳大文件報錯問題的解決思路

在基於 Kubernetes 部署,使用 Gunicorn 運行的 Python Web 應用中,上傳大文件時出現了一系列的錯誤,現在將解決問題的思路記錄如下。 文件上傳過程 上傳文件流程 上傳的文件首先到達 Kubernetes 所

原创 Python 日誌庫 logging 的理解和實踐經驗

本文從 Python logging 庫的基礎概念入手,理解 logging 庫的執行流程,以及可能忽視的一些細節。 日誌級別 logging 庫預置了 5 個錯誤級別,還有一個 NOTSET 級別,作爲 logger 的默認值。 CRI

原创 go json轉換實踐中遇到的坑

在使用 go 語言開發過程中,經常需要使用到 json 包來進行 json 和 struct 的互相轉換,這篇文章主要介紹了go json轉換實踐中遇到的坑,非常具有實用價值,需要的朋友可以參考下 在使用 go 語

原创 go json 實踐中遇到的坑

在使用 go 語言開發過程中,經常需要使用到 json 包來進行 json 和 struct 的互相轉換,在使用過程中,遇到了一些需要額外注意的地方,記錄如下。 整數變浮點數問題 假設有一個 Person 結構,其中包含 Age int6

原创 基於 JWT + Refresh Token 的用戶認證實踐

HTTP 是一個無狀態的協議,一次請求結束後,下次在發送服務器就不知道這個請求是誰發來的了(同一個 IP 不代表同一個用戶),在 Web 應用中,用戶的認證和鑑權是非常重要的一環,實踐中有多種可用方案,並且各有千秋。 基於 Session

原创 通過 ngrok 實現 ssh 內網穿透

ngrok 用 ssh 訪問一臺主機,如果和主機在一個局域網中或者主機擁有公網 IP,就可以使用 ssh 命令直接連接主機的 IP 地址,但是大部分公司和家庭內部都是局域網,並不能給局域網內的每一臺主機都分配一個公網 IP,這時候就需要進行

原创 Unicode 和 UTF-8

Unicode 和 UTF-8 的概念是一個非常基礎和重要,但是卻容易被忽略的問題。 字符集 在計算機系統中,所有的數據都以二進制存儲,所有的運算也以二進制表示,人類語言和符號也需要轉化成二進制的形式,才能存儲在計算機中,於是需要有一個從

原创 理解Golang的Time結構

在golang中創建並打印一個時間對象,會看到如下輸出 2018-10-26 14:15:50.306558969 +0800 CST m=+0.000401093 前面表示的意義好理解,分別是年月日和時間時區,最後的m=+

原创 翻譯 | 更快的Python(二)

更快的Python(Python Faster Way)使用代碼示例來說明如何書寫Python代碼能帶來更高的性能。本文對代碼進行了講解,從性能和可讀性等角度來選擇出最適合的寫法。 例子11:字符串連接 最差/

原创 面試不再怕,20行Python代碼幫你搞懂LRU算法

LRU算法在後端工程師面試中,是一個比較常出現的題目,這篇文章帶大家一起,理解LRU算法,並最終用Python輕鬆實現一個基於LRU算法的緩存。緩存是什麼先看一張圖,當我們訪問網頁,瀏覽器會給服務器發請求,服務器會經過一系列的運算,把頁面返

原创 實戰 | Python批量提取Win10鎖屏壁紙

使用Win10的朋友會發現,每次開機鎖屏界面都會有不一樣的漂亮圖片,這些圖片通常選自優秀的攝影作品,十分精美。但是由於系統會自動更換這些圖片,所以就算再好看的圖片,也許下次開機之後就被替換掉了。藉助Python,我們可以用簡單的幾行代碼,批

原创 與面試官談笑風生 | Python面向對象之訪問控制

Python從設計之初就是一門面向對象的語言,面向對象思想的第一個要素就是封裝。所謂封裝,通俗的講就是類中的屬性和方法,分爲公有和私有,公有可以被外界訪問,私有不能被外界訪問,這就是封裝中最關鍵的概念——訪問控制。訪問控制有三種級別:私有、

原创 15行Python代碼,幫你搞懂令牌桶算法

在網絡中傳輸數據時,爲了防止網絡擁塞,需限制流出網絡的流量,使流量以比較均勻的速度向外發送,令牌桶算法就實現了這個功能,可控制發送到網絡上數據的數目,並允許突發數據的發送。什麼是令牌從名字上看令牌桶,大概就是一個裝有令牌的桶吧,那麼什麼是令