用 Golang 實作 NSQ:微服務訊息/事件傳遞系統
NSQ 是和 Event Sourcing 理念有所關聯的即時性分布式訊息傳遞系統,看到這裡你可能會以為是作即時通訊軟體用的,但實際上並不是。額外有趣的一點是 NSQ 也是以 Golang 所撰寫的。 我們會在文章中以實際情況、為什麼需要 NSQ 來解答疑惑並且實作一個真正的範例。 在閱讀本篇之前,也許你可以看看另一個相關的文章:「用 Golang 實作 E...
用 Golang 實作 Event Store:微服務事件儲藏中心
Event Store 是一個基於 CQRS 與 Event Sourcing 理念所衍生出來的新概念並由 C# 撰寫。這是一個微服務事件儲藏中心,這可能很難懂,但別緊張,這些都會在本文中得到答案。 在微服務結構中,每個服務都是獨立的,這意味著沒有服務該依賴另一個服務(無相依性),那麼我們應該要怎麼在服務之間互相溝通?一但有了這個問題就會開始陷入死循環,最終...
安裝 Drone 0.5 自動測試平台並與 Github 連結
Drone 來自 Drone.io,但他們有將自己的平台開源,所以任何人都可以自己架設一個 Drone。什麼是 Drone?簡單說就是一個自動化測試平台。 我們為什麼需要自動測試平台?一個小型的程式可以透過手動的方式來測試其功能,但遇到了大型程式,就不方便逐一測試了。這個時候我們可以交給機器自行測試,當發生錯誤時就自動向我們回報。 若要達到上述這種效果就需事...
Golang 微服務相關工具
因為這些工具都十分地進階,所以在這裡僅稍微介紹並指引如何安裝,有趣的是這些全部都是用 Golang 撰寫的。 Go kit—微服務框架 https: //github.com/go-kit/kit 當你要撰寫微服務時,你也許會需要一個框架。而 Go kit 就是 Golang 中目前知名度最高的微服務框架,接下來我們會以 Go kit 實作微服務架構的應用程...
一個基於 Golang 的基本 Go kit 微服務範例
首先 讓我們來建立一個最小、最基本的 Go kit 服務。 你的商業邏輯 你的服務始於你的商業邏輯。在 Go kit 中,我們將一個服務模塊化為一個介面(Interface)。 // StringService 提供了處理字串的相關功能。 type StringService interface { Uppercase(string) (string, er...
npm 套件管理器的桌面版:ndm
這東西其實還蠻吸引我的,主要是美觀還有方便。這有點像是 Ubuntu 的套件管理程式,但是移除了很多不必要且繁雜的功能。 你可以在這邊造訪 ndm 的官方網站,這是一個開放原始碼的 npm 桌面版套件管理器,目前還是處於 Alpha 的狀態且僅開放給 macOS 的使用者使用,未來會有更多平台的支援。 開啟專案 第一次開啟 ndm 時你有兩個選擇,你可以讓 ...
Webpack 有著一堆的坑
Webpack 是個現在蠻有名的前端建構工具,說是「打包」工具不為過,但可能會令你輕忽了 Webpack 的強大,讓你以為 Webpack 就只是打包工具,但事實並非如此。你可以在使用多種工具(如:Sass、Vue)的情況下省去重新整理網頁、重新編譯的困擾,這多虧了 Webpack 熱重載功能,不過還不僅如此。 實際上 Webpack 的 Load...
The Elm Architecture(Elm 基本結構)說明
The Elm Architecture(TEA)實際上就是 Redux 或是 Vuex 不過是寫在 Elm 裡。實際上 Redux 跟 Vuex 都是基於 TEA 的想法而來的,所以 TEA 可以算是⋯⋯先鋒者吧? 在 Elm 中會很常用到 TEA 這種結構方式,實作方法比起在 JavaScript 上要來得簡單,且 TEA 有助於未來前端的擴展因為十分具...
簡單地用 Golang 與 Leap Motion 互動!
Leap Motion 是一個用以偵測手部動作的小型傳感器,價格也蠻便宜的大約在 1,800 新台幣左右。雖然說優點是輕巧、廉價與容易開發,但是有時候感應上也會有些問題,例如說在手指相連再一起時 Leap Motion 經常會誤認成另一種手勢。 順帶一提,Leap Motion 不能偵測像「關節」這麼細緻的地方,不過基本的稍微彎曲是可以的。 其實就只是 We...
Vuex 可能追加的功能:命名空間
Vuex 是個規劃 Vue.js 資料流的「理念工具」,一般來說規劃像是記事本或是購物車這樣小型的應用程式都游刃有餘,一但遇上大型應用程式像是社群網站就會有些問題。 好佳在的是接下來的 Vuex 版本可能會新增命名空間的功能了。 都是同個 Store 在 Vuex 中只有一個 Store。意思是當你有兩個同樣名稱的 Action 或是 Getter, Mut...
目前第 3 頁,共有 6 頁