Tag: Clojure

  • jar-copier version 0.3.0 released

    jar-copier version 0.3.0 released

    We just released a new version of jar-copier, 0.3.0, that includes: Better reporting of misconfiguration. Thoroughly testing misconfiguration reporting. Added the possibility to manually specify the jars (not java-agents). The main change is the last item, which was planned but now it became clear that some people actually wanted it.

  • to-jdbc-uri 0.4.1 released

    to-jdbc-uri 0.4.1 released

    We just released a new version of to-jdbc-uri, 0.4.1. A very important change in this one is that we are consolidating all our libraries into the com.carouselapps group ID, so you need to switch from including it like this: [to-jdbc-uri “0.3.0”] to including it like this: [com.carouselapps/to-jdbc-uri “0.4.1”] Aside from that, this release supports RedHat […]

  • Don’t forget to clear your client side state when logging a user out

    Don’t forget to clear your client side state when logging a user out

    When a user logs out from our web site, we are used to clearing the session and that’s it. When you are developing a single page application, you are likely to keep a lot of state on the client side, and that should be cleared too. For Ninja Tools, that meant going from the traditional […]

  • Automatically converting case between SQL and Clojure

    Automatically converting case between SQL and Clojure

    SQL, at least PostgreSQL, likes using snake case for table names, such as user_name, while in Clojure, kebab case is preferred, such as user-name. When you use the library Yesql you are likely to end up with keywords in snake case unless you do some conversion. In our toy project, Ninja Tools, I wanted to perform these […]

  • Isomorphic JavaScript (with ClojureScript) for pre-rendering single-page-applications, part 3

    Isomorphic JavaScript (with ClojureScript) for pre-rendering single-page-applications, part 3

    I was not expecting there to be a part 3 to this series and this third part is also going to be quite different to the first two. In parts 1 and 2 I walked you through an exploration of server side pre-rendering with Nashorn. My naive example worked fine with Nashorn but it didn’t survive encountering […]

  • Bidi vs Silk

    Bidi vs Silk

    In previous blog posts I mention that Bidi and Silk are essentially equivalent. I don’t believe this anymore. I now prefer Silk and I can show you why with a little example. First, let’s define some routes: (def silk-routes (domkm.silk/routes [[:home-page [[]]] [:about [[“about”]]]])) (def bidi-routes [“/” {“” :home-page “about” :about-page}]) When it comes to defining […]

  • Bidi vs Silk

    Bidi vs Silk

    In previous blog posts I mention that Bidi and Silk are essentially equivalent. I don’t believe this anymore. I now prefer Silk and I can show you why with a little example. First, let’s define some routes: (def silk-routes (domkm.silk/routes [[:home-page [[]]] [:about [[“about”]]]])) (def bidi-routes [“/” {“” :home-page “about” :about-page}]) When it comes to defining […]

  • Isomorphic JavaScript (with ClojureScript) for pre-rendering single-page-applications, part 2

    Isomorphic JavaScript (with ClojureScript) for pre-rendering single-page-applications, part 2

    In part 1 I covered the basic problem that SPA (single page applications) face and how pre-rendering can help. I showed how to integrate Nashorn into a Clojure app. In this second part, we’ll get to actually do the rendering as well as improving performance. Without further ado, part 2 of isomorphic ClojureScript. Rendering the […]

  • Isomorphic JavaScript (with ClojureScript) for pre-rendering single-page-applications, part 1

    Isomorphic JavaScript (with ClojureScript) for pre-rendering single-page-applications, part 1

    I don’t think I have found the ultimate solution for this problem yet but I have reached a level in which I’m comfortable sharing what I have because I believe it’ll be useful for other people tackling the same problem. The reason why I doubt this is the ultimate solution is because it has not […]

  • Using New Relic with Clojure

    Using New Relic with Clojure

    This post describes how I got New Relic to run with my Clojure project. I’m using Heroku but most of what I say here should be applicable in other environments and I’ll try to point you in the right direction when it doesn’t. Please, feel free to comment with improvements or corrections. There are already […]