109: (animated-1)
109 ([personal profile] 109) wrote2014-10-13 04:48 pm
Entry tags:

что происходит у смежников: Ruby

там правда ужас-ужас, или мне просто не повезло?

понадобился мне монитор для редиса, чтобы красивые графики рисовал. ничего фришного standalone не нашёл. нашёл какой-то ruby gem. ну ладно, мне трудно что ли ruby поставить? cinst ruby 200 OK

запускаю "ruby gem redmon". кричит "это native gem, please install devkit". сам devkit, конечно, через gem не ставится, надо скачивать и распаковывать отдельно лежащий zip и следовать инструкциям. ладно, поставил devkit. "ruby gem redmon", наконец, радостно запустился, принялся что-то там компилировать, обнаружил отсутствие какого-то .h файла. ну и закончил на этом, проще самому написать.

прямо как в 90-е вернулся, со всеми этими низкоуровневыми манипуляциями.

[identity profile] altmind.livejournal.com 2014-10-14 12:05 am (UTC)(link)
в руби сообществе сложилась практика пользователей windows за людей не считать. некоторые гемы просто не работают, некоторые требуют скачивания десятка зависимостей. а некоторые считают, что в системе всегда есть /bin/sh

[identity profile] 109.livejournal.com 2014-10-14 12:12 am (UTC)(link)
так зависимости должны же отслеживаться тем же гемом, не? брали бы пример с нугета.

[identity profile] altmind.livejournal.com 2014-10-14 12:15 am (UTC)(link)
нугет - плохой пример. единственный раз когда я его юзал, потребовалась обертка вокруг нативной либы. пришлось качать зависимости и подкладывать dll. ужас - хуже чем в рубях.
wizzard: (Default)

[personal profile] wizzard 2014-10-14 02:09 am (UTC)(link)
если есть натив, нугет превращается в адище, да.

еще нугет превращается в адище если в солюшне вдруг случилась одна либа разных версий (у меня такое с ServiceStack и Json.NET постоянно случается)

[identity profile] 109.livejournal.com 2014-10-14 03:47 am (UTC)(link)
проблема "одна либа разных версий" решается прописыванием assemblyBinding/dependentAssembly/bindingRedirect в конфиге (один раз per project).

более того, если раньше это надо было делать руками, то теперь nuget, начиная с какой-то версии, это делает сам. то есть нет, это совсем не проблема.
Edited 2014-10-14 03:50 (UTC)
wizzard: (Default)

[personal profile] wizzard 2014-10-14 03:51 am (UTC)(link)
Я помню, что в других ЯП это не решается вообще, и таки благодарен майкрософту за SxS, если что.

Но нюгет регулярно пишет туда хуйню, и приходится после апдейта каждого пакета возвращать "как надо". Увы :)

[identity profile] enternet.livejournal.com 2014-10-14 06:15 am (UTC)(link)
Эта ситуация - возможно не проблема нугета как такового. Это проявляется совместно с TFS и только в следующем случае: давно не делался Get Latest, параллельно был изменен packages.config, изменения перед чекином не просматриваются.

Мне ни разу не удалось такого достичь, а вот коллега дважды попадал. В общем, это больше вопрос культуры производства.

wizzard: (Default)

[personal profile] wizzard 2014-10-14 10:27 am (UTC)(link)
У меня Mercurial и консольный нюгет.

[identity profile] enternet.livejournal.com 2014-10-14 06:06 am (UTC)(link)
На всякий случай напомню, что консольный NuGet и гуёвый NuGet - это два разных продукта. Первый поддерживает конфигурирование в packages.config, а второй - нет.

[identity profile] metaclass.livejournal.com 2014-10-14 08:37 am (UTC)(link)
А в чем польза от nuget?
А то я постоянно практикую "держу все нужные версии зависимостей рядом в репе".
wizzard: (Default)

[personal profile] wizzard 2014-10-14 10:27 am (UTC)(link)
Это ортогонально.

[identity profile] metaclass.livejournal.com 2014-10-14 08:36 am (UTC)(link)
Так и есть. На линуксе еще можно как-то обойтись стандартными менеджерами пакетов и гемами, на винде придется лезть в дебри и собирать самому. Или скачивать готовые комплекты.

[identity profile] stan podolski (from livejournal.com) 2014-10-14 02:40 am (UTC)(link)
осталось попробовать node.js, чтобы понять, что shit never went away, it just stayed around the corner

[identity profile] thedeemon.livejournal.com 2014-10-14 03:20 am (UTC)(link)
А это везде, где сишечку компилировать надо. Как что опенсорсное и "кроссплатформенное", так поддержка винды вот на таком уровне. Что, впрочем, совершенно неудивительно, учитывая весь тот цирк и зоопарк, что MS развела со студиями и SDK (в том числе с удалением некоторых .h файлов оттуда как "устаревших").
Edited 2014-10-14 03:30 (UTC)

[identity profile] 109.livejournal.com 2014-10-14 03:49 am (UTC)(link)
ага, package manager для ruby кривой, а виноват опять микрософт.

[identity profile] thedeemon.livejournal.com 2014-10-14 04:24 am (UTC)(link)
Ну так кривой не без причины. И дело не в Ruby, у кучи других языков те же проблемы.
Это как ругать за кривость создателей космических зондов, посланных на Венеру, что они больше часа там не могли продержаться (где температура пицот градусов и давление 90 атмосфер).

[identity profile] volodymir-k.livejournal.com 2014-10-14 10:37 am (UTC)(link)
ну это вы чересчур хватили
погода на далёкой планете понятно, что неизвестная

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

но тупо написать в ридми "я такого-то числа билдал в такой-то точно версии такого-то точно продукта и есличо берите мой бинарник там-то" ничего не мешает

и например сообщество могло бы попробовать много какие комбинации

пусть линуксоиды скажут спасибо богу, что кроме гцц и редко ллвм какогонить никто уже не юзает компилятор скажем интеловский, а какого нить зортеха или борланда уже тютю
wizzard: (Default)

[personal profile] wizzard 2014-10-14 03:54 am (UTC)(link)
Не везде. Пакеты для ноды с какого-то момента начали ставиться с полпинка, и кажется даже умеют сами выкачивать VC++ Express.

[identity profile] 109.livejournal.com 2014-10-14 03:55 am (UTC)(link)
гм. так мне node.js что ли, ставить? под неё вроде тоже есть redis monitor.
wizzard: (Default)

[personal profile] wizzard 2014-10-14 03:58 am (UTC)(link)
Вот тут без малейшего понятия(

А, да. Как устроить всему "кроссплатформенному" софту адище:
Убедиться чтобы хостнейм и юзер были с русскими буквами.

После этого сдыхает абсолютно ВСЁ.

Интересно, живет ли такое на линухе. На Маке часть живёт, часть сдыхает.

[identity profile] ignik.livejournal.com 2014-10-14 05:11 am (UTC)(link)
И, главное, всенепременно с пробелами!

[identity profile] altmind.livejournal.com 2014-10-14 06:56 am (UTC)(link)
да, товарищи из ноды большие молодцы. Даже непростые вещи, требующие сборки webkit запускаются с полпинка. Хотя, у меня когда-то были проблемы с их gyp. приходилось ставить какие-то питоновские модули отдельно.
Edited 2014-10-14 06:57 (UTC)