Python atexit 模組
最近在看 Elastic APM agent for Python 的原始碼時,看到該專案的開發者有使用 atexit 模組,在 APM agent 關閉前先關閉 metrics collect timer 。
由於對 atexit
不甚熟悉,因此特以此文研究一番。
Posted on Sep 21, 2019 in Python 程式設計 - 初階 by Amo Chen ‐ 2 min read
最近在看 Elastic APM agent for Python 的原始碼時,看到該專案的開發者有使用 atexit 模組,在 APM agent 關閉前先關閉 metrics collect timer 。
由於對 atexit
不甚熟悉,因此特以此文研究一番。
Posted on Sep 21, 2019 in Python 程式設計 - 初階 by Amo Chen ‐ 2 min read
引用自 Google Sheets VLOOKUP HLOOKUP MATCH 範例解說 Google 試算表(Spreadsheets) 是個好工具,內建不少跟 Excel 相似的函數能夠使用,所以會一點 EXCEL 的人都能夠輕鬆上手。如果用來取代 Excel 應該是問題不大,因此我也常常會推薦使用 Google Spreadsheets 統計數據、製作表單等等。
在試算表中,如果 A 工作表的儲存格想要關聯至 B 工作表的儲存格,公式為
=B工作表名稱!儲存格名稱
如果你要使用公式來抓工作表名稱,就必須藉助 INDIRECT 函數來將字串轉換為位址。
Posted on Aug 18, 2019 in Google 試算表 by Amo Chen ‐ 1 min read
在產品開發時,有時候會有將所有的資料表進行清空的需求,如果是用 SQLAlchemy 清空單一資料表也很簡單,但如果在多個資料表都有用到 FOREIGN KEY 就很容易遇到 IntegrityError
,原因在於如果有其他紀錄(record)關聯到程式正在刪除的紀錄(record)時,就會導致那些紀錄違反 FOREIGN KEY Constraint
無法刪除成功。
本篇記錄如何忽視 FOREIGN KEY Constraint
強制刪除所有資料表。
Posted on Aug 4, 2019 in Python 模組/套件推薦 by Amo Chen ‐ 2 min read
隨著資訊安全越來越受重視,也越來越多網站鼓勵用戶啟用 2FA(two-factor authentication) 或 MFA(multi-factor authentication) 以增加帳號的安全性。
而這些網站通常都會推薦用戶使用 Google Authenticator 作為 2FA / MFA 的 APP 。
因此對於開發者而言,如果要實作 2FA / MFA 功能,只要有能夠同時滿足產生 One-Time Password 與方便整合 Google Authenticator 的套件,就是最幸福的事!
如果你是 Python 的開發者,那麼推薦你使用 pyotp !
Posted on Jul 27, 2019 in Python 模組/套件推薦 by Amo Chen ‐ 3 min read
Python 雖然有為 datetime 模組提供方便的 timestamp() 方法,但仍有需要注意的地方,否則將會導致我們拿到錯誤的時間戳(timestamp),衍伸出不必要的麻煩。
Posted on Jul 27, 2019 in Python 程式設計 - 初階 by Amo Chen ‐ 1 min read
本文記錄幾種與 SELECT DISTINCT
相同作用的 SQLAlchemy 寫法。
Posted on Jul 12, 2019 in Python 模組/套件推薦 by Amo Chen ‐ 1 min read
pre-commit 是一套相當方便的 Git pre-commit hooks 工具,除了內建不少好用的程式碼檢查工具之外,也同時支援 Python, Ruby, Swift, Go, Nodejs 等熱門程式語言,更能夠利用其框架(framework)針對自己的需求開發 pre-commit hooks 。
這麼好用的工具怎能不裝來使用呢!
一起利用 pre-commit 改善我們的程式碼品質吧!
Last updated on Jul 20, 2024 in 開發工具 by Amo Chen ‐ 2 min read
Connection Pool 是資料庫連線管理的機制,用來節省資料庫連線的成本,達到較高的資源利用效益。 Connection Pool 會事先與資料庫一次建立多個連線(connection),並維持住這些連線,每當應用程式(Application)需要操作資料庫時,就會從 Connection Pool 中提供(checkout)連線給應用程式使用。
但是資料庫連線也有斷線的可能,那麼要如何確保從 Connection Pool 取得的連線是可用的呢?
其中一種確定連線可用的機制就是 Pre-ping 。
本文就來談談 Pre-ping 與 SQLAlchemy 的 Pre-ping 如何設定。
Posted on Jun 5, 2019 in Python 模組/套件推薦 by Amo Chen ‐ 2 min read