MOS2502
Всем огромное спасибо, вопрос решили :)
Anonymous
всем привет как корректно распрсить json в структуру приходит в виде { "list": { "data": [ { "dataid": 5, "name": "nameOne" }, { "dataid": 7, "name": "nameOne" } ] } } у меня есть структура type Info struct { ID bson.ObjectId `bson:"_id" json:"id"` Dataid int `bson:"dataid" json:"dataid"` Name string `bson:"name" json:"name"` } при этом b, err = ioutil.ReadAll(res.Body) var temp []Info err = json.Unmarshal(b, &temp) if err != nil { log.Println(err) return } отдает мне cannot unmarshal object into Go value of type если разбирать не в слайс то создается один пустой объект структуры а не много что не так я делаю?
Daniel
list забыли
Aleksandr
и data
Aleksandr
https://mholt.github.io/json-to-go/
Daniel
вооще - вам сюда: https://mholt.github.io/json-to-go/
Aleksandr
вот это тут пригодится
Anonymous
те мне нужно описать прям всю структуру в таком же виде?
Aleksandr
те мне нужно описать прям всю структуру в таком же виде?
ну у вас же определенная схема json? как анмаршаллер догадается, что часть json'а надо пропустить?
Aleksandr
либо структура соответствует схеме. либо пишете свой анмаршаллер
Anonymous
бааалин(
Anonymous
вооще - вам сюда: https://mholt.github.io/json-to-go/
сделал аналогичную структуру разбирает в пустую {{[]}}
Anonymous
Илья
там и сделал
https://play.golang.org/p/4mL2IAQATjm
Илья
плохо сделал значит
Anonymous
type AutoGenerated struct { List struct { Data []struct { Dataid int `json:"dataid"` Name string `json:"name"` } `json:"data"` } `json:"list"` } это тоже неверно?
Илья
см playground
Anonymous
спасибо, в теге опечатался)
Андрей
Друзья, подскажите, у меня есть функция auth это мидлвар, а как мне передать из неё данные в следующую за ней функцию secret , вот код, они в самом низу https://github.com/tsepen/lan-place/blob/master/handlers/users.go
Alexander
тестирую свое приложение через wireshark и вижу ошибку tcp zero window
Alexander
быстрое гуглениче чет не помогло
Alexander
никто не в курсе что за зверь?
Aleksandr
быстрое гуглениче чет не помогло
первая ссылка - ссылка на вики вайршарка "что означает tcp zero window"
Daniel
Не помогло же...
Alexander
Да, конечно же я сам сначала погуглил и пришёл к выводу, что клиент не успевает обработать Сообщения
Alexander
Все верно понял?
Daniel
Правда, тут только гильотинирование
Alexander
Но чёт непонятно почему клиент внезапно не успевает
Roman
А кто нибудь через viper сохранял конфиг в $HOME? как это сделать? GlobalConfig = viper.New() GlobalConfig.SetConfigFile("$HOME/" + configFileName) // global open $HOME/.jessica.yml: no such file or directory и GlobalConfig = viper.New() GlobalConfig.SetConfigFile("~/" + configFileName) // global open ~/.jessica.yml: no such file or directory Не сработало, надо достать значение из переменной окружения и составить полный путь? или я что-то не так делаю?
Roman
GlobalConfig.SetConfigFile(os.Getenv("HOME") + "/" + configFileName) вот так сработало, но вообще интересно, можно ли сделать короче
Anonymous
Да можно, через AutomaticEnv он разбирает переменные с нужным префиксом, кроме SetConfigFile можно указать AddConfigPath тут неплохо описано https://blog.gopheracademy.com/advent-2014/configuration-with-fangs/
Roman
Да можно, через AutomaticEnv он разбирает переменные с нужным префиксом, кроме SetConfigFile можно указать AddConfigPath тут неплохо описано https://blog.gopheracademy.com/advent-2014/configuration-with-fangs/
через AddConfigPath он будет только искать, но как я понял, не создаст файл, если его там нет, ведь путей для поиска может быть много
Evgeny
Подскажите, пожалуйста, по ситуации. Глаз вообще замылился. Использую MGO. Меняю документ, у значения обновляю параметр bool. Обновление с true на false, а затем обратно с false на true проходит штатно. Меняю через $set. Последующие изменения параметра вообще не приводят к результату. В самой консоли mongo параметр вручную изменяется без проблем сколько угодно раз, то же самое через Compass. Пытался вывести какие-либо ошибки у MGO всё пусто, запрос как бы уходит. Где следует поискать ошибку ?
Андрей
Всем добра, подскажите планируются ли а ближайшее время какие то конференции или мероприятия по golang в России? Может дадите ссылку где можно следить за предстоящими событиями ?
Anonymous
Ребят, можете помочь с кодревью буквально пару функций.
Anonymous
Набыдлокодил прямо сказать, а вот как правильно это реализовать, чтобы еще больше не набыдлокодить…
Anonymous
https://pastebin.com/fwEtG2Z6 Вот код… помогите пжст
Zhenja
log.Fatalf после return?
Anonymous
Anonymous
не исправил… до этого не было ретюрна просто фатал, не поправил
Zhenja
для картинки _thumb_300x300 размер 300*400?
Anonymous
Косяк
Anonymous
должен быть 300x300
Zhenja
я б вынес все это в отдельную функцию, на вход которой подается размеры и она делает одну картинку нужного размера
Zhenja
func (img *Image) ResizeOneImg(w, h int) (string, error) { fname := filepath.Join(img.Path, img.Id, fmt.Sprintf("_thumb_%dx%d", w, h)+img.Name+img.Type) src := openImage(fname) dst := image.NewRGBA(image.Rect(0, 0, w, h)) draw.ApproxBiLinear.Scale(dst, dst.Bounds(), src, src.Bounds(), draw.Over, nil) dstFile, err := os.Create(fname) if err != nil { return "", err } defer dstFile.Close() if err = jpeg.Encode(dstFile, dst, nil); err != nil { return "", err } return fname, nil }
Zhenja
ps. не проверял, но надеюсь идея понятна
Zhenja
for ... { f[fmt.Sprintf("filePath_%dx%d", h, w)], err = img.ResizeOneImg(w, h) if err != nil { return } }
Zhenja
https://play.golang.org/p/bKT7ECaAhjy Коллеги, подскажите как тут получить адрес строки-результата? Еще одну переменную вводить?
Zhenja
потому что результат функции еще нигде не сохранился и адреса у него еще нет?
Zhenja
спасибо
Vadim
Когда уже сделают нормальную библиотеку графиков для го?(
Vadim
зачем она нужна?
Сразу популярность в кругах учёных возрастёт.
Andrei 🦉
но у ученых же есть R
и питон, который умеет все, что умеет R и еще больше
Andrei 🦉
Сразу популярность в кругах учёных возрастёт.
го никогда не будет популярным у ученых
Aleksandr
потому что ученые не программисты
Andrei 🦉
Почему?
потому что он медленный, а коменсировать это сишными либами не получится, так как cgo еще медленнее
Vadim
потому что ученые не программисты
Программирование - прикладной инструмент.
Andrei 🦉
на го отстутствует обощенное програмирование, то есть на то, что в питоне ты потратишь 5 строк, в го может вылится в сотни
Aleksandr
Программирование - прикладной инструмент.
без разницы. для "не-программиста" важно наличие доступных для их понимания библиотек. на го их нет. писать никто не будет. на R и питоне уже есть.
Vadim
потому что он медленный, а коменсировать это сишными либами не получится, так как cgo еще медленнее
Для моих целей хватает го и си, но не хватает питона. И у меня есть выбор: или писать прототипы на питоне, а после переписывать на си, или писать на го.
Andrei 🦉
то есть с одной стороны он слишком медленный, чтобы заменить модули на си и фортране, с другой он слишком деревянный, чтобы заменить питон
Olzhas
На пхп писать надо
Oleg
толсто
Aleksandr
На пхп писать надо
хотелось бы банить за несмешные шутки
Olzhas
Это не шутка!