@gogolang

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

Илья
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
dep под такое конфигурится?
dep под такое не конфигурится, т.к. vendor не в gopath не будет работать

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
по сути, вендоры лежат с точки зрения компилятора на одном уровне с кодом проекта
У меня не собирает, если vendor в корне проекта и gopath кинут в корень, а исходники в src/name/main.go, только если src/name/vendor . Видимо я что-то не понимаю ?

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

V
11.05.2018
08:58:23
один большой main?

в репо проще класть готовый воркспейс

Google
Stanislav
11.05.2018
08:59:31
один большой main?
Это уже неправильная структура :)

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
с этого и начали, однако кто-то любит отдельные воркспейсы, вот и вопрос преимущества-недостатки
Воркспейсы тесно связаны со своими сборочными скриптами. У меня же например 200строчный мейкфайл для всего, например (тестирование, запуск, деплой и т. д.) и никаких левых скриптов ;)

зависимости рулятся 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
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
Daniel
11.05.2018
11:42:52
вот теперь правильно

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

Я так понимаю это связанно с тем что у меня нет прав доступа к папке?

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
Магии не бывает (с)

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

база sqlite, её надо лочить на запись

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

yuriy
11.05.2018
13:09:38
Еееее type switch
а как еще?

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
а как еще?
В go — никак

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
А почему считать то, что Go — простой язык, является хейтерством?
"Простой" — не хейтерство. "Примитивный" — считается вроде уже хейтерством

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

Страница 1057 из 1630