Slava
что значит базовая структура ответа?
Slava
если у тебя респонс это конверт и data это просто набор битов, то передавай data в анмаршалер
🎉
господа, а как тестировать API? просто описать методы, и проверять что возвращается не пустой слайс (например)?
Мона неправильные типы данных передать, мона их вообще не передавать ну и т. д. Представь себе что ты поломать систему хочешь.))
heavycharged
что значит базовая структура ответа?
да, это конверт. я понял, в data писать rawMessage, и два раза декодить, первый раз ответ сервера, второй раз саму инфу.
🎉
Не любить электрон и ноду щас модно, это как с пхп чуть раннее
Так то есть статейка на хабре, када нода не потянула ВКонтактике, а вот гошечка очень даже... могу ссылку поискать...
Nurzhan
Если в ответе приходит либо error либо response, имеет смысл. Если приходит и error и response, то не вижу
heavycharged
Не могу понять, что это даст?
меньше писанины, формат ответа почти всегда совпадает, за исключением свойства data.
heavycharged
всем спасибо
Kirill
смотрю я на это, и понять не могу, что тут вообще происходит
Kirill
http://backendconf.ru/2018/author/2959
Александр
Добрый день! помогите разобраться с кодом https://play.golang.org/p/eRa9Y9aQh5Y
Александр
AddContractHandler при выполнении в таблице next номер контракта меняется но номер таблицы contact остаётся прежним
Александр
в документации подобное решается либо db.Save(&contact) или db.Update(&contact) оба способа пробывал
Artem
У grpc ж не JSON объекты летают, а тут JSON, да ещё и поля именно data, error
Александр
sqlite
Artem
Точнее орм
Александр
gorm
Artem
У тебя в форм велью точно инт?
Artem
Вот это вот r.FormValue("id")
Artem
Потому что по доке, как ты делаешь, ток с интами работает
Александр
да но там fmt.Printf("%S",contact) выводит в логи что запрос прошёл
Artem
Сделай так
Artem
err := DB.Save(&contact).Error If err != nil Panic(err)
Александр
проблема решена
Александр
id и вправду был string, но как оказалось для orm это не проблема с ним она тоже работает. проблема была банальная. id посылался ajax . я сделал ошибку за место data: {"id": id}, посылал date: {"id": id},
Artem
id и вправду был string, но как оказалось для orm это не проблема с ним она тоже работает. проблема была банальная. id посылался ajax . я сделал ошибку за место data: {"id": id}, посылал date: {"id": id},
Когда ты туда пихаешь стринг, он воспринимает это как строку для where и скорее всего first возвращал ошибку, которая не обрабатывалась
freezlite
есть ли смысл для слайса на старте задавать length ?
freezlite
вот например заранее известно сколько в слайсе элементов будет
freezlite
обычно capacity ставится конкретное число но length в 0
freezlite
slice ссылается на array потому аллокаций не будет
Anonymous
если эта длина не будет меняться, то логичнее использовать массив а не слайс?
Илья
вот например заранее известно сколько в слайсе элементов будет
если заранее известно, то лучше сразу указать
freezlite
если ставить length то массив забиваться прийдется default значениями
freezlite
т.е это более ресурсозатратно не?
Alexander
т.е это более ресурсозатратно не?
напишите бенчи, если это действительно очень важно для вашей программы
Васильев Виктор
т.е это более ресурсозатратно не?
Ты не учитываешь аллокации памяти
Илья
хм, может я неправильно понял вопрос? вопрос в make([]int,10) vs make([]int,0,10)?
Илья
или вопрос вообще в указании размера?
freezlite
make([]int, 0, 10) vs make([]int, 10, 10) ?)
Илья
по идее, первое может быть дешевле, но без бенмарка я не уверен
freezlite
по идее одинаково, просто принт length делает
freezlite
потому что underlaying array в обоих случаях создастся
freezlite
с zero values
freezlite
в обоих случаях заполняется я думаю
freezlite
просто принт отрабатывает по разному
freezlite
но это не точно потому ис прашиваю, может договоренность есть какая-то
Илья
сходу в исходниках реализацию make не могу найти, а будет ли инициализация zero values при make([]int,0,10) или нет без бенчмарка или исходников, я не уверен
Илья
они обещают
Илья
ну, вообще, просто интересно
Daniel
тогда надо в исходники лезть
Илья
уже там, только вот реализация сходу не гуглится :)
Daniel
а?!
Илья
есть сигнатуры функций с builtin, реализацию ищу :S
Egor
заофтоплю немного есть фанаты?) сколько тут - ниразу не слышал упоминаний, а ребята крутое дело делают) http://golangshow.com/
Илья
https://golang.org/doc/effective_go.html#allocation_make new([]int) returns a pointer to a newly allocated, zeroed slice structure, that is, a pointer to a nil slice value.
Daniel
есть сигнатуры функций с builtin, реализацию ищу :S
https://github.com/golang/go/blob/go1.10/src/runtime/slice.go#L46
Илья
https://github.com/golang/go/blob/go1.10/src/runtime/slice.go#L46
спасибо, копал не в ту сторону :S
Илья
(один из админов, если я не ошибаюсь) ну вроде ведущий голангшоу
Daniel
как минимум @alek_si - отец основатель этого шоу
Daniel
ну и я пару раз засветился
Egor
огооонь)
Илья
но это не точно потому ис прашиваю, может договоренность есть какая-то
вообщем, нет, разницы никакой, len влияет только на поле в sliceheader
Kirill
А что там?
2k18, целый доклад о gometalinter
Kirill
ну и я пару раз засветился
даже я каким-то образом попал :D
Zver
есть ли смысл для слайса на старте задавать length ?
Заполнять слайс с установленной длиной будет чуть быстрее, так как поле длины не надо будет инкрементировать. Но скорее всего этот прирост будет мизерным.
Aleksandr
установленная длинная
Илья
2k18, целый доклад о gometalinter
ну, хочет человек выступить, а рассказать нечего, хоть что-то расскажет