CodingMan.cc

Code Your True Nature

如果你第一次來,可以看看 熱門文章
或者這裡也有一些你也許會有興趣的 小專案

如果你想聯絡我,你可以在 關於 找到我的聯絡資訊。

很高興在這裡遇見你。

CodingMan 2023.11.18

在開發 Python 程式時,時常會需要確認某個檔案是不是真的存在。

這篇文章會介紹幾種在 Python 中檢查檔案存在與否的方法,說明它們適合用在什麼場合,最後還會進行效能測試。

RSA 是由麻省理工學院的 Ron Rivest、Adi Shamir 和 Leonard Adleman 在 1977 年發表的,名稱就是取自他們三人姓氏的首字母。當時,他們受到了
1976 年 Diffie 和 Hellman 提出的公鑰密碼體制概念的啟發,致力於尋找一種實用的非對稱加密演算法。

PKCS#1 是 RSA 密碼學的一個標準,它定義了 RSA 密碼學中的很多重要概念和演算法,包括 RSA 的金鑰格式、加密和解密過程、簽名和驗證過程等。

本文將介紹 RSA 和 PKCS#1 的基本概念和原理,幫助你更好地理解這兩個重要的密碼學標準。

GitLab Runner 是 GitLab CI/CD 系統的重要組件,用於執行 CI/CD pipeline 中定義的任務。 在持續整合和持續部署(CI/CD)流程中,GitLab Runner 扮演著執行自動化測試、構建和部署的關鍵角色。
通過在 Docker Compose 環境中設定 GitLab Runner,我們可以更靈活地管理和擴展我們的 CI/CD 基礎設施。

本文將詳細介紹如何在現有的 Docker Compose 環境中新增並配置 GitLab Runner。

在密碼學中,ASN.1 (Abstract Syntax Notation One) 是一種用於描述資料結構的標準語法。它廣泛應用於電信、金融、醫療等領域,尤其是在安全協定如SSL/TLS、數位憑證等方面。
ASN.1 定義了多種編碼規則,用於將抽象的資料類型轉換為具體的二進位格式,以便在網路中傳輸或儲存,這個過程稱為序列化。
例如:BER (Basic Encoding Rules)、CER (Canonical Encoding Rules) 和 DER (Distinguished Encoding Rules) 等。

其中,DER (Distinguished Encoding Rules) 在資訊安全領域中被廣泛使用,它是一種更嚴格的 BER 子集,具有唯一性、緊湊性和跨平台等優點。
並可用作描述數位憑證、SSL/TLS 協定、PKCS 標準等安全協定和應用。

本文將介紹 ASN.1 DER 的基本概念、結構和應用,幫助你更好地理解這一重要的編碼規則。

Ubuntu 是目前時下最受歡迎的 Linux 發行版之一,它提供了一個穩定且易於使用的環境,並且支援大量的軟體套件。

本文將會介紹如何在 Mac 上製作 Ubuntu 重灌隨身碟。

巴士因子(Bus factor)一詞起源於西班牙建築大師安東尼·高第(Antoni Gaudí)的事故。高第是20世紀初最具創新精神的建築師之一,他的代表作包括巴塞羅那的聖家堂、古埃爾公園等。

在 1926 年,高第在前往聖家堂的路上,被一輛電車撞倒,最終因傷重不治。而他的離世對聖家堂的建設產生了巨大影響,因為高第是該專案的靈魂人物,很多設計細節只存在於他的腦海中,沒有人知道。
高第的不幸遭遇,啟發人們思考團隊中關鍵人物的重要性。如果一個團隊過度依賴某個人,一旦這個人因意外或其他原因無法繼續工作,整個團隊的運作就會受到嚴重影響。

而「巴士因子」這個概念最早可追朔的記載是 Michael McLay 公開詢問:

如果 Guido van Rossum 被巴士撞到,那 Python 程式語言會發生什麼事?

至此,「巴士因子」這個概念進入了軟體開發領域,用來衡量一個團隊的風險和穩定性。

雲端原生 (Cloud Native) 已經成為應用程式開發的大勢所趨。為了充分發揮雲端的優勢,我們需要對傳統的應用程式進行重構,使其能夠更好地適應雲端環境。

本文將專注探討將應用程式上雲端所需要的重構 (Restructure),包括微服務化、容器化、自動化部署、無狀態設計等。透過這些策略,我們可以將應用程式轉變為雲端原生應用程式,更好地適應雲端環境,提高開發效率和應用程式的可靠性。

給一個軟體工程師的團隊來說,怎麼有效率地管理團隊的文件是非常重要的議題。隨著團隊越來越大,案子也越來越複雜,要怎麼把團隊裡的知識和資訊整理得井井有條,讓大家都能快速找到需要的資訊,是一個值得好好思考的問題。

這篇文章會試著探討團隊文件管理的問題,然後分析現在常用的文件管理工具的優缺點,希望能幫助大家的團隊把文件管理和整理得更好。

在軟體開發的世界中,單體應用程式和微服務是兩種常見的架構風格。而除了這兩個主流的架構風格外,近年來也興起了巨石架構與無服務架構。這四種架構風格各有優缺點,適用於不同的場景。

本文將介紹這四種架構風格的特點,並比較它們之間的差異,希望能幫助讀者更好地理解這四種架構風格,並選擇適合自己的架構風格。