metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-02-14 10:28 am

Тащемта clojure

Вы будете смеяться, но самое простое для изготовления веб-приложения для JVM в режиме "вижу всю эту хреновину первый раз, но понимаю что делаю" - это clojure.
http://bestinclass.dk/index.clj/2011/01/building-a-social-media-site.html
https://github.com/mmcgrana/ring
http://mmcgrana.github.com/2010/08/clojure-rest-api.html

Leiningen спасает мозг от разборок с зависимостями чуть более чем полностью.
Документации, впрочем, нет, как и для 99% всех других немейнстримных вещей - блоги-гуглогруппы-исходный код. Причем, как всегда - примеры устаревшие, особенно что касается версий в project.clj для leiningen.

[identity profile] theiced.livejournal.com 2012-02-14 08:10 am (UTC)(link)
так держать.

кстати, мне было лень rest-api пользовать, я тупо 1:1 скопипастил жабовский код который уже был.

[identity profile] Дмитрий Бушенко (from livejournal.com) 2012-02-14 08:33 am (UTC)(link)
webnoir.org тебе в помощь. там и доки ОК и фреймворк сам по себе лучше чистого Ring-a

[identity profile] bydl0coder.livejournal.com 2012-02-14 08:38 am (UTC)(link)
Такого говна для любого языка завались. Bottle.py, допустим, вообще один файлик.

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

[identity profile] alexott.livejournal.com 2012-02-14 09:01 am (UTC)(link)
для поиска версий используется clojars.org & mvnrepository.com - точно также как и для остальных ява-based проектов.

[identity profile] theiced.livejournal.com 2012-02-14 09:05 am (UTC)(link)
тут беда в том что версия жётско фиксируется. нет масок блеать.

[identity profile] theiced.livejournal.com 2012-02-14 09:05 am (UTC)(link)
но это потому что используется сраный кривомэйвен, да.

[identity profile] alexott.livejournal.com 2012-02-14 09:11 am (UTC)(link)
эээээ, это как? вот это должно работать и с lein

[identity profile] alexott.livejournal.com 2012-02-14 09:13 am (UTC)(link)
а документацию почитать?

[identity profile] theiced.livejournal.com 2012-02-14 09:15 am (UTC)(link)
вроде не работает :)

(Anonymous) 2012-02-14 09:24 am (UTC)(link)
нопишите поподробнее ещё!
в чом плюсы минусы подводные камни.

очень нравитсо кложур.

(Anonymous) 2012-02-14 09:26 am (UTC)(link)
в частности, волнует только один, последний, вопрос

почему тама (и в руби) нету 2д-синтаксиса? за него можно отдать правую руку.

[identity profile] alexott.livejournal.com 2012-02-14 09:29 am (UTC)(link)
только протестировал строчку :dev-dependencies [[swank-clojure "[1.2.0,1.5.0]"]] - вытащило последнюю 1.4.0

[identity profile] theiced.livejournal.com 2012-02-14 09:31 am (UTC)(link)
суки. могли бы и документировать ;)

[identity profile] alexott.livejournal.com 2012-02-14 09:34 am (UTC)(link)
зачем писать заново то, что и так доступно в доке по мавену? книжка по нему доступна свободно...

[identity profile] theiced.livejournal.com 2012-02-14 09:39 am (UTC)(link)
я похож на пидораса что бы читать доки по говномэйвену?

[identity profile] alexott.livejournal.com 2012-02-14 09:48 am (UTC)(link)
ну это уже личные проблемы...

[identity profile] theiced.livejournal.com 2012-02-14 09:55 am (UTC)(link)
поясняю - я отказываюсь близко подходить к поделиям, для которых гондоны их "проектировавшие" выбрали хымыыль как формат для чего бы то ни было (в данном случае для билдскриптов).

[identity profile] alexott.livejournal.com 2012-02-14 09:56 am (UTC)(link)
я и говорю, что это личные проблемы...

[identity profile] metaclass.livejournal.com 2012-02-14 09:59 am (UTC)(link)
В кложуре лисповый синтаксис, так что отступов туда не всунешь)

