metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-04-19 09:56 pm

Ояебундестаг

http://juick.com/zamotivator/2317894
Забиватор мутит веб-приложение на Scala+Lift.
Я сдуру решил глянуть, чо там за проблемы. В целом, надо как-то прекращать практику заглядывания "ради интереса" в чужие проекты, ибо голова не казенная.
Во-первых, гит я знаю плохо и переключится на ремоте branch так и не смог. Ну, тут все очевидно - надо изучать и пользоваться, это мне просто лень. А так - скачал просто архив
Во-вторых, слава богу, что ждевелоп заставил забиватора использовать мавен - он хоть и безумный, но по крайней мере, нормально документирован и я его уже использовал.
В-третьих, эта хреновина на mvn jetty:run выкачала половину интернета, по-моему. Этот странный фетиш разработчиков на тему "повторного использования кода" им боком вылезет еще неоднократно - когда ради 1 функции тащится целый фреймворк, а он за собой еще 100500 зависимостей - шансы налететь на конфликты версий и прочее червие сильно возрастают. А мавен это делает очень легким, оказывая медвежью услугу. Ну, там хотя бы лишние зависимости исключить можно и то хлеб.
В-четвертых, оно ругается на то, что там используются две разных версии Scala-compiler. Т.е. см. выше - про версии, "с приездом вас".
В-пятых, оно собирается ровно один раз. Второй раз надо удалять target, иначе конфликты типов вида

https://gist.github.com/metametaclass/5422381


В-шестых, забиватор частично прав насчет Lift - там просто реальный майндфак и хипстерство, документация в гугло-группе и на SO, разобраться конкретно с его проблемой можно, но радости от этого не наблюдается никакой.
Причина, в целом, классическая - веб-фреймворки (в отличие от библиотек) - очень негуманная штука. Стоит выйти за рамки HelloWorld и монолитных приложений и оказывается, что любая задача выливается в копание по исходникам, SO, форумам и раскиданной по сотне мигрирующих туда-сюда сайтов.

ЗЫ: Забиваторъ утверждает (http://juick.com/2320702) что мавен выбрал самостоятельно.

[identity profile] xeno-by.livejournal.com 2013-04-19 07:28 pm (UTC)(link)
Да, помню такой баг с package objects. По-моему, его в 2.10.2 починили. И вроде бы он лечится выносом классов из package objects в просто package, т.е. если кому интересно, это должно сработать как воркараунд.

[identity profile] plumqqz.livejournal.com 2013-04-19 08:12 pm (UTC)(link)
Коты мудрее. Ну, когда им делать нечего.

[identity profile] nivanych.livejournal.com 2013-04-20 06:53 am (UTC)(link)
> ждевелоп заставил забиватора использовать мавен

Начинаю бояться этой тусовки.
Не ровен час, и меня что-нибудь заставят...

[identity profile] bydl0coder.livejournal.com 2013-04-20 07:22 am (UTC)(link)
Да все нормально с веб фреймворками, которые MVC. C джанго и рельсами никаких проблем нет.

[identity profile] jakobz.livejournal.com 2013-04-20 09:17 am (UTC)(link)
Я вчера закончил рабочий день на том, что пару часов пытался понять почему у меня $("#myInput").datepicker() не работает. Это при том, что я последние лет 7 занимаюсь всякими опердями на вебе. Так и не разобрался и пошел пить водку и есть мясо.

Короче веб-фреймворки не могут быть гуманными, нет. Там ад и содомия произрастают прямо начиная от самых основ.

[identity profile] veter-r-r.livejournal.com 2013-04-20 10:01 am (UTC)(link)
С фреймворками в целом-то все хорошо.
Но когда начинается "а мы возьмем для проекта вот эти три фреймворка, да еще от каждого по несколько разных версий одновременно", то и привет.
При этом в реальности из каждого фреймворка используется полторы библиотеки.

В этом отношении подход ruby куда гуманней. Нужна функция, берешь gem и не тянешь весь фреймворк целиком. Там, конечно, тоже могут подтянуться зависимости, но обычно куда менее фатальные.

[identity profile] blackyblack.livejournal.com 2013-04-21 07:04 pm (UTC)(link)
Ещё раз замечу, что мавен - дебильное изобретение. Как и прочие вытягивалки депенденсей. Разве что гит их гуманно тащит и то там с версиями мутновато.

[identity profile] jdevelop.livejournal.com 2013-04-25 03:31 am (UTC)(link)
I don't know, я взял себе Lift, и с полпинка собрал себе проект и все что мне нужно для работы, по букварю. Кстати букварь у них охеренный, его просто надо читать.

И да, я его ни к чему не принуждал, он сам ©
Edited 2013-04-25 03:33 (UTC)