文章
過往我所寫過的文章。
一個有創意的檔案切割演算法
Published: 約 11 分鐘版本控制與檔案同步軟體其中一個重要功能:讓來源(source)檔案的內容跟目標(target)檔案內容相同。直覺來說,最簡單的方式:將來源檔案複製(copy)到目標檔案。不過這種做法,對於像是同一個檔案的不同版本的同步,會耗用太多不必要的頻寬與儲存空間之外,時間往往也是個造成這種方式不實際的因素之一。那有沒有更有效的作法呢?
Python 的 SHA-256 以及 AES-256 CBC 程式範例
Published: 約 7 分鐘在 「Dropbox 做到資料加密又避免重複儲存的秘密」 這篇文章中,有提到使用 AES-256 對稱式加密,以及 SHA-256 雜湊演算法, 本文山姆鍋提供這兩者在 Python 的應用範例作為補充。
Dropbox 做到資料加密又避免重複儲存的秘密
Published: 約 8 分鐘Dropbox 是一個很受歡迎的雲端資料儲存與備份服務,從使用者的角度,它真的很方便,有些很大的檔案往往也能很快就能完成上載。 但您想過它為什麼可以做到這樣快速上傳,背後的技術原理是什麼?對於您的資料安全與個人隱私又有什麼影響? 山姆鍋根據自己的了解,為您解釋 Dropbox 到底是如何運作的。
很酷的糾刪碼(erasure code)技術
Published: 約 8 分鐘很早之前在寫 QR Code 解碼器的時候就接觸過「糾刪碼」(erasure code)這種技術, 因為 QR Code 有使用到 Reed--Solomon error correction。雖然知道是數學的運算結果,但至今還是對它的功用感到很神奇!背後的編碼理論已經超過山姆鍋的理解範圍,但撇除背後的數學理論,身為工程師要如何理解糾刪碼,以及作何應用呢?
使用 PyInstaller 打包 PySide 應用程式
Published: 約 7 分鐘使用 PySide 開發桌面應用,雖然開發方便,但總不能直接將程式碼給使用者,要他們裝這個套件,裝那個程式庫的。 本文山姆鍋介紹如何使用 PyInstaller 這個工具來打包 PySide 開發的桌面應用程式。