[identity profile] theiced.livejournal.com 2012-02-14 10:00 am (UTC)(link)
ну если вам не противно копаться в говне, я за вас рад, чо.

[identity profile] theiced.livejournal.com 2012-02-14 10:01 am (UTC)(link)
а кто такой 2д синтаксис?

[identity profile] alexott.livejournal.com 2012-02-14 10:04 am (UTC)(link)
я использую те инструменты, которые решают мою задачу - если ее решает maven, то я использую его. а все эти "ХХХ - говно" - это пройдет когда-нибудь

[identity profile] metaclass.livejournal.com 2012-02-14 10:10 am (UTC)(link)
отступы. как в питоне, хаскеле, F#

(Anonymous) 2012-02-14 10:13 am (UTC)(link)
в хамле вон есть, а это хтмл. просто уменьшить число скобок за счёт табуляции. и всё. за это - правую руку.
хотя вместо того чтобы ныть давно было пора молча запилить препроцессор, и для руби тоже. (

(Anonymous) 2012-02-14 10:14 am (UTC)(link)
это то что позволяет не писать бесчисленные end'ы

[identity profile] theiced.livejournal.com 2012-02-14 10:16 am (UTC)(link)
аналогично. только у меня нет задач класса "поплавать в говне". вы подрастёте, поумнеете и у вас тоже их не будет.

[identity profile] xeno-by.livejournal.com 2012-02-14 10:45 am (UTC)(link)
да, про подводные камни одобряе. а то sbt тоже выглядит весьма ок на картинках.

[identity profile] tzirechnoy.livejournal.com 2012-02-14 11:01 am (UTC)(link)
>я похож на пидораса

Actually, yes.

[identity profile] theiced.livejournal.com 2012-02-14 11:25 am (UTC)(link)
но при этом в сраном хымыыле копаюсь не я. ок.

[identity profile] thedeemon.livejournal.com 2012-02-14 11:55 am (UTC)(link)
нафик-нафик!
Нечувствительность к отступам - благо. Проще кодогеренация, проще копи-паст и рефакторинг, проще писать однострочники и т.д.

(Anonymous) 2012-02-14 12:08 pm (UTC)(link)
однострочники писать ровно так же.
кодогенерация не знаю, на лиспе, я наверно что-то путаю, она нужна?
копи-паст и рефакторинг сложнее.

но удовольствие перекрывает в сто раз. хотя я вон видел листингг с цветовой разметкой скобок. чем скобка вложенней, тем она цветней другим цветом, вот. тоже клёво.
но помойму в лиспе особенно бы покатило уменьшить скобки за счёт отступов.

c: the israese

(Anonymous) 2012-02-14 12:11 pm (UTC)(link)
ну в плане - я поставил эти 3 метра (версию 1.3), потом скачал некий cljr
чтобы делать cljr install чонадо,
потом он поставил зачем-то версию 1.2,
потом я полез искать рубигемз только от кложура,
потом нашёл clojar, а там какие-то цвета некрасивые (( неужели они себя не любят (

(лейнинген за эти 5 минут не скачал, а наверн зря)

[identity profile] metaclass.livejournal.com 2012-02-14 12:41 pm (UTC)(link)
Да, что-то отступы задалбывают иногда.

[identity profile] metaclass.livejournal.com 2012-02-14 12:42 pm (UTC)(link)
Надо leiningen, да.

впрочем, для начала можно только clojure-1.3.0.jar и запускать как java -cp clojure-1.3.0.jar clojure.main


[identity profile] blackyblack.livejournal.com 2012-02-14 02:02 pm (UTC)(link)
Много скобок или большая вложенность означают, что код кривой. В обоих случаях избавляются при помощи выноса кода в отдельные функции. В императивных языках лишнюю вложенность прибивает ранний выход из цикла или функции. В функциональных - паттерн-матчинг, генераторы и функции высшего порядка.

[identity profile] nivanych.livejournal.com 2012-02-15 04:50 pm (UTC)(link)
Очень, очень с большим любопытством буду наблюдать, как же alexott подрастёт!
Ви подали такую тему!