為什麼 Node.js 不適合大型和商業專案?
JavaScript 和 Node.js 一直都是這幾年的話題,無論是前端還是後端,到處都可見 JavaScript,就好像爬滿了你全身上下,他們不斷地對你說道「嘿!老兄!快來用我吧!」。 為什麼 Node.js 會這麼夯?主要是因為效能快過於 PHP 和 Python 與 Ruby,寫法簡單又容易,而且前後端能夠使用同個語言當然是最好不過了。不過當然也有人...
解釋 Golang 中的 Interface 到底是什麼
也許你是來自 PHP 或 Node.js 的程式工程師,然後用了 Class 好一段時間,雖然聽過 Interface 但總是沒用過,這很正常,因為我也是。 事實上,在弱型態語言其實是不需要使用到 Interface 的,但在強型態語言中,這變得十分普遍而且很有幫助。 Interface{} 是任意值 在 Golang 裏有兩種 Interface,一種是型...
透過 Golang 輸出所有的 Emoji
之前在做網站的時候要實作一個表情列表的功能,後來到了 StackOverflow 上面詢問如何透過簡單的方式輸出所有的 Emoji(原文:Is it possible to generate all the emojis and append to the select dropdown?),畢竟總不可能自己把每個都複製下來然後塞進列表裡吧,不過那篇文章是 ...
API 文件就是你的伺服器,REST 的另一個選擇:gRPC
在前幾個星期的文章中我們提到了「比起 JSON 更方便、更快速、更簡短的 Protobuf 格式」,但這還沒完。Google 為此推出了一個新的程式呼叫協議 gRPC,簡單說就是能夠從你的 Protobuf 檔案生出一個伺服器出來,這個好處就是不需要像傳統 RESTful API 伺服器ㄧ樣撰寫一堆路由。 當我們撰寫傳統 RES...
建置自己的 Git 伺服器與網站:Gitea(Gogs)
Gitea 是一個由 Golang 撰寫的 Git 伺服器(含網頁介面),如果你曾用過 GitHub 或 Gitlab 那麼你一定對這種東西不陌生。詳情可以參考「什麼是 Git?我要怎麼在 Ubuntu 上安裝 Git?」文章。 Gitea 主要是由 Gogs 分歧的版本,兩者的差異在於 Gogs 由單人維護...
比起 JSON 更方便、更快速、更簡短的 Protobuf 格式
Protocol Buffers 是由 Google 所推出的一格式(後台真硬),你可以把它想像成是 XML 或 JSON 格式,但是更小、更快,而且更簡潔。這能夠幫你節省網路與硬體資源,且你只需要定義一次資料結構,接著就會自動生成符合你程式語言的檔案,讓你能夠直接在你的程式上使用。 而且有趣的是一但你定義了資料結構,你就能在...
用 Golang 實作 Prometheus:服務效能測量監控系統
Prometheus 是一個基於 Golang 語言所撰寫的服務效能測量監控系統。實際上就只是把統計數據視覺化而已,這很適合用在大型系統、微服務上。你可以從 Prometheus 查看你所有服務的效能狀態等。 但這些事情可能沒有你想像的那麼自動,因為有些數據的加總、值的異動都需要自行在程式裡面處理,然後 Prometheus 會向你的程式要求這些資料。 1....
用 Golang 實作 NSQ:微服務訊息/事件傳遞系統
NSQ 是和 Event Sourcing 理念有所關聯的即時性分布式訊息傳遞系統,看到這裡你可能會以為是作即時通訊軟體用的,但實際上並不是。額外有趣的一點是 NSQ 也是以 Golang 所撰寫的。 我們會在文章中以實際情況、為什麼需要 NSQ 來解答疑惑並且實作一個真正的範例。 在閱讀本篇之前,也許你可以看看另一個相關的文章:「用 Golang 實作 E...
用 Golang 實作 Event Store:微服務事件儲藏中心
Event Store 是一個基於 CQRS 與 Event Sourcing 理念所衍生出來的新概念並由 C# 撰寫。這是一個微服務事件儲藏中心,這可能很難懂,但別緊張,這些都會在本文中得到答案。 在微服務結構中,每個服務都是獨立的,這意味著沒有服務該依賴另一個服務(無相依性),那麼我們應該要怎麼在服務之間互相溝通?一但有了這個問題就會開始陷入死循環,最終...
Golang 微服務相關工具
因為這些工具都十分地進階,所以在這裡僅稍微介紹並指引如何安裝,有趣的是這些全部都是用 Golang 撰寫的。 Go kit—微服務框架 https: //github.com/go-kit/kit 當你要撰寫微服務時,你也許會需要一個框架。而 Go kit 就是 Golang 中目前知名度最高的微服務框架,接下來我們會以 Go kit 實作微服務架構的應用程...
目前第 1 頁,共有 2 頁