Илья
структура проекта своя и плохая, но начата давно и медленно рефакторится, но не об этом речь
Stanislav
с этого и начали, однако кто-то любит отдельные воркспейсы, вот и вопрос преимущества-недостатки
Воркспейсы тесно связаны со своими сборочными скриптами. У меня же например 200строчный мейкфайл для всего, например (тестирование, запуск, деплой и т. д.) и никаких левых скриптов ;)
Stanislav
зависимости рулятся dep'ом
Илья
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 <…>
Nikita
структура проекта своя и плохая, но начата давно и медленно рефакторится, но не об этом речь
Называть пакеты надо в единственном числе, и рефакторить голендом - две секунды
Grisha
var tcMutex = &sync.Mutex{} var tcMutex = sync.Mutex{} Коллеги, а в чем отличае во взятии мьютекса по ссылке и просто? Есть какие-то подводные камни?
Daniel
нету
Daniel
передавать мутекс куда-то надо по ссылке
Daniel
в остальном - это унопенисуально
Grisha
Не, речь именно про взятие, понял спасибо
Daniel
другое дело, что мутекс обычно кладут рядом с данными, которые защищают
Игорь Пинчук
Подкиньте, пожалуйста, хорошие примеры структуры крупных проектов...
Daniel
зачем?
Игорь Пинчук
Интересно ознакомиться как кто декомпозирует приложение. Нет вокруг людей, которые подскажут.
Daniel
структура - это же не про декомпозицию
Daniel
декомпозиция от архитектуры растет
Daniel
а структура - это некие формальные рамочки
Игорь Пинчук
Так и то и то по факту интересно. А то 99% процентов примеров - накидываем в одну кучу и радуемся
Илья
это нормальный флоу
Илья
ну "обычный")
Zver
Docker, Syncthing, Consul, etcd и т.д.
Игорь Пинчук
а потом рефакторим
дык вот и интересно посмотреть чего и как у кого в итоге)) Нет народу вокруг, кто может показать "как надо".
Илья
все-все сразу не надекомпозируешь, либо у тебя молочные реки в работе)
Yuriy
Написал 2 статьи как я делаю онлайновую игру на Go http://dorogoy.tilda.ws/gosaveindie1 http://dorogoy.tilda.ws/gosaveindie2
Tigran
О, можно играть за Bojack Horseman
Yuriy
хехех, часто слышу
Oleh
Ребята, подскажите пож как в YAML будет выглядеть слайс структур Пр. Signers []Signer , как сделать массив, это я понимаю, но не понимаю как примерно должен выглять массив у каждого элемента которого есть свои поля
Daniel
вот теперь правильно
Stepan
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()
Stepan
Данный кусок кода выдает ошибку
Stepan
FATA[0000] error opening file: open /AV-AVG_logs: permission denied exit status 1
Stepan
Я так понимаю это связанно с тем что у меня нет прав доступа к папке?
Stepan
там вроде это и написано
Но такого не может быть
Alan
Да
Stepan
Я понял
Alan
permission denied
Stepan
Туплю
Stepan
Абсолютный путь же прописал *facepalm*
Aleksandr
Но такого не может быть
обычно слово прогера против слова кода ничего не стоит.
Great
Магии не бывает (с)
Pawel
Возник спор на работе, насколько (не)разумно делать для пакета с базой данной открытые функции LockDB() и UnlockDB(), как полагаете? в функциях тупо управяется мьютекс
Pawel
база sqlite, её надо лочить на запись
Anonymous
зачем всю базу лочить?
Yuriy
Еееее type switch
а как еще?
Pawel
зачем всю базу лочить?
потому что sqlite. либо лочить, либо на каждый апдейт проверять и отрабатывать ошибку "database is locked"
Anonymous
optimistic lock не поможет?
Pawel
не
Pawel
только изоляция
Антон
а как еще?
В go — никак
Yuriy
начнем с того, что там был не го а тайпскрипт
Yuriy
ну а во-вторых, речь же идет о парсинге данных на клиенте ты в любом случае отправляешь бинарные данные и тебе заново нужно будет понять, что за ними стоит
Pawel
Мы все знаем, что Go очень простой и разрабатывался изначально как язык для гугловских джунов. мы все знаем что это не так хоть и существует много хейтерских спекуляций на эту тему, основанных на искажении слов
Владимир
А почему считать то, что Go — простой язык, является хейтерством?
Daniel
ту про гугловских джунов речь
Daniel
go не делался для гугловских джунов
Daniel
он вообще не для джунов, джуны в нем теряются довольно быстро
Владимир
Ну с такой точки зрения да. Правда, я не уверен, что у гугла вообще есть джуны :))
Антон
А почему считать то, что Go — простой язык, является хейтерством?
"Простой" — не хейтерство. "Примитивный" — считается вроде уже хейтерством
Yuriy
он вообще не для джунов, джуны в нем теряются довольно быстро
можно с таким же успехом сказать что инженерия вообще не для джунов но суть в том что малое количество сущностей позволяет людям очень быстро разобраться я знаю нескольких абсолютных джунов, которые уже поустраивались гошными разрабами
V
это не то, чем стоит гордиться :Р
Yuriy
и им отдельный вопрос, как они читают синиорский код на джаве / скале?
Yuriy
и читают ли вообще
Alexander
это не то, чем стоит гордиться :Р
зависть, гадкое чувство!
V
от джавы потом не отмоешься, джава головного мозга начинается очень быстро
Je
По-моему все, что не haskel, то примитивное - дискасс
Alexander
и им отдельный вопрос, как они читают синиорский код на джаве / скале?
код на скале - это отдельный вопрос. код на джавке, если в команде нормальный лид и соблюдается код-конвеншн. то джуны отлично будут читать сеньорский код
Great
а разве сеньоры по умолчанию не должны писать код, который могут отлично читать джуны? Я думал говнокод - прерогатива джунов, а у сеньоров "с великой зарплатой приходит великая ответственность", не?