DEV Community

Alexander Oloo
Alexander Oloo

Posted on • Originally published at alexanderoloo.com on

1

My 5 favourite clojure libraries

In my travels I have collected a set of clojure libraries that I can rely on to help me solve problems effectively. These are my top 5.

  1. cheshire by @dakrone
  2. http-kit by @shenfeng and maintained by @ptaoussanis
  3. nippy by @ptaoussanis
  4. at-at by @samaaron, @rosejn, and @michaelneale
  5. charmander by @alekcz

1. cheshire

cheshire is a library for “JSON and JSON SMILE (binary json format) encoding/decoding”.

I’m currently using [cheshire "5.9.0"] successfully in production. My favourite thing about cheshire is that when parsing JSON it can automatically convert the keys to keywords in Clojure. I must admit I’ve abuse this feature in places where I probably shouldn’t have. Haha.

2. http-kit

http-kit is a “minimalist, event-driven, high-performance Clojure HTTP server/client library”.

I’m currently using [http-kit "2.4.0-alpha3"] successfully in production. #cowboy

My favourite thing about http-kit is that the HTTP client is really straight forward. Checkout the docs, you’ll see what I mean.

3. nippy

nippy is a “high-performance serialization library for Clojure”.

I’m currently using [com.taoensso/nippy "2.14.0"] successfully in production. My favourite thing about nippy (besides it being rediculously fast) is that after processing large datasets I can save the object straight from memory directly to disk. This allows my application to pick up instantaneously from where it left off after a reboot.

4. at-at

at-at is an “ahead-of-time function scheduler”.

I’m currently using [overtone/at-at "1.2.0"] successfully in production. My favourite trick with at-at is to use it to schedule a ping every 5 minutes to keep my dynos awake. Obviously I use http-kit to do the ping.

5. charmander

charmander is a “set of libraries to make working with firebase easier in clojure”.

I’m currently using [alekcz/charmander "0.6.0"] successfully in production.

My favourite thing about charmander is that it has been the project that has taught me the most about clojure. Writing it has been one heck of a journey.

May your build always pass.

Alex

This post is part of the "Advent of Parens".

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more