Clojure

Signal

2017年6月7日

我们与Luca Grulla讨论了他们在Signal使用Clojure和ClojureScript的情况。

Signal

你们使用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故事,请填写此表单