
Alexey
11.05.2018
07:59:17
С vgo можно будет делать git clone в любое место, без GOPATH

V
11.05.2018
08:06:19

Илья
11.05.2018
08:06:42
Ключевой момент это кастомный gopath
C dep не работал

Google

V
11.05.2018
08:07:12
вендоринг руками?

Илья
11.05.2018
08:12:35

Aleksandr
11.05.2018
08:15:47

V
11.05.2018
08:17:51
если переопределять gopath на каждый проект в корень, то получится что vendor в gopath будет, другое дело, что вроде у меня ругался, если не gopath/src/name/vendor

Aleksandr
11.05.2018
08:18:47
dep?

V
11.05.2018
08:19:02
go build

Илья
11.05.2018
08:25:20
он двойной
по сути, вендоры лежат с точки зрения компилятора на одном уровне с кодом проекта

V
11.05.2018
08:53:31

Stanislav
11.05.2018
08:57:12
а вы под каждый проект отдельный воркспейс не делайте, а делайте нормально - один проект это один пакет :)

V
11.05.2018
08:58:23
один большой main?
в репо проще класть готовый воркспейс

Google

Stanislav
11.05.2018
08:59:31

V
11.05.2018
09:00:01
так один пакет

Stanislav
11.05.2018
09:01:26
так один пакет
Не видя кода-структуры ничего не подскажу. Только на работе я всех за такое бью по рукам, ибо создает доп. расходы на тестирование например, приходится писать скрипты

V
11.05.2018
09:02:59
я думаю просто вы под пакетом не package подразумеваете, а что-то в стиле gopath/src/пакет

Stanislav
11.05.2018
09:03:49
это и есть пакет
и в пакете могут быть подпакеты
которые тоже можно называть пакетами :)

V
11.05.2018
09:05:03
с этого и начали, однако кто-то любит отдельные воркспейсы, вот и вопрос преимущества-недостатки

Tom
11.05.2018
09:10:08
Недостатки: индивидуальные GOPATH не делают большинство ребят, с индивидуальным GOPATH надо его делать дефолтным при переключении с проекта на проект.
Лучше посмотреть как делают те же Kubernetes/CoreOS и делат также

Илья
11.05.2018
09:11:10
структура проекта своя и плохая, но начата давно и медленно рефакторится, но не об этом речь

Stanislav
11.05.2018
09:11:55
зависимости рулятся dep'ом

Илья
11.05.2018
09:13:26
GOPATH=/Users/ejilay/work/go/src/<gitlab>/<repo>/public-api/vendor:/Users/ejilay/work/go/src/<gitlab>/<repo>/public-api CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build <…>

Mykyta
11.05.2018
09:27:17

Гриша
11.05.2018
09:52:34
var tcMutex = &sync.Mutex{}
var tcMutex = sync.Mutex{}
Коллеги, а в чем отличае во взятии мьютекса по ссылке и просто? Есть какие-то подводные камни?

Daniel
11.05.2018
09:53:04
нету
передавать мутекс куда-то надо по ссылке
в остальном - это унопенисуально

Гриша
11.05.2018
09:53:39
Не, речь именно про взятие, понял спасибо

Google

Daniel
11.05.2018
09:54:05
другое дело, что мутекс обычно кладут рядом с данными, которые защищают

Igor
11.05.2018
09:55:31
Подкиньте, пожалуйста, хорошие примеры структуры крупных проектов...

Daniel
11.05.2018
09:56:38
зачем?

Igor
11.05.2018
09:57:53
Интересно ознакомиться как кто декомпозирует приложение.
Нет вокруг людей, которые подскажут.

Daniel
11.05.2018
09:58:26
структура - это же не про декомпозицию
декомпозиция от архитектуры растет
а структура - это некие формальные рамочки

Igor
11.05.2018
09:59:33
Так и то и то по факту интересно. А то 99% процентов примеров - накидываем в одну кучу и радуемся

Илья
11.05.2018
10:01:28
это нормальный флоу
ну "обычный")

Zver
11.05.2018
10:01:56
Docker, Syncthing, Consul, etcd и т.д.

