metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-02-19 09:05 pm

Clojure

Я, внезапно, последние несколько дней работаю от 14 до 24 часов в сутки.
Наклепал к опердени серверную мидлварь на Clojure - аналитические отчеты строить, ибо недоделанные языки задрали выше всяких сил, а во всех остальных, кроме кложури, это все выглядит хуже чем на SQL.

Тащемта jetty+ring+cheshire+jdbc - в итоге адская RESTful хрень, по типу той, что была на специальной олимпиаде, только с гуишным клиентом. Умеет отдавать, сохранять и рассчитывать документы, по типу кросс-таблиц-шахматок.

Еще вот надо как-то то ли настройки отчетов в отдельные файлы повыносить, а то я их захардкодил в кложурь (выглядят очень удобно), но сервер при переделках форм рестартовать это печаль же.

[identity profile] zmila.livejournal.com 2012-02-20 10:20 am (UTC)(link)
или я не то прочитал, но вот так делалось на jetty + ring

(def my-wrapped-handler
(-> #'my-namespace/my-routes
(compojure.handler/site)
...
(ring.middleware.reload/wrap-reload '(my-namespace.my-file-to-reload)) ))

и запускалось из repl

(defn my-start-server []
(ring.adapter.jetty/run-jetty
#'my-namespace/my-wrapped-handler
{:port 8085 :join? false}))

затем просто пере-выполнял изменённую функцию или def
и рефреш страницы в браузере