🏁Александр
вообще конечно эти все теги в структурах, вообще не гоу вей
🏁Александр
может проще сделать влоб?
Bogdan
просто SQL?
🏁Александр
ну аля
Anonymous
может проще сделать влоб?
Если ты боишься разобраться с нормальными протоколами - не бойся. Не так страшен черт, как его малют. Хотя бы проблем в итоге меньше огребешь
🏁Александр
она хорошо экономит, пока ты в контексте "мысли автора", влево-вправо - ой пошли леса граблей
🏁Александр
и тут ты всю экономию сразу вынужден обналичить и еще влесть в кредит
Bogdan
она хорошо экономит, пока ты в контексте "мысли автора", влево-вправо - ой пошли леса граблей
вот тут прямо подпишусь с echo так и выходит( Хотя вполне же рядовая задача, блин нигде не встречал в api что бы передавали массив объектов для создания связи many-to-many
🏁Александр
сделайте 1 метод прямым sql, может потом придет понимание как это в обертку запихнуть
Anonymous
по-моему с SQL ни о какой экономии речи идти не может. это полюбому будет слишком тормозно для хайлода )
Bogdan
не спасет меня тут SQL )))))))) Не в нем проблема ))))
Anonymous
ну а в целом давать совет - переписать все нафиг - это очень в духе ру-коммьюнити
🏁Александр
ээм
🏁Александр
я говорил про 1 метод
🏁Александр
в качестве песочницы
🏁Александр
что бы понять что идея работает
Anonymous
человек выбрал либу, с ней работает, у него конкретная проблема
Bogdan
Нужно как то обойти тот факт, что echo не может прибиндить к структуре этот долбанный массив интов
Bogdan
а причем тут echo?
context.Bind() потому что здесь ошибка вылезает
Sergey
ну так она совершенно правильно вылезает
Sergey
вы пытаетесь в слайс объектов засунуть слайс интов и пинаете при этом на echo
Bogdan
Та все он верно делает, я же не спорю)))))))))))) Как это обойти, что бы потом все таки вставить этот долбанный массив?
aadz
по-моему с SQL ни о какой экономии речи идти не может. это полюбому будет слишком тормозно для хайлода )
Это при плохом знании любого языка и технологии (SQL и реляционных баз данных в данном случае) не может идти речи ни о какой high load
Sergey
Та все он верно делает, я же не спорю)))))))))))) Как это обойти, что бы потом все таки вставить этот долбанный массив?
передавать массив объектов, можно с минимальным набором полей, например толкьо айди
Bogdan
Error in instance object validating: categories: (0: (name: cannot be blank.).). у меня там другое поле есть, и оно не может быть пустым
Anonymous
Это при плохом знании любого языка и технологии (SQL и реляционных баз данных в данном случае) не может идти речи ни о какой high load
тайминг простейшего запроса sql или апдейта в ту же таблицу на порядки больше nosql решений. часто на проектах даже nosql скорости приходится тюнить, так что давай не будем про знания
Sergey
Error in instance object validating: categories: (0: (name: cannot be blank.).). у меня там другое поле есть, и оно не может быть пустым
ну и как при такой структуре вы расчитываете echo должен это разрулить?
Bogdan
Та и не разрулит он это) Я прошу о помощи в том как все таки это реализовать)))
Sergey
Та и не разрулит он это) Я прошу о помощи в том как все таки это реализовать)))
либо передавать все необходимые поля, либо подумать как лучше устроить валидацию
Vladislav
Та и не разрулит он это) Я прошу о помощи в том как все таки это реализовать)))
Размаршаливаешь в другую структуру и руками закидываешь в нужный формат.
Bogdan
Да уж, go way :) Благодарю :)
Aleksandr
Да уж, go way :) Благодарю :)
это way любого языка
Bogdan
по всей видимости обычно orm решала за меня такие вопросы, а тут фреймворк не очень позволяет, хотя и действует конечно же верно
Daniel
коллеги, дайте мне совет у меня есть кусок памяти (сообщение из очереди), которое представляет совой дамп структуры c++. то есть - просто набор байтиков, который c++ восстанавливает просто кастом этой памяти в стркутуру но у меня-то go, я вынужден разбирать ее побайтово, и это тормозит нещадно скажите - есть ли способ делать это быстро?
Anatoliy
на правах нуба - выдрать модуль из плюсов и присобачить его как либу к го?
Daniel
там страшный говнокод
Daniel
хочется избежать
Bogdan
type PhoneRequest struct { Categories []int `json:"categories"` CountryID uint `json:"country_id"` Number uint `json:"number"` } func Create(context echo.Context) error { phoneRequest := new(models.PhoneRequest) if err := context.Bind(phoneRequest); err != nil { fmt.Println(fmt.Errorf("Error in instance object binding: %s\n", err)) return context.JSON(http.StatusBadRequest, httpErrorUtils.BadRequestByValidationError("phoneRequest")) } }
Bogdan
reflect: reflect.Value.Set using unaddressable value CERFFFFFFFFFFFFFFFFFF Ну что за нахер
Bogdan
Ну где нахер эта ошибка взялась, ну епта
Daniel
а?!
Daniel
зачем тут рефлект вдруг?
Bogdan
Мне откуда знать нахер этот Bind ее использует падла нахер
Kirill
Anonymous
так сделайте тот же самый простой каст, я не понимаю какой тут может быть еще совет: 1) есть перед глазами пример который быстро что-то делает на другом языке 2) на моем языке другой код работает медленно какой вывод напрашивается?
Anonymous
с С (без плюсов) тоже разная?
Anonymous
можно было import “C” и реализовать там
Daniel
с С (без плюсов) тоже разная?
тоже разная. pragma pack нетути...
Bogdan
Помогите с этим гребаной ошибкой, пожалуйста
Bogdan
Я нихера не знаю в какую сторону копать
Bogdan
Гребаное дерьмо
Vladislav
у меня 300к/с, а мне надо 3м/с
Можно написать сервис на плюсах, который перекодирует в нормальный формат.
Vasily
@onokonem через cgo и экспортировать оттуда сишную структуру ?
Anonymous
@onokonem через cgo и экспортировать оттуда сишную структуру ?
я только что это предложил, 2 сообщения выше )
Vasily
можно конечно заморочиться и написать через unsafe, но не уверен насчет выравнивания - может взорваться легко
Vladislav
Лучший вариант, конечно, заставить так не делать.
Daniel
но отдельные поря можно попробовать выдергивать с помощью unsafe
Dmitrii
func(w http.ResponseWriter, r *http.Request) { count := 5 for i := 0; i < count; i++ { written, err := w.Write([]byte("chunk\n")) log.Println(written) if err != nil { log.Fatal(err) w.WriteHeader(http.StatusInternalServerError) } time.Sleep(1000 * time.Millisecond) } } код для обучения, если клиент рвет соединение, пока цикл продолжает писать, то нету err. Как определеить что соединение было разорванно и прекратить цикл?
Kirill
можно конечно заморочиться и написать через unsafe, но не уверен насчет выравнивания - может взорваться легко
http://grokbase.com/t/gg/golang-nuts/142b7w76tk/go-nuts-how-to-preven-go-compilers-from-padding-the-struct#20140211r3tbp75jmkcykekty5uqhec6qa There is no such feature. (c) Rob Pike
Vladislav
кого и как?
Того, кто писал отсылающий в очередь софт. Топором по рукам.
Daniel
почему?
Kirill
я вот не спросил главный вопрос вечера
Daniel
пока я не пришел со свое гошечкой, все прекрасно работало
Kirill
а зачем?
Daniel
зачем что?
Vladislav
Потому что надо использовать нормальные форматы, а не дампы памяти.
Kirill
зачем что?
зачем таки гошечку к сяшке? или же сяшечку к гошке