Python - dotenv 教學
Posted on
在開發 Python 應用程式時,我們經常需要處理一些敏感資訊或設定值,例如 API 金鑰、資料庫密碼、或是不同部署環境(開發、測試、生產)的特定設定。將這些資訊直接寫在程式碼中不僅不安全,也難以管理。
這時候,python-dotenv
這個函式庫就能派上用場了!
Python - 10 is 10 vs 500 is 500
Posted on
在使用 Python 進行程式設計時,可能會觀察到一種特殊的現象:對於特定範圍內的整數,使用 is
運算子比較兩個賦予相同值的變數會返回 True
,而超出該範圍的整數則返回 False
。
具體示例如下:1
2
3
4
5
6
7
8
9>>> a = 10
>>> b = 10
>>> a is b
True # 嗯,合理!
>>> x = 500
>>> y = 500
>>> x is y
False # WTF???
當變數 a
與 b
均被賦值為 10
時,a is b
的評估結果為 True
。然而,當變數 x
與 y
被賦值為 500
時,x is y
的評估結果卻為 False
,儘管其值相等。此現象並非程式錯誤,而是源於 Python 內部的一種最佳化機制。
本文將扼要地闡釋此最佳化機制背後的原理。
SSH key - 從產生、設定到撤銷
Posted on
SSH (Secure Shell) 是我們遠端連線到伺服器的常用工具。相較於每次都輸入密碼,使用 SSH 金鑰對(Key Pair)不僅更安全,也更方便。
這篇文章將引導你完成 SSH 金鑰的產生、將公鑰複製到目標電腦、設定 SSH Config 以簡化連線,以及在金鑰外洩時如何撤銷它。
如何使用 Python 發佈文章到 X/Twitter
Posted on
在現今社交媒體時代,許多內容都可以自動化的產生,再搭配自動化發佈則可以為我們節省大量時間。
本文將介紹如何使用 Python 發布文章到 X/Twitter (以下簡稱為 Twitter,完全沒有要叫 X 的意思),讓各位可以自由地串接自己的內容。
密碼學 - PKCS#7
Posted on
在數位時代,安全通訊是至關重要的,無論是傳送敏感資訊還是驗證網站的真實性,密碼學都扮演著核心角色。其中,PKCS#7(Public-Key Cryptography Standard #7)是一項關鍵標準,定義了如何格式化已簽章或加密的資料。
本文將深入探討 PKCS#7 的功能、運作方式和實際應用,適合對密碼學有基本了解但不熟悉技術細節的讀者。
Docker 容器化技術及其原理
Posted on
在現代軟體開發領域,容器化技術已成為構建、部署和運行應用程式的標準方法。
如果你是即將投入後端相關技術的工程師,了解 Docker 及其底層原理可以在未來的職業生涯中創造競爭優勢。
本文將探討 Docker 的核心概念、底層技術原理以及與傳統虛擬化技術的本質差異。
Padding - 加密中的填充機制
Posted on
想像你正在寄送一箱珍貴的瓷器。為了確保瓷器在運輸過程中的安全,你會用泡棉或其他緩衝材料填滿箱子的空隙。在資料加密的世界裡,Padding(填充)就扮演著類似的角色。
現代加密系統就像一個標準化的包裝箱,它要求所有要加密的資料都必須是固定大小的區塊。然而,現實世界中的資料就像各種不同大小的物品,很少剛好符合這個固定大小。這時候,我們就需要填充機制來補足這些空缺。
本文將介紹不同的填充機制,讓你了解如何在加密中使用Padding,以確保資料的完整性和安全性。
PowerSort - Python 內建排序法
Posted on
在 Python 3.11 版本中,Python 的內建排序演算法從 Timsort 改為 PowerSort 作為預設的 list.sort()
演算法。
而 Python 的參考實作 CPython 以及注重即時編譯的 PyPy 都採用了 PowerSort 作為其預設的排序演算法。表示這個改變是 Python 在排序演算法最佳化方面的重要進展。
本文將介紹 PowerSort 的核心概念,以及採用它的原因。
密碼學 - AES
Posted on
AES (Advanced Encryption Standard) 是目前最廣泛使用的對稱式加密演算法。
在 2001 年由美國國家標準與技術研究院(NIST)正式採用,取代了先前的 DES (Data Encryption Standard),特點是安全性高、運算效率好,且適合硬體實作。
本文將介紹 AES 的基本概念和運作原理,以及在網路安全中的應用。