Size: a a a

2020 June 29

ЛА

Локоть Анатолий... in Go-go!
Переслано от Локоть Анатолий...
Некоторое время задавал процитированный вопрос - как быть с большим конфиг файлом в проекте (файлом, который содержит много сложных структур) и непонятно, как такой конфиг поставлять через переменные окружения при использовании viper.

Вообщем для себя сделал вот такой фикс - вручную проверяем переменную окружения CONFIG и если она задана, пишем ее содержимое в отдельный файл, и переучиваем viper читать этот файл.
Так мы можем поставлять сложный конфиг через энв, также сохранена совместимость с всей функциональностью viper, которая ранее использовалась.
https://play.golang.org/p/ec_uczgNuQ4
источник

SZ

Sergey Zhdanov in Go-go!
а зачем в конфиге такое?
источник

ЛА

Локоть Анатолий... in Go-go!
Sergey Zhdanov
а зачем в конфиге такое?
Зачем в конфиге списки [] или структуры {}? Или списки структур?

Тот же viper читает json и yaml, которые на этих штуках и основаны.
источник

VS

Victor Safronov in Go-go!
Daniel Podolsky
Проверять ошибки на соответствие надо с помощью errors.Is()
хаха, дошёл до актуализации тестов и столкнулся с тем, что assert не имеет методов для нативной проверки, и получается какой-то дикий костыль в виде assert.True(t, errors.Is(err, expected)). неужели так и нужно делать?
источник

ЛА

Локоть Анатолий... in Go-go!
Локоть Анатолий
Зачем в конфиге списки [] или структуры {}? Или списки структур?

Тот же viper читает json и yaml, которые на этих штуках и основаны.
Миллион кейсов от банального списка строк до черта в ступе.
источник

SZ

Sergey Zhdanov in Go-go!
Локоть Анатолий
Миллион кейсов от банального списка строк до черта в ступе.
возможно есть кейсы, не буду спорить, но звучит как костыль. То есть это уже не конфиг, а просто загрузка входных данных из json
источник

М

Мерль🛠 in Go-go!
Victor Safronov
хаха, дошёл до актуализации тестов и столкнулся с тем, что assert не имеет методов для нативной проверки, и получается какой-то дикий костыль в виде assert.True(t, errors.Is(err, expected)). неужели так и нужно делать?
пока да, но в течении пары дней завезут
источник

ВС

Владимир Столяров... in Go-go!
правда при этом отвалятся версии ниже 1.13 (хотя могли бы и под билд тег по версии затащить)
источник

RM

Roman Martynov in Go-go!
Ребят подскажите как сделать что бы при устаровки моей библиотеки го автоматически билдила бинарник и клала в GOPATH/bin ?
источник

DP

Daniel Podolsky in Go-go!
Оно так и делает, если в устанавлиемом есть пакет main
источник

RM

Roman Martynov in Go-go!
а если 2 пакета ?
источник

DP

Daniel Podolsky in Go-go!
Ставьте три точки
источник

DP

Daniel Podolsky in Go-go!
Как у easyjson
источник

AE

Alexander Emelin in Go-go!
Владимир Столяров
правда при этом отвалятся версии ниже 1.13 (хотя могли бы и под билд тег по версии затащить)
а они рисковые, testify же везде
источник

ВС

Владимир Столяров... in Go-go!
Можно пойти и налить свое возмущение в коменты к pr-у
источник

DP

Daniel Podolsky in Go-go!
Владимир Столяров
правда при этом отвалятся версии ниже 1.13 (хотя могли бы и под билд тег по версии затащить)
а go.mod вам на что?
источник

Н

Никита in Go-go!
Кстати, кто-то читал статью Твиттера о функциональном тестировании? Какое вообще мнение по этому поводу

https://blog.twitter.com/engineering/en_us/topics/insights/2017/the-testing-renaissance.html
источник

ЛА

Локоть Анатолий... in Go-go!
Sergey Zhdanov
возможно есть кейсы, не буду спорить, но звучит как костыль. То есть это уже не конфиг, а просто загрузка входных данных из json
Ну чтобы далеко не ходить, можно посмотреть как выглядит конфигурация какой-то часто используемой библиотеки. Логгер zap, например.  Структура развесистая и есть в ней и отдельные структуры и списки
источник

zl

ziggy lucid in Go-go!
подскажите, как заставить работать https://github.com/klauspost/cld2 в модуле?

go generate github.com/klauspost/cld2
go: not generating in packages in dependency modules

при запуске естественно не находит ничего
CLD2: Loading plugin: cld2go.so could not be found in any of:
источник

d

dmitriy in Go-go!
кто-то пользуется go kit? я завязан на версиях, которые у них внутри?
источник