ClojureScript is a language designed for working with data. In this post, we’ll
look at how to use the builtin collection library as well as a few design patterns
to model a domain. ClojureScript places a strong emphasis on relying on
generic collection types and the standard functions that operate on them rather
than creating highly specialized functions that only work on a single type of
object. The object-oriented approach, which most mainstream languages encourage,
is to create objects that encapsulate both the data and behaviour of a specific
type of “thing”. The practice that ClojureScript encourages, however, is to
separate functions and data. Data is pure information, and functions are pure
transformations of data.
and utterly terrifying. There are so many options for every aspect of
development and tooling that
choices can be paralyzing. The
glut of options for, well, everything has caused me to focus more on deciding
which technologies I really want to learn and for which ones I can be content in
Drum roll, please… After more than a year, I finally have some time to pick
up this blog series on creating RESTful data APIs with Clojure. It is amazing to me
how much the Clojure ecosystem has changed (for the better) even in the past year.
One of these changes has been the release of the the Buddy security library
Okay, it has been around for over a year, but in the past few months or so, Buddy
has become the de-facto library for Clojure web app security.
This tutorial is the second in a series on building a RESTful web service in
Clojure. In the
we set up a development environment using Puppet and Vagrant, and we created
a skeleton Leiningen project. With all of the prerequisites taken care of, now
it’s time to get our hands dirty with some code!