
Zver
27.06.2017
06:24:39
Кто-то здесь давно писал, что нгикс увеличиаает колличество коннектов в три раза и если есть возможность, то лучше гоу-приложение напрямую выпускать в свет.

Ilya
27.06.2017
06:30:46
А в чем проблема с колвом коннектов у го?

Igor
27.06.2017
06:30:56
nginx - это не только ценный мех. Там и роутинг на несколько сервисов, и правила доступа, и балансир, и passive\active health check и быстрый ssl

Alexey
27.06.2017
08:20:38

Google

Zver
27.06.2017
08:26:28

Demiurg
27.06.2017
11:56:30
Еще вопрос - подключаюсь к RabbitMQ, вызываю Consume, в цикле получаю сообщения:
for d := range msgs {
...
}
Проблема в том, что если рестартовать RabbitMQ, то больше сообщения не доставляются и никаких ошибок не возникает. Сообщения скапливаются в очереди и никто их не получает.
Как бы отловить эту ситуацию?

Alexey
27.06.2017
12:02:37
Или msgs канал не закрывается?

Demiurg
27.06.2017
12:04:12
такое ощущение что в строке
for d := range msgs {
приложение блокируется, внутренности цикла не выполняются

Denis
27.06.2017
12:06:11
https://gist.github.com/svcavallar/be2d40953eaf27842cba2d46de9c1fb1

TILTED
27.06.2017
12:06:38
есть какие-то типо homework по го?

Denis
27.06.2017
12:07:55
http://exercism.io/languages/go/about
http://exercism.io
Что к чему

TILTED
27.06.2017
12:11:14

Demiurg
27.06.2017
12:14:18

Alex
27.06.2017
13:42:41
Товарищи, подскажите, как вы организовываете работу с несколькими проектами? У меня есть 3 проекта на go, между которыми приходится переключаться раз в 15-20 минут примерно. Сейчас приходится держать их внутри go/src, но это не удобно, так как они лежат отдельно от других проектов. Есть какие-то простые способы?

Google

Maxim
27.06.2017
13:49:37

Alex
27.06.2017
13:50:16
Дело не в переключении, а в GOPATH :(

Subbotin
27.06.2017
13:54:32
gogland позволяет настраивать gopath для каждого проекта

Alex
27.06.2017
13:55:31
таки все равно не удобно, у меня есть папка, в ней придется создать src, bin, pkg.

nezorflame
27.06.2017
13:55:56
а в чем проблема юзать несколько GOPATH?

Nikolay
27.06.2017
13:58:17
Отлично спасает

Alex
27.06.2017
15:04:41
Товарищи, ну неужели нет боли ни у кого с файлами в го? Тут либо все в одном файле хранить, либо костыли с go build *.go, локальные зависимости работают черт знает как, ну не может же быть все так плохо?
мб я что-то не понимаю?

Sergey
27.06.2017
15:05:14
0_o
никакой боли нет

nezorflame
27.06.2017
15:05:31
в чем боль-то?
https://www.reddit.com/r/golang/comments/40ps8k/really_wrestling_with_gopath/cywi9fj/

Alex
27.06.2017
15:07:09
ну вот создаю я новый проект. Логически я могу разделить его на модули - module1, module2.
Создаю файлы:
- main.go
- - module1
- - - main.go
- - module2
- - - main.go

nezorflame
27.06.2017
15:07:17
зачем?

Alex
27.06.2017
15:07:20
но локальный импорт работает только за пределами GO{ATH

nezorflame
27.06.2017
15:07:33
ключевой вопрос

Alex
27.06.2017
15:07:48
а как? все в main.go?

nezorflame
27.06.2017
15:07:56
нет
Создаю файлы:
- main.go
- module1.go
- module2.go

Google

nezorflame
27.06.2017
15:08:34
все в рамках package main
и все

Alex
27.06.2017
15:09:12
ну хотя бы для того, чтобы файлы не пухли
ибо очень скоро они станут 1000+ строк

nezorflame
27.06.2017
15:09:20
эти пакеты отдельно будут где-то юзаться? могут существовать вне программы?

Alexey
27.06.2017
15:09:28
Ну можно же нелокально импортить вложенные директории
import "github.com/name/project/subdirectory"

Alex
27.06.2017
15:10:04
потом меняем имя проекта и все ломается

nezorflame
27.06.2017
15:10:11
как это костыль

Alexey
27.06.2017
15:10:35

Alex
27.06.2017
15:11:16
ну вот, приходим к тому, что меняем все файлы. Таки костыль?

Alexey
27.06.2017
15:12:04

nezorflame
27.06.2017
15:12:17
зачем вообще менять имя проекта?

Alex
27.06.2017
15:12:30
ну все равно) так у меня сейчас работает, но мы решаем не причину, следствие

Alexey
27.06.2017
15:12:58
Смена проекта - единственная проблема с такими импортами?:)

Alex
27.06.2017
15:13:14
У меня есть папка с проектами компании:
Xxx
- project1
- project2
- project3
- goproject4
- project5
- goproject6
сейчас мне приходится проекты на go держать отдельно
и это архинеудобно

nezorflame
27.06.2017
15:13:39
симлинк

Google

nezorflame
27.06.2017
15:13:41
все
а вообще проекты на го лежат в gopath

Alex
27.06.2017
15:14:37
и это архинеудобно

nezorflame
27.06.2017
15:14:40
надо где-то еще - делай второй gopath или симлинк

Kristina
27.06.2017
15:14:43
Господа, делаю сервер с веб-сокетами и тестовую программу-клиент, в которой на n горутин устанавливается соединение с сервером. В какой-то момент процесс сервера прекращает работу, а в консоли выводится "Killed"
Может быть кто знает что ето навскидку

Alex
27.06.2017
15:14:48
зачем так-то?

Alexey
27.06.2017
15:15:05

Admin
ERROR: S client not available

Kristina
27.06.2017
15:15:41
Резонно... Спс, сообщу о результате лол

Alexey
27.06.2017
15:16:31
зачем так-то?
В го так принято, в gopath хранить. Прям так придумано. Компании должны либо подстраиваться, либо что-то другое брать:)

