很早之前在寫 QR Code 解碼器的時候就接觸過「糾刪碼」(erasure code) 這種技術, 因為 QR Code 有使用到 Reed–Solomon error correction 。雖然知道是數學的運算結果,但至今還是對它的功用感到很神奇!背後的編碼理論已經超過山姆鍋的理解範圍,但撇除背後的數學理論,身為工程師要如何理解糾刪碼,以及作何應用呢?
閱讀全文使用 PySide 開發桌面應用,雖然開發方便,但總不能直接將程式碼給使用者,要他們裝這個套件,裝那個程式庫的。 本文山姆鍋介紹如何使用 PyInstaller 這個工具來打包 PySide 開發的桌面應用程式。
閱讀全文系統托盤圖示 (system tray icon) 通常用來在桌面應用程式最小化後,不希望在任務列 (task
bar) 出現時,提供一個簡單跟使用者互動的介面。 透過這樣的用戶介面,應用程式可以在有重要事件發生時,即時通知用戶。因此,系統托盤圖示常被諸如「郵件檢查」、「股票報價」等不需要複雜介面的桌面應用所使用。本文山姆鍋說明 Python 如何使用 PySide 來實現一個跨平台 (cross-platform) 的系統托盤圖示應用程式。
不久前,山姆鍋開始學習 Django 這套 Web 應用框架,在不跳脫它既有有框架的情況下,運用它可以快速建構應用程式原型。差不多同一時間,也找到 Test-driven Development with Python 這本好書,書名雖然好像跟 Django 無關,但書中的範例程式是以 Django 為基礎。 可惜,本文不是要示範如何使用 Django 做功能測試,這個主題網路有許多文章可以參考。山姆鍋在使用 Django 的 LiveServerTestCase 時 發現資料庫的資料在第一個測試案例 (test case) 之後就會被清除,導致後續的測試無法正常運作。
閱讀全文從現在來看,QR Code 的使用算是很普遍,例如用來產生網頁文章的超連結、Bitcoin 的位址等等。不管目的是什麼,產生 QR Code 已經是常有的需求。 本文山姆鍋分享如何使用 Python 的 qrcode 套件來產生 PySide 可以顯示的 QR Code 圖檔。
閱讀全文山姆鍋喜歡文章至少有張圖檔,沒有特別相關的主題的話,也希望可以顯示一張預設的圖。為了設定這個圖檔,文章的標頭資料 (metadata) 中, 我使用 ‘image’
這個標頭來表示圖檔相對路徑。在樣板主題 (theme) 中,如果有這個標頭就插入該圖檔,否則就使用預設圖檔。 如果在每個樣板需要插入這個圖檔的樣板或者 RSS 中,都需要做這樣的判斷,就有點麻煩。本文山姆鍋介紹使用簡單的插件,來插入這個預設標頭, 確保所有文章都會有這個標頭存在。
Tipue search 是一個 Javascript 程式庫,可以在客戶端進行資料搜尋,對於像本站一樣的靜態網站,是一個可行的選擇。 山姆鍋為了讓網站內容可以快取在客戶端,使用了 HTML5 application cache 的技術。透過這樣的技術,網站大部份內容都可以離線觀看,但是卻發現 Tipue search 無法在離線狀態下運作。
閱讀全文雖然已經很久沒寫文章,但為了以後需要,還是先設定好這個網站,同時也更換 Octopress 為 Pelican。由於荒廢了 Octopress 有一段時間, 加上又決定使用 Python 作為寫程式的主要語言之一,改成 Python 的解決方案,似乎也是合情合理。過程中,也嘗試過 Hyde] 以及 Nicola] ,但覺得要達到自己的需求,好像缺少一些東西。在停滯一段時間後,決定重新好好整頓一下!
閱讀全文「影化身科技」的後台的技術框架中,針對 Web 應用 / 服務,採用的是 Flask 這套應用框架。您也許會疑問:為什麼不使用較流行的 Django? 甚至為什麼選擇 Python?山姆鍋在這篇文章會分享當初做這樣的決策的主要原因。
閱讀全文