很早之前在寫 QR Code 解碼器的時候就接觸過「糾刪碼」(erasure code)這種技術, 因為 QR Code 有使用到 Reed–Solomon error correction 。雖然知道是數學的運算結果,但至今還是對它的功用感到很神奇!背後的編碼理論已經超過山姆鍋的理解範圍,但撇除背後的數學理論,身為工程師要如何理解糾刪碼,以及作何應用呢?

繼續閱讀

系統托盤圖示(system tray icon)通常用來在桌面應用程式最小化後,不希望在任務列(task bar)出現時,提供一個簡單跟使用者互動的介面。 透過這樣的用戶介面,應用程式可以在有重要事件發生時,即時通知用戶。因此,系統托盤圖示常被諸如「郵件檢查」、「股票報價」等不需要複雜介面的桌面應用所使用。本文山姆鍋說明 Python 如何使用 PySide 來實現一個跨平台(cross-platform)的系統托盤圖示應用程式。

繼續閱讀

不久前,山姆鍋開始學習 Django 這套 Web 應用框架,在不跳脫它既有有框架的情況下,運用它可以快速建構應用程式原型。差不多同一時間,也找到 Test-driven Development with Python 這本好書,書名雖然好像跟 Django 無關,但書中的範例程式是以 Django 為基礎。 可惜,本文不是要示範如何使用 Django 做功能測試,這個主題網路有許多文章可以參考。山姆鍋在使用 Django 的 LiveServerTestCase 時 發現資料庫的資料在第一個測試案例(test case)之後就會被清除,導致後續的測試無法正常運作。

繼續閱讀

雖然這個部落格主要語言是正體中文,但偶爾會需要將英文轉成中文來顯示。例如:將導覽路徑(breadcrumb)轉成中文,但在網址路徑中維持使用英文。 要達到這個目的,使用 Jinja 2 模板的過濾器(filter)應該是個簡單方案。本文山姆鍋說明如何增加一個客製化過濾器, 來將模板中部分的英文字串對應到中文。

繼續閱讀

從現在來看,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?山姆鍋在這篇文章會分享當初做這樣的決策的主要原因。

繼續閱讀
作者的圖片

Sampot (山姆鍋)

個人部落格, 記錄與分享一些軟體開發與運營相關資訊, 偶爾也會碎念一下


伊凡達科技 - 技術長


台灣/台北