Clojure

LendUp

2017年8月7日

LendUp社のClojure利用について話を聞きました。LendUp

LendUp

Clojureを使い始めてどのくらいになりますか?

2016年から本番環境でClojureを使用しています。

チームの規模はどのくらいですか?

現在、データプラットフォームとコアサービスチームから約5人のエンジニアが、Clojureでツールとサービスを開発しています。

Clojureを使用して構築している製品またはサービスは何ですか?

LendUpのデータエンジニアリングチームは、いくつかの既存のETLパイプラインに関するツールをブートストラップするために、本番環境でClojureの使用を開始しました。この実験は非常に成功し、アーキテクチャの進化とサービス指向のパターンへの移行を開始したため、システムの他の部分にもClojureをより広く採用するようになりました。現在、データパイプラインとリアルタイムの意思決定およびサービスインフラストラクチャの中核を支えるClojureサービスとツールがあります。

最も気に入っているClojureライブラリは何ですか?

LendUpでは、RingSchemaを幅広く使用しています。Ringは洗練されたWebフレームワークであり、Webアプリケーションを迅速に起動し、多数の事前に記述されたミドルウェアを活用できます。Javaのバックグラウンドから来た私たちにとって、静的型チェックが確実に不足しています。Schemaライブラリは本格的な型システムに代わる堅実なものであり、内部関数と外部サービスからのデータに関する契約を確実に守るのに役立っています。

ClojureまたはClojureScriptのお気に入りの機能は何ですか?

"コードをデータとして表現する"機能とマクロサポート、特にこれらの言語機能により、非常に複雑なビジネスロジックを表すための非常に効果的なDSLを作成することができました。言語とデータ構造におけるイミュータビリティの組み込みサポートも、コードベースとデータアーキテクチャを根本的に変えました。

スタックは?

LendUpのバックエンドは主にJavaで構築されています。PythonとClojureで記述された本番サービスもあります。フロントエンドでは、同社はBackboneから始まり、徐々にReact + GraphQLに移行しています。

ClojureまたはClojureScriptを使用することで、ビジネスにとってどのような価値がありますか?

LendUpでは、個人やチームを導く一連のエンジニアリングの価値観があります。それは、実用主義、シンプルさ、不屈の精神、協調性、オーナーシップ、そして卓越性です。Clojureは私たちの価値観体系にうまく合致しています。エンタープライズソフトウェア開発をはるかに楽しくしました。変更をより迅速に反復し、構成可能で焦点を絞ったコンポーネントを構築し、大量のテスト済みで本番対応済みのJavaライブラリを活用し、保守するコードベースをはるかに小さくすることができます。

Clojureの事例を共有したい場合は、このフォームに記入してください