C++ 開發環境架設:使用 CodeLite

很久沒寫 C++ 了,上次是一年多前的事,當時為了在專案中使用 TDD 開發,套用 CppUTest 當 Unit Test Framework,而這套 Framework 就是用 C++ 寫的。最近工作上又需要用到 C++ 當底層資源,環境重架之餘,順手紀錄一下歷程。…

訂閱 Facebook Group 的訊息:自建 RSS 伺服器

feedly 是一款 Web RSS 訂閱服務,自從 Google Reader 2013 年停止服務後,我就一直使用它,但隨著社群媒體像 Facebook 或 Twitter 流行,訊息的樣貌也改變很多,偏偏 Facebook 本身不提供 RSS 訂閱服務,只好土法煉鋼,自己想辦法。本文會用 tweeper + GCP + feedly 來完成對 Facebook 公開頁面的訂閱。讓這些消息能更好地被管理。…

從零開始的 SMTP:以 Python 為例

這陣子在重溫 SMTP,想說拿 Gmail 來測試,看看能不能從底層刻出一個簡單的 SMTP Client。沒有其他目的,本文會使用 Python 當範例,一步步實現 SMTP 協議。...

監控節點的度量指標:Grafana 串接 Prometheus

在前面的討論中,我們可以用 Prometheus 去監控 End Devices,但 Prometheus 內建的 Dashboard 只是為了開發用,缺乏許多進階功能,在真正需要資料視覺化時並不方便。因此 Prometheus 通常會跟 Grafana 搭配使用。…

輕鬆上手約定式提交:Commitizen 初體驗

最近參加 DevOps Meetup 的活動,Speaker 提到團隊使用 Commitizen 這套工具來統一提交訊息的風格。我們團隊前陣子才 Suffer 在 Commit Style 分歧,知識管理效率低落,有時只有 commit 本人能看懂,而使用共同模板又太浪費時間,跟 Git 鼓勵 commit 的精神背道而馳。聽完後,真的是相見恨晚,完全命中我的痛點。...

監控節點的度量指標:Prometheus 入門

Prometheus 是一套開源的監控系統,常常搭配雲端,監控服務運行狀態。透過這套系統,我們能將各處節點的資訊整合於統一的平台,讓 Operation 監控服務,避免服務中斷導致價值鍊中斷,同時這些數據也能提供給 Developer,作為後續改善的依據。…

配置即代碼:Ansible 入門

之前負責產品研發時,常常需要因應客戶需求,更新終端裝置上的應用程式。因為終端裝置在廠區可能一次就是幾十幾百台,如果用手動更新大概當天就不用做事了。Ansible 這類組態管理(Configuration Management)軟體就是為此而生。相對於同類軟體,Ansible 的系統需求單純,只要 Client 端有安裝 Python 即可,很適合資源受限的嵌入式系統。…

遠端開發環境架設:Web 版 VSCode

手邊一些開發有使用 Flask,因為 Flask 是架在遠端 Server 上,如果本地開發後還要部署到遠端,等於中間多了一個步驟,切來切去很麻煩,所以在想,有沒有機會直接在遠端進行開發?…