Igor
11.05.2018
10:02:03
а потом рефакторим
дык вот и интересно посмотреть чего и как у кого в итоге))
Нет народу вокруг, кто может показать "как надо".

Илья
11.05.2018
10:02:05
все-все сразу не надекомпозируешь, либо у тебя молочные реки в работе)

Artem
11.05.2018
10:26:49

Igor
11.05.2018
10:28:07

yuriy
11.05.2018
10:58:40
Написал 2 статьи как я делаю онлайновую игру на Go
http://dorogoy.tilda.ws/gosaveindie1
http://dorogoy.tilda.ws/gosaveindie2

Tigran
11.05.2018
11:00:32
О, можно играть за Bojack Horseman

yuriy
11.05.2018
11:11:42
хехех, часто слышу

Oleg
11.05.2018
11:40:28
Ребята, подскажите пож как в YAML будет выглядеть слайс структур Пр. Signers []Signer , как сделать массив, это я понимаю, но не понимаю как примерно должен выглять массив у каждого элемента которого есть свои поля

Google

Mush
11.05.2018
11:42:29

Daniel
11.05.2018
11:42:52
вот теперь правильно

Oleg
11.05.2018
11:44:14

GoodMoodDealler
11.05.2018
12:47:34
f, err := os.OpenFile("/"+module+"_logs", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
if err != nil {
log.Fatalf("error opening file: %v", err)
}
defer f.Close()
Данный кусок кода выдает ошибку
FATA[0000] error opening file: open /AV-AVG_logs: permission denied
exit status 1
Я так понимаю это связанно с тем что у меня нет прав доступа к папке?

Aleksandr
11.05.2018
12:49:11

Admin
ERROR: S client not available

GoodMoodDealler
11.05.2018
12:49:20

Alan
11.05.2018
12:49:23
Да

GoodMoodDealler
11.05.2018
12:49:32
Я понял

Alan
11.05.2018
12:49:33
permission denied

GoodMoodDealler
11.05.2018
12:49:34
Туплю
Абсолютный путь же прописал *facepalm*

Aleksandr
11.05.2018
12:50:39

Vyacheslav
11.05.2018
12:54:17
Магии не бывает (с)

Антон
11.05.2018
13:04:45

Pawel
11.05.2018
13:05:38
Возник спор на работе, насколько (не)разумно делать для пакета с базой данной открытые функции LockDB() и UnlockDB(), как полагаете? в функциях тупо управяется мьютекс
база sqlite, её надо лочить на запись

Google

Антон
11.05.2018
13:08:32

Nick
11.05.2018
13:08:38
зачем всю базу лочить?

yuriy
11.05.2018
13:09:38

Pawel
11.05.2018
13:10:43
зачем всю базу лочить?
потому что sqlite. либо лочить, либо на каждый апдейт проверять и отрабатывать ошибку "database is locked"

Nick
11.05.2018
13:10:50
optimistic lock не поможет?

Pawel
11.05.2018
13:11:03
не
только изоляция

Антон
11.05.2018
13:12:53

yuriy
11.05.2018
13:13:07
начнем с того, что там был не го а тайпскрипт
ну а во-вторых, речь же идет о парсинге данных на клиенте
ты в любом случае отправляешь бинарные данные и тебе заново нужно будет понять, что за ними стоит

Pawel
11.05.2018
13:19:05
Мы все знаем, что Go очень простой и разрабатывался изначально как язык для гугловских джунов.
мы все знаем что это не так хоть и существует много хейтерских спекуляций на эту тему, основанных на искажении слов

Владимир
11.05.2018
13:20:00
А почему считать то, что Go — простой язык, является хейтерством?

Daniel
11.05.2018
13:20:19
ту про гугловских джунов речь
go не делался для гугловских джунов
он вообще не для джунов, джуны в нем теряются довольно быстро

Владимир
11.05.2018
13:21:06
Ну с такой точки зрения да. Правда, я не уверен, что у гугла вообще есть джуны :))

Антон
11.05.2018
13:21:35

Alexander
11.05.2018
13:22:01

yuriy
11.05.2018
13:24:26

Alexander
11.05.2018
13:25:01