Python 模組/套件推薦

用 Bandit 靜態掃描工具,掃描 Python 專案中的安全性問題

這陣子看了 10 common security gotchas in Python and how to avoid them , 該文章主要介紹幾種撰寫 Python 程式時需注意的安全問題,例如處理來自外部的 XML, YAML 檔案等可能會面臨的安全性問題,相當值得一讀,保證精彩。

該文的最後也介紹一款 Python 的靜態掃描工具 Bandit , 幫助我們找出程式內可能的漏洞或問題。

Last updated on  Apr 16, 2024  in  Python 模組/套件推薦 , Python 資訊安全  by  Amo Chen  ‐ 2 min read

SQLAlchemy ORM IN / NOT IN 範例

SQLAlchemy 是 Python 生態系中相當成熟的 ORM(Object Relational Mapper) 套件,不過也因為支援相當多功能,所以經常要翻閱文件查詢 SQL 中相應的功能要如何撰寫。

本篇紀錄如何使用 SQLAlchemy 撰寫含有 INNOT IN 語句的 ORM.

Posted on  Mar 24, 2019  in  Python 模組/套件推薦  by  Amo Chen  ‐ 2 min read

Python 用 Click 模組製作好用的指令

Python 作為一個成熟的腳本語言(scripting langage),已經發展相當多方便地模組、套件供開發者們使用,得益於其方便性與易用性, Python 也十分適合用來撰寫命令列(command line)工具,幫忙解決日常工作或生活上瑣事的自動化。

本文將介紹 Click 模組,讓開發者們能夠更方便地製作命令列工具。

學會 Click 後就能將各種製作指令的瑣事交給它 ,將能夠更專注於主要功能的開發!

Last updated on  Feb 13, 2024  in  Python 模組/套件推薦  by  Amo Chen  ‐ 5 min read

SQLAlchemy - 用 Mixin / Custom Base Classes 撰寫好維護的 ORM

越是使用 SQLAlchemy 就會越是發現 SQLAlchemy 在 Python ORM 的用心,例如 Mixin and Custom Base Classes 讓我們能夠將常見的資料庫欄位或者功能放在一起,變成 Mixin 類別(class) ,只要繼承該 Mixin 就能夠獲得相同的欄位與功能,減少重複的程式並提高可維護性( Djano 的 view 也有類似的作法,詳見 Using mixins with class-based views )。

Posted on  Dec 8, 2018  in  Python 模組/套件推薦  by  Amo Chen  ‐ 1 min read

Python - JWT (JSON Web Token)

JWT(JSON Web Token) 是 RFC 7519 定義的一套標準,用以確保應用(application)之間傳遞訊息的安全性與完整性(integrity)。 JWT 常常與傳統的 Cookie/Session 技術一起被比較,然而這些技術是為了解決不同問題所發明的,也有各自的優缺點與特別合適的應用場景,沒有誰優誰劣的絕對定論。

目前實務上也越來越多應用會利用 JWT 傳遞資料,譬如 APP 在使用者登入時透過 JWT 取得常用的「非機敏性資料」(例如,暱稱、語系設定等等),並且儲存在裝置內,以減少詢問伺服器的次數,達到節省伺服器資源與增加下一次 APP 啟動速度的效果,運用得當的話也是一個加分的技術。

至於為什麼特別強調「非機敏性資料」,本文稍後將作解釋,先一起透過 Python 學習 JWT 相關的概念與使用吧!

Posted on  Dec 1, 2018  in  Python 模組/套件推薦  by  Amo Chen  ‐ 3 min read

Python module - phonenumbers 電話號碼格式驗證

如果 Java, C++, Javascript 開發者想驗證各個不同國家電話號碼的格式與正確性的話,可以利用 Google 所開源的 libphonenumber ,著實省去很多苦工。如果是使用 Python 的開發者則可以安裝模組 phonenumbers 做到一樣的事情,該 module 是由 daviddrysdale 佛心將 Google libphonenumbers 移植到 Python 供大家使用,我每次使用時都心懷感激!

本文將介紹:

  1. E.164 電話號碼格式
  2. 用 phonenumbers 驗證電話號碼
  3. 用 phonenumbers 擷取電話號碼資訊

Posted on  Sep 29, 2018  in  Python 模組/套件推薦  by  Amo Chen  ‐ 2 min read