Clojure

Feb. 19th, 2012 09:05 pm
metaclass: (Default)
[personal profile] metaclass
Я, внезапно, последние несколько дней работаю от 14 до 24 часов в сутки.
Наклепал к опердени серверную мидлварь на Clojure - аналитические отчеты строить, ибо недоделанные языки задрали выше всяких сил, а во всех остальных, кроме кложури, это все выглядит хуже чем на SQL.

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

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

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

Date: 2012-02-19 06:27 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Оно изначально жабовское, соответственно, 100% что интероп-либы все будут строго под жабу. И все ответы на вопросы в гугле будут про жабу.

Date: 2012-02-19 06:41 pm (UTC)
From: [identity profile] jdevelop.livejournal.com
думаю, на Java/Spring/iBatis/Apache Cxf не пришлось бы херачить по 100500 часов в сутки

а последняя искаропки практически кроме реста выдала бы много другого интересного

и я еще про Apache Camel не начал рассказывать даже

Date: 2012-02-19 07:02 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Я думаю, если ТЗ выдают за неделю до дедлайна, при этом параллельно навешивая 100500 других задач, то ничто не поможет.
Clojure хотя бы не бесит в 5 утра ночи :)

Date: 2012-02-19 08:25 pm (UTC)
From: [identity profile] jdevelop.livejournal.com
я это понимаю, но у меня вопрос - хочешьли ты там потом поддерживать ЭТО своими силами? или контора будет искать кложеристов?

Date: 2012-02-19 08:49 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Я уже поддерживаю это, лет 5 :)
А на кложурь переписал, потому что на нем все это более гуманно выглядит.

Date: 2012-02-19 07:40 pm (UTC)
From: [identity profile] theiced.livejournal.com
да, не пришлось. на сраной говножабе бы три месяца писались хымыыльные конфиги и ставились миллионы жарок.

Date: 2012-02-19 07:46 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Ты тащемта будешь смеятся, но я именно этим на кложуре и занимался :)

Date: 2012-02-19 07:53 pm (UTC)
From: [identity profile] theiced.livejournal.com
ты просто не писал на жабе. там ад.

Date: 2012-02-19 08:26 pm (UTC)
From: [identity profile] jdevelop.livejournal.com
ада хватает во всех частях света, на жабе уже давно не надо писать тонны говнохымылы

если конечно не идет речь о кровавом энтерпрайзе и прочем банковском софте

Date: 2012-02-19 08:48 pm (UTC)
From: [identity profile] theiced.livejournal.com
ой ортуро тоже орал что не надо и он не пишет. внезапно в его говноопердени нашли 5 хымыылек.,

Date: 2012-02-19 08:49 pm (UTC)
From: [identity profile] jdevelop.livejournal.com
да мне ваш ортуро не указ, ебитесь с ним в ачько самостоятельно

Date: 2012-02-19 08:52 pm (UTC)
From: [identity profile] theiced.livejournal.com
и я уверен что ты по ночам обмазываешься несвежим говном пишешь хымыыль.

Date: 2012-02-19 08:56 pm (UTC)
From: [identity profile] jdevelop.livejournal.com
а еще жгу тряпки и смеюсь

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

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

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

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

Date: 2012-02-20 07:34 am (UTC)
From: [identity profile] metaclass.livejournal.com
Потому что я пока не знаю, как реализовать перегрузку кода.

Date: 2012-02-20 07:59 am (UTC)
From: (Anonymous)
:((

а в чём тогда основное его преимущество, этого кложура? я думал что это такое удовольствие для перезагрузки кода и например какое-нибудь таскание его на другие машины там или чё-то такое. но я в этом всём совершенно не шарю :(

Date: 2012-02-20 08:43 am (UTC)
From: [identity profile] metaclass.livejournal.com
Все фичи Lisp (метапрограммирование, удобный синтаксис для развесистых данных) + библиотеки от Java.

Date: 2012-02-20 10:20 am (UTC)
From: [identity profile] zmila.livejournal.com
или я не то прочитал, но вот так делалось на 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
и рефреш страницы в браузере

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 18th, 2025 04:50 am
Powered by Dreamwidth Studios