2017 年 6 月 7 日
我們與 Luca Grulla 討論了他們在 Signal 使用 Clojure 和 ClojureScript 的情況。
你使用 Clojure 和 ClojureScript 多久了?
Signal 自 2014 年開始使用 Clojure,自 2016 年開始使用 ClojureScript。
你的團隊有多大?
我們是一個由 14 人(開發人員和研究人員)組成的團隊,在我們系統的不同部分使用 Clojure 和 ClojureScript。
你正在建構什麼產品或服務?
Signal 是一家 AI 公司。我們擷取非結構化文字,並透過文字分析管線來理解它。我們的擷取管線大部分都是用 Clojure 編寫的。我們也廣泛地將 Clojure 用於一些我們的內部 API。在過去的一年中,我們一直在使用 Clojurescript 建立一個新產品,用於大規模搜尋和擷取法律資料。
你最喜歡使用哪個 Clojure 或 ClojureScript 函式庫?
Reagent 真的很好用。我們在實際應用中使用 Ring 和 Compojure,發現它們非常有價值。最近我們也開始越來越多地使用 http-kit。
使用 Clojure 和 ClojureScript 對你來說最有價值的地方是什麼?
程式碼的優雅性、可組合性、隱式並行化以及能使用一個很棒的社群。
Clojure 或 ClojureScript 你最喜歡的功能是什麼?
Clojure 核心真是太棒了。它小到很容易記住,但它幾乎具備了你需要用來組合函式以組成更精密的函式的所有東西。
你的技術堆疊是什麼?
目前我們大部分的技術堆疊都是用 Clojure、Python 和 Javascript 組合寫成的。我們的系統核心元件是 Elasticsearch:我們自行架設並管理一個 20TB 的叢集。我們所有的基礎架構都在 AWS 上,我們使用 Terraform 來管理它。我們也在嘗試使用 Golang 和 Erlang。
為什麼使用 Clojure 或 ClojureScript 對你的業務有價值?
這門語言的本質讓我們可以用非常簡潔的方式表達複雜的概念。我們在 JVM 上執行這件事是一個令人難以置信的附加價值;JVM 容易監控,而且非常有韌性。Clojure 社群也非常強大,而且是讓有才華的人加入我們團隊的絕佳來源!
如果你想分享你的 Clojure 故事,請填寫這份表單。