nezorflame
27.06.2017
15:16:43
by design так в языке
go get делает именно так

Alex
27.06.2017
15:17:01
Я просто не понимаю причины

nezorflame
27.06.2017
15:17:05
и всем остальным рекомендуется делать точно так же

Alex
27.06.2017
15:17:05
Зачем так?

nezorflame
27.06.2017
15:17:11
у Пайка спроси
или у Чейни
зачем они так придумали?)

Maxim
27.06.2017
15:17:44

nezorflame
27.06.2017
15:18:02
код, вообще говоря, лежит в репозиториях обычно

Google

Alex
27.06.2017
15:18:03

nezorflame
27.06.2017
15:18:14
поэтому такая структура очень легко ложится

Alex
27.06.2017
15:18:26
она легко ложится, когда весь код на го
если бы у нас было 100% кода на го, то я бы и не испытывал боль, а тут хочется, чтобы все было рядом.

Alexey
27.06.2017
15:19:30
У меня лежит:
~/PycharmProjects/... - питон
~/IdeaProjects/... - java
~/gopath/... - go
И никаких проблем.
Ведь питон из go ничего не импортит.

Alex
27.06.2017
15:20:03
Да и что делать, если у меня есть pet-проекты с версией какой-то либы 1.8.3, а рабочий проект требует 2.0.1?
каждый раз go get?

Alexey
27.06.2017
15:20:15

nezorflame
27.06.2017
15:20:21
вендоринг

Alex
27.06.2017
15:20:38
да, это все хорошо, только редакторы не заводятся с ним

Alexey
27.06.2017
15:20:42
Ну или разные GOPATH для ценителей.

nezorflame
27.06.2017
15:20:43
у кого как
редактор значит не очень

Alexey
27.06.2017
15:20:56
gogland заводится:)

nezorflame
27.06.2017
15:21:10
VSCode, Atom тоже

Alex
27.06.2017
15:21:24
хм, значит я не умею их готовить
ну ок, это проблема решаемая. Больше меня волнует то, что нет адекватного способа делать субпакеты. Да, мне надо использовать их только в одном пакете, но это же удобно? Когда можно весь код структурировать.

Alexei
27.06.2017
15:22:56
даже презираемый тут некоторыми вим умеет отдельные GOPATH'ы

Alex
27.06.2017
15:22:57
Да и позволяет разбить код на много меклих файлов, а не копить несколько больших