2017 年 8 月 7 日
我們與 LendUp 討論了他們使用 Clojure 的情況。
您使用 Clojure 多久了?
我們自 2016 年起就在製作環境中使用 Clojure。
您的團隊有多大?
目前,我們有來自資料平台和核心服務團隊的大約 5 名工程師,完全使用 Clojure 開發工具和服務。
您使用 Clojure 建置什麼產品或服務?
LendUp 資料工程團隊開始在製作環境中使用 Clojure,以啟動一些圍繞現有 ETL 管道的工具。此實驗證明相當成功,當我們開始演進我們的架構並轉移到更以服務為導向的模式時,我們也開始在系統的其他部分更廣泛地採用 Clojure。現在,我們有 Clojure 服務和工具為我們的資料管道和核心即時決策與服務基礎架構提供支援。
您最喜歡使用哪個 Clojure 函式庫?
我們在 LendUp 廣泛使用 Ring 和 Schema。Ring 是優雅的網路框架,使我們能夠快速啟動網路應用程式,並利用大量預先編寫的中介軟體。來自 Java 背景,我們絕對會想念靜態類型檢查。Schema 函式庫是完整類型系統的可靠替代方案,它幫助我們確保來自內部函式和外部服務的資料合約。
Clojure 或 ClojureScript 中您最喜歡的功能是什麼?
某些語言功能,特別是表達「程式碼即資料」以及巨集支援的能力,已能建立相當有效的 DSL 來表達相當複雜的商業邏輯。語言和資料結構中對不變性的內建支援也從根本上改變了我們的程式碼庫和資料架構。
你的堆疊是什麼?
LendUp 後端主要建置在 Java 上。我們也有使用 Python 和 Clojure 編寫的生產服務。在前端方面,公司從 Backbone 開始,並已逐漸遷移到 React + GraphQL。
為什麼使用 Clojure 或 ClojureScript 對你的業務有價值?
在 LendUp,我們有一組工程價值觀,作為個人和團隊的指導方針:務實、簡潔、堅持不懈、合作、擁有權和卓越。Clojure 完美符合我們的價值觀。它讓企業軟體開發變得更有趣。我們能夠更快地反覆變更,建置可組合且有焦點的元件,利用大量的經過實戰考驗且可立即使用的 Java 函式庫,而且我們有更小的程式碼庫需要維護。
如果你想分享你的 Clojure 故事,請 填寫此表單。