Getting started with Ring. I am most familiar with web development in php, in which the php application is booted afresh on every request, which is proxied to by the web server, e.g. apache.
That of course means it is not possible that the php application itself can maintain any in-memory state (PHP enforcing a "shared nothing" architecture). So, I do note that in other languages such as java and Clojure the server is a long running process and there is therefore an option for global state. I aim to stick to 12-factor principles, though, and so I understand application state should be avoided, as if I was programming in php, perhaps.
I've got initial awareness about the reloaded workflow and such like. Of course, that makes sense in many cases.
However, since I am aiming that the web app I now write have no global state, would that mean I don't actually need a reloaded workflow (and hence lein ring would be enough - just to reload the code, not the state).
I wonder if there is anything I am missing. e.g. what if I change a config variable, maybe that counts as 'state', and would require a reload. Yes, I'll test this myself in due course to find out.
But just looking for any general tips / discussion on these points to help get off on the right foot.