Everything has a reason.
Recent company Things I am basically not very able to plug in handwritten code (when the leader, every day to write mail and collation of Excel), but as a former main course how can I bear to let their skills abandoned it (in fact, has been from the waste of martial arts: Ruby on Rails completely forgot about it)? And when we do a project A with our little friends, Occasionally think of my hand there is a domain name Ailink.io still quite catchy (ghosts know how I thought to buy this domain name), coupled with their own some of the Lisp Dafa feelings (Emacs with a lot of sequela, early years found IntelliJ, probably I and Lisp there is no relationship). Then started to develop as a sub-function of project A, and independently released to the students to use (for the TT).
The technology used
Clojure+ring +compojure + enlive + PostgreSQL + beanstalkd (some classmates ask what ghost).
Ring+compojure, needless to say, is basically one of the mainstream options for using Clojure to write the Web (the other is Luminus, which seems like a more popular framework ).
Choosing enlive is because this thing is exactly the same as jquery's choice syntax, and you can separate the template out of the. clj file without having to write the page directly in the same way as Hiccup. The benefits don't have to be said, who knows with whom.
PostgreSQL This choice may make many small partners very surprised, for Mao is not MySQL. The reason is that, for years, the back-end ape of startups (architect +dba+) knows the convenience and ease of use of MySQL, but knows just how unhappy the MySQL type system is. At the same time, considering the direction of our future big data, we finally gave up MySQL (after all, the small team is not suitable for too many technologies).
What the hell is BEANSTALKD, BEANSTALKD is a very simple queue system. Speaking of this, many parents will say, Bo Master, you are not very likely to engage in rabbitmq, for Mao don't rabbitmq ah. The reason is very simple, VPS volume is too small, the number of CPUs, small memory, rabbitmq relative to BEANSTALKD completely no advantage (in fact, is poor TT, no money to buy a large amount of VPS). This time again have a pro will ask, why don't you use Redis ah, this I just want to say, Redis still do its storage well, queue or give professional to do it.
Results
First of all, thanks to the many libraries and great bootstrap on the JVM platform, I built a basic web environment within 1 hours. In the remaining 3 hours, we will not have to think about debugging correctness and add some more friendly tips.
I was how 4 hours from 0 to do a website