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

Clojure

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

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

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

[identity profile] victor bolshakov (from livejournal.com) 2012-02-19 06:17 pm (UTC)(link)
А чего Java а не CLR?

[identity profile] blackyblack.livejournal.com 2012-02-19 06:35 pm (UTC)(link)
Сервер отчётов - хорошее решение. Работать 24 часа в сутки - ай-яй-яй.

[identity profile] gds.livejournal.com 2012-02-19 08:35 pm (UTC)(link)
> Наклепал [...] аналитические отчеты строить

разумно. как я и говорил где-то раньше.

(Anonymous) 2012-02-20 06:12 am (UTC)(link)
эээ.
эээээ. а можно спросить, почему надо перезагружать сервер, чтобы обновить код на кложур? а можно сам код перезагрузить? (чё-то я торможу)

[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
и рефреш страницы в браузере