什麼是 UUID? 相信多數參與軟體開發的人應該都知道。知道什麼是 UUID, 暸解 TimeUUID 也是輕而易舉的事情。雖然 TimeUUID 感覺無足輕重, 但在特定的使用案例(use case),又是這麼方便,山姆鍋覺得值得為它介紹一番。

繼續閱讀

最近山姆鍋在思考一個大型網路系統架構設計的問題,為什麼是大型網路?因為沒有機會實作,只好紙上談兵幻想一下。 這裡所指的「大型網路」是指可擴展到支持上萬個以上節點(node)的網路架構,為什麼要設計這樣的架構?

繼續閱讀

山姆鍋平常喜歡搜尋一些有趣的開放源碼專案,尤其是有提供設計文件的。有天不知道怎麼地逛到了 Cockroach DB 這個專案,它的設計文件有許多有趣的地方,但我特別注意到其中一篇論文,關於使用邏輯與實體時鐘來實現一個分散式時間郵戳(timestamp)的演算法。

繼續閱讀

面試工程師,除了一定要做的實際筆試之外,山姆鍋為了進一步了解候選人(candidate)的能力,會再口頭提問幾個問題。 這些問題對某些人來說,可能覺得不難,但山姆鍋的經驗發現,能夠正確回答出這些問題的比例比預想的少許多。 甚至可以說:會這些題目的工程師,能力已經在水準之上。

繼續閱讀

山姆鍋期望雲端存儲與備份服務,可以做到保護使用者的資料安全與隱私。針對要達到這樣目標, 已經說明了其中需要的兩個關鍵技術:「資訊擴散演算法」以及「Convergent Encryption」。 本文山姆鍋說明另外一片重要拼圖:「去中心化身份驗證(decentralized authentication)」。

繼續閱讀

版本控制與檔案同步軟體其中一個重要功能:讓來源(source)檔案的內容跟目標(target)檔案內容相同。 直覺來說,最簡單的方式:將來源檔案複製(copy)到目標檔案。 不過這種做法,對於像是同一個檔案的不同版本的同步,會耗用太多不必要的頻寬與儲存空間之外, 時間往往也是個造成這種方式不實際的因素之一。那有沒有更有效的作法呢?

繼續閱讀
作者的圖片

Sampot (山姆鍋)

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


伊凡達科技 - 技術長


台灣/台北