從商業利益看 Go 程式語言

Go-brown-side.sh 從 2016 年開始寫 Go 程式語言,在這一年我向很多朋友介紹了 Go 語言,很多人就不經問到為什麼我這麼喜歡 Go 語言,在公司內同事或主管更會問,為什麼要從 Node.js 或其他語言轉換到 Go,Go 語言有什麼地方可以帶給公司更大的利益,否則為什麼要多花時間跟人力去嘗試 Go 語言。如果團隊要建置一個商業 Web 服務,那我覺得底下的優點,是讓您選擇 Go 語言的最主要原因。 Continue reading “從商業利益看 Go 程式語言”

開發者另類的自架 Git 服務選擇: Gitea

gitea 現在 Git 服務最有名的就是 Github,如果是開放原始碼,我很推薦 Github。如果是想要放大量私有專案或企業內及個人使用,想必大家會推薦 Gitlab,在這裡就不多介紹 Gitlab 了,可以從 Google 找到許多相關資料,本篇會介紹另類的 Git 自架服務選擇 Gitea,在介紹之前可以先參考我在 2014 年寫了一篇用 Go 語言開發的 Git 服務叫做 GogsContinue reading “開發者另類的自架 Git 服務選擇: Gitea”

在 Mac 建立新帳號,並且開通 ssh 權限

Apple_logo_black.svg 為什麼我會需要在 Mac 建立新帳號呢,原因就是最近用 Golang 寫了 SCP 工具,此工具支援 Password 或 SSH Public Key 登入,我又不想拿個人帳號寫在 Testing 檔案內,所以才會想到在 Mac 建立一個帳號好了,本篇就是教大家如何在 Mac 建立新帳號,並且開通 SSH 權限。 Continue reading “在 Mac 建立新帳號,並且開通 ssh 權限”

用 drone-line 架設 Line webhook 及發送訊息

LINE_logo.svg 之前寫了一篇教學『用 Docker 發送 Line 訊息』,但是前提是你要先學會 Docker,對於完全沒有 Docker 經驗的初學者來說,學習起來相當不容易,所以我將 drone-line 編譯出 Linux, Mac OS X 或 Windows 都可以執行的 Binary 檔案,方便初學者可以直接下載執行檔,在任何環境都可以運作,請直接參考 v1.4.0 Release 頁面,如果還是想用 Docker 版本的,可以直接參考 Docker Hub 上的 drone-line repo,底下會教大家如何執行 Line webhook service 及發送訊息,尚未申請 Line Developer 帳號,請直接參考前一篇教學 Continue reading “用 drone-line 架設 Line webhook 及發送訊息”

Linode 推出新的 Datacenter 據點 Tokyo 2

Screen Shot 2016-11-22 at 10.53.16 AM 在半年前 Linode 13 歲生日送了一份很大的禮物給大家,就是免費讓大家升級記憶體,這個禮物只限定在非東京據點,對於東京的用戶只能等待,就在今天 Linode 終於宣佈新的服務據點 Tokyo 2,新的東京據點比照[現有的牌價]收費,官方也提供教學讓各地區快速的轉換到東京據點。 Continue reading “Linode 推出新的 Datacenter 據點 Tokyo 2”

輕量級 Gofight 支援 Echo 框架測試

Go-brown-side.sh Gofight 是一套用 Golang 撰寫的輕量級測試工具,專門測試 Golang Web Framework API,可以參考之前一篇教學: 用 gofight 來測試 golang web API handler,在 Echo 框架發布 v3.0.0 之前,Echo 不支援 golang 標準的 http.Requesthttp.ResponseWriter,反倒是支援 fasthttp,所以我發了 Issue 希望作者可以支援原生的 http 標準,最後沒有得到回應。就在前幾天 Echo 在 v3.0.0 版本把 fasthttp 拿掉,這樣 Gofight 就可以移除特定函示,改用原生 http。 Continue reading “輕量級 Gofight 支援 Echo 框架測試”

用 Docker 發送 Line 訊息

docker 今年各家網路公司 (Facebook, LineTelegram…) 分別推出 Bot 服務,看起來 Bot 會是未來趨勢,對 Bot 不是很了解的話,可以參考 Eric ShangKuan 寫了一篇: 關於寫對談機器人 (bot) 的兩三事。本篇會介紹如何透過 Docker 整合 Line Message API,下面所有指令都會跟 Docker 有關,但是程式碼都是用 Golang 撰寫,想說順便在台灣推廣 ^__^。就在今年四月 Line 推出第一版 SDK,但是到了九月,突然收到 Line 的通知,說舊版的不支援了,請大家換到新板 API,最近更動到新版本時,踩到官網 UI 的雷就是原來 Line 有分 Developer 跟一般帳號,這兩種差別就是在於有無主動 Push Message 功能,後來在 Line-Go-SDK 發問才找到解答。底下會一步一步教大家如何透過 Docker 發送 Line 訊息。 Continue reading “用 Docker 發送 Line 訊息”

用 Yarn 取代 Npm 管理 JavaScript 套件版本

yarn-kitten-full 新一代戰神 Yarn 終於在昨天出爐了,Yarn 跟 Npm 一樣都是 JavaScript 套件版本管理工具,但是 Npm 令人詬病的是安裝都是非常的慢,快取機制用起來效果也不是很好,所以 Yarn 的出現解決了這些問題,透過 Yarn 安裝過的套件都會在家目錄產生 Cache (目錄在 ~/.yarn-cache/),也就是只要安裝過一次,下次砍掉 node_modules 目錄重新安裝都會從 Cache 讀取。Yarn 詳細的功能架構可以參考 Facebook 發表的 Yarn: A new package manager for JavaScript,本篇不會教大家怎麼使用 Yarn,因為指令實在是太容易了,可以參考官方提供的如何從 npm 轉換到 yarn,底下則是來測試比較兩者安裝套件的速度。 Continue reading “用 Yarn 取代 Npm 管理 JavaScript 套件版本”