Posts

If I fail to put it in writing, it is likely to slip my memory in due time.

把舊的 Pixel 改造成無限照片上傳機

自從 Google Photos 養套殺,取消高畫質無限上傳以後[1],對於我這種習慣使用 Google Photos 的人無疑是重大悲劇,空間用完指日可待。目前 Google Photos 的高畫質無限免費上傳是專門給 Pixel 2~5 的優待,只要是由這些型號的裝置上傳的照片,就可以享有這項福利,並不限制照片需使用這些裝置拍攝所得。為了蹭 Pixel 舊裝置可以以“高畫質”無限免費上傳 Google Photos,即使換了新手機,也應該想辦法由舊裝置來上傳相片。

Read More...

Optimizing C++ Compile Time

編譯是靜態語言不可避免的步驟。對於開發者而言,編譯是個又愛又恨的東西,好處是他可以幫助在編譯時期找出部分的錯誤又可以幫忙最佳化,但是壞處則是編譯要時間,當專案越來越大時,小小改個檔案可能就要花數分鐘去等編譯。

source: https://xkcd.com/303/ source: https://xkcd.com/303/
Read More...

Share Storage Comparison

Share storage,諸如家用 NAS 或工作站常有的網路硬碟(NFS),是一個很方便又隨處可見的一種存儲空間,方便的點在於可以從不同機器存取或修改同樣的資料、避免需要維護重複的東西在不同的機器上;常見的使用情境像是會將 /home 家目錄放置於 Share storage 中,然後再掛載至所有工作站的機器上,這樣就可以讓使用者無論是登入哪一台工作站機器,都可以保持同樣的家目錄環境,十分方便。

Read More...

Setup CouchDB Cluster using Docker Swarm

CouchDB,一個主打安裝好之後就可以直接有原生 Http API 進行 CRUD (新增、讀取、修改、刪除) 的 NoSQL 資料庫,對於較簡單的應用程式甚至就直接免去後端的開發成本,直接對接 CouchDB Http API 介面即可。

除此之外,CouchDB 同時也主打所謂的 muti-master cluster 架構,可以輕易地設定多個 CouchDB instances 來達到 HA 的目的,確保服務不會因為伺服器掛掉而無法存取。

而本篇就是在記錄如何透過 Docker Swarm 來佈署跨機器的三個 CouchDB 並且將之設定為 cluster mode.

Read More...