metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2016-05-30 01:39 pm

Доставайте голангистов из гробов

Есть вопросы по языку для интеллектуального большинства:
1) Если я форкаю чужую библиотеку, а она унутре себя ссылается на сама себя - как с этим работать? SO советует сначала делать go get оригинальной, затем подключать git remote свою репу и потом править. Т.е. на всех других рабочих местах нужно будет повторять то же самое. По идее, это должен менеджер зависимостей делать в конечном итоге?

2) Что за херня с логгерами и обработкой в этом вашем голанге? В большинстве либ обработка ошибок сводится к log.Println(err) где err - строка в стиле "у вас произошла херня", без объяснений что, где и как, причем способа привязать логгер к пакету я чо-то не нашел.

[identity profile] vit-r.livejournal.com 2016-05-30 10:45 am (UTC)(link)
Понятно. Ещё один модный язык, который надо обойти стороной. Особенно понравился №2.

[identity profile] metaclass.livejournal.com 2016-05-30 11:32 am (UTC)(link)
Этот, к сожалению, обойти не получится.
Предыдущие хотя бы фильтровались на входе по принципу "наши разработчики этого не поймут", а у этого эти самые разработчики будут обеими руками за.

[identity profile] vit-r.livejournal.com 2016-05-30 12:18 pm (UTC)(link)
Разработчикам лишь бы чем-нибудь таким заняться, чтобы ничего не делать.

[identity profile] dizel-by.livejournal.com 2016-05-30 11:53 am (UTC)(link)
Так ведь это сразу понятно было. Говносинтаксис, компилятор без оптимизации, либы пишут пионеры. Хуже РНР.

[identity profile] metaclass.livejournal.com 2016-05-30 12:49 pm (UTC)(link)
Не, похапе хуже - у голанга хотя бы бинари статические с зависимостью только от libc и зеленые потоки.

[identity profile] berezovsky.livejournal.com 2016-05-30 11:14 am (UTC)(link)
не знаю, я хз
develop7: (dero)

[personal profile] develop7 2016-05-30 01:28 pm (UTC)(link)
а хороших голангистов — из хороших гробов

[identity profile] permea-kra.livejournal.com 2016-05-30 03:10 pm (UTC)(link)
А они бывают?
develop7: (dero)

[personal profile] develop7 2016-05-31 08:46 am (UTC)(link)
хорошие гробы — наверняка

[identity profile] w00dy.livejournal.com 2016-05-30 01:38 pm (UTC)(link)
И ты мне это советовал брать? Ребе, чтобы вам коптеры в кредит до самой пенсии покупать!

[identity profile] metaclass.livejournal.com 2016-05-30 02:00 pm (UTC)(link)
Один хрен все равно придется все переписывать, так лучше на языке который хотя бы работает.

[identity profile] avnik.livejournal.com 2016-05-30 04:19 pm (UTC)(link)
Ну лучше всего конечно взять хаскель, тогда коптер будет не нужен -- можно будет возноситься над грешными силой мысли

[identity profile] mkevac.livejournal.com 2016-05-30 03:19 pm (UTC)(link)
1) Да. На данный момент это рекомендуемый способ. На каких других рабочих местах?
2) Либ логирования штук 10 популярных. Буквально недавно был обзор. У каждой какой-то свой способ есть. Кто-то берет стек трейс, кто-то имя ф-ии, кто-то имя пакета, кто-то просто строку. Внутри runtime разных примеров тоже много. Есть структуры, которые дают номер ошибки, тип ошибки (temporary или нет) и т.п.

[identity profile] ynot.livejournal.com 2016-05-30 06:14 pm (UTC)(link)
> Либ логирования штук 10 популярных. Буквально недавно был обзор. У каждой какой-то свой способ есть.

Image

[identity profile] anonim-legion.livejournal.com 2016-05-31 03:20 am (UTC)(link)
Это даже круче явы, с ее log4j, logstash, logback, slf4j и прочая.

[identity profile] w00dy.livejournal.com 2016-05-31 10:30 am (UTC)(link)
Перенимают всё самое лучшее :)

[identity profile] permea-kra.livejournal.com 2016-05-30 03:19 pm (UTC)(link)
>унутре себя ссылается на сама себя

Напаркуа бы такое было надо?

[identity profile] metaclass.livejournal.com 2016-05-30 03:49 pm (UTC)(link)
ну вот такое:
https://github.com/go-stomp/stomp/blob/master/server/processor.go

Зачем так сделано - я понятия не имею, но относительных импортов нет.

[identity profile] aamonster.livejournal.com 2016-05-30 07:51 pm (UTC)(link)
"относительных импортов нет" - это аффтар ниасилил или в языке нет?

[identity profile] metaclass.livejournal.com 2016-05-30 08:04 pm (UTC)(link)
Есть, но 1) порываются запретить и удалить 2) считается что делать не положено.

[identity profile] anatoly borodin (from livejournal.com) 2016-05-31 12:22 am (UTC)(link)
Блейм говорит, что вот https://github.com/go-stomp/stomp/commit/4be337f54044ae28afea4b12d1d0f52f5d7f0767

[identity profile] mao-dae-dzin-2.livejournal.com 2016-06-06 12:00 pm (UTC)(link)
Ребе, вам на SO наговорили каких-то глупостей, либо вы не туда смотрели.

Когда вы сделаете go get данной либы, все ее подпакеты скачаются автоматически. И либа эти подпакеты будет искать в GOPATH, а не на гитхабе.

Относительные импорты есть, но принято писать именно так

[identity profile] avnik.livejournal.com 2016-05-30 04:15 pm (UTC)(link)
1 github.com/Masterminds/glide в качестве менеджера зависимостей умеет понимать форки. (ну и если очень хочется -- можно тупо выправить импорты седом, или какой нибудь тулзой дял import rewrite которых я видел штуки три)

2 из логгеров обычно используют github.com/Sirupsen/logrus, он вроде самый вменяемый из простых. Но единого plugpoint как у питона там нету, и это плохо-плохо честно говоря
Edited 2016-05-30 16:17 (UTC)

[personal profile] fortness90 (from livejournal.com) 2016-05-30 07:27 pm (UTC)(link)
A porpos, голлангцы, превысило ли кол-во GUI фреймвоков Go , число фреймвоков у фортрана, коих , как известно, ровно три ??
Edited 2016-05-30 19:27 (UTC)

[identity profile] anonim-legion.livejournal.com 2016-05-31 03:21 am (UTC)(link)
За ответами про Go нужно просто идти в фейсбук к Олегу Цареву, бывшему [livejournal.com profile] zamotivator