用 Go 語言減少 node_modules 容量來加速部署

Go-brown-side.sh 之前寫過一篇『減少 node_modules 大小來加速部署 Node.js 專案』文章,透過 Yarn 指令可以移除不必要的模組,剩下的模組佔據整個專案大部分容量,那該如何針對留下的模組來瘦身呢?這週看到 Node.js 大神 TJ 又發了一個 Go 語言專案叫做 node-prune,此專案用來移除在 node_modules 內不必要的檔案,那哪些才是不必要的檔案呢? Continue reading “用 Go 語言減少 node_modules 容量來加速部署”

Drone Secret 安全性管理

drone-logo_512 Drone 是一套以 Docker 容器技術為主的 CI/CD 開源專案,來聊聊 Drone 如何管理專案內的 Secret 資料,首先先來定義什麼是 Secret,舉個簡單例子,Drone 可以輕易完成基本打包+上傳到遠端伺服器,過程中一定會需要用到兩個 Plugin,就是 drone-scpdrone-ssh,而使用這兩個 plugin 需要有一組 Password 或是一把金鑰 (Public Key Authentication),在 Drone 可以透過後台 UI 介面將密碼或者是金鑰內容儲存在 Secret 設定頁面。預覽圖如下: Screen Shot 2017-11-20 at 9.10.10 AM Continue reading “Drone Secret 安全性管理”

從 Nginx 換到 Caddy

The_Caddy_web_server_logo.svg 終於下定決心將 Nginx 換到 Caddy 這套用 Go 語言所撰寫的開源套件,大家一定會有所疑問『為什麼要換掉 Nginx 而改用 Caddy』,原因其實很簡單,你現在看的 Blog 安裝在 Linode 機器上面,之前跑的是 Nginx 搭配 letsencrypt,但是必須要寫一個 Scripts 來自動更新 letsencrypt 憑證,這機制最後不太運作,加上這一年來,每三個月就會有人丟我說『你的 Blog 憑證過期了』,所以就在這時間點,花點時間把 Nginx 設定調整到 Caddy,轉換的時間不會花超過一小時喔。 Continue reading “從 Nginx 換到 Caddy”

Go 語言實現 gRPC Health 驗證

grpc_square_reverse_4x 本篇教大家如何每隔一段時間驗證 gRPC 服務是否存活,如果想了解什麼是 gRPC 可以參考 這篇『REST 的另一個選擇:gRPC』,這邊就不多介紹 gRPC 了,未來將會是容器的時代, 那該如何檢查容器 Container 是否存活。如果是用 Kubernetes 呢?該如何來撰寫 gRPC 接口搭配 livenessProbe 設定。底下是在 Dockerfile 內可以設定 HEALTHCHECK 來 達到檢查容器是否存活。詳細說明可以參考此連結Continue reading “Go 語言實現 gRPC Health 驗證”

Gorush 輕量級手機訊息發送服務

68747470733a2f2f7261772e6769746875622e636f6d2f676f6c616e672d73616d706c65732f676f706865722d766563746f722f6d61737465722f676f706865722e706e67 今年第一次參加濁水溪以南最大研討會 Mopcon,給了一場議程叫『用 Go 語言打造輕量級 Push Notification 服務』,身為南部人一定要參加 Mopcon,剛好透過此議程順便發佈新版 Gorush,其實今年投稿 Mopcon 最主要是回家鄉宣傳 Google 所推出的 Go 語言,藉由實際案例來跟大家分享如何入門 Go 語言,以及用 Go 語言最大好的好處有哪些。底下是此議程大綱:
  • 為什麼建立 Gorush 專案
  • 如何用 Go 語言實作
  • Drone 自動化測試及部署
  • Kubernetes 上跑 Gorush
Continue reading “Gorush 輕量級手機訊息發送服務”