Pawel
Slach
дадада... IoC ;)
Александр, дык это поищите на awesome-go библиотеки для валидации
и пишите в ответе что хотите
ну и еще есть волшебное слово gRPC ;)
🏁Александр
так стоп!
🏁Александр
у меня есть библиотека валидации
🏁Александр
🏁Александр
с него мне кажется поля не реально вытрясти
🏁Александр
но я щаз еще раз гляну
Aleksandr
он тебе возвращает объект UnmarshalTypeError
Aleksandr
в котором вся нужная инфа
🏁Александр
да уже увидел
🏁Александр
только год назад добавили кстати :)
🏁Александр
раньше были проблемы помню
Aleksandr
Может кто подскажет опыт юза changestream в голанге?
Aleksandr
Ой не написал mongodb извините
Tom
Зачем вам NodeJS?
Alexander
и монга)
Nikolay
предыдущая версия API была на нем сделана. Мигрируем на Fabric и стэк Go.
Timur
Это не тот канал
Timur
Точнее даже не канал
Nikolay
это канал про аниме? т.е. про Go ? =)
Nikolay
короче, нам Go-бэкендер нужен, и я по адресу.
Vladislav
Timur
для хантинга же сделали канал
Timur
Можно туда писать все это странное😂
Nikolay
подскажите плз, я и туда напишу.
Dmitrii
https://t.me/golangjob
Daniel
https://t.me/golangjob
Daniel
Но вакансии с вилкой можно и тут, если без фанатизма
Nikolay
а, я там уже отметился. Прошу прощения у аудитории за прерванную медитацию.
Timur
😊
Anonymous
Как попроще передавать инфу между го прогами на разных компах? Не http и без сторонних редисок
Yura
rpc ?
Roman
tcp
Igor
Zloy-Dobry
dcp
Alexander
message queue
Yura
https://golang.org/pkg/net/rpc/
Это самый простой, но не самый быстрый и надёжный.
Anonymous
Без прокладок в виде бд, очередей и тд
Vladimir
можно налабать protobuf/grpc )
Vladimir
впрочем там будет хттп в том или ином виде под капотом
Vladimir
хотя с чистым протобуфом можно и tcp взять)
Anonymous
Гдето видел каналы в сеть засунули и назвали netchan. Вроде в докере видел
Dmitry
Vasily
gRPC очень уверенно себя чувствует на этом поле
и нет ограничений чисто на го
Vladimir
ну смотри, если тебе нужна семантика "множество читателей" - то тут можно взять какую-нибудь кафку или очередь и на нем сделать. Если семантика send-receive то streaming gRPC тоже такое делает
Vladimir
очень неплохо работает даже
Илья
Sergius Ofitserov
Anonymous
Mike
Mike
Но вообще условия странные, как связать данные на разных машинах и не использовать ничего
aadz
Чтобы пакеты везли на таких счастливых ослах!
Sergius Ofitserov
Anonymous
Mike
ну просто не ясно, что должно в видении автора выступать транспортом между тачками, если сокеты от очередей он не хочет, хттп и тсп — тоже...
aadz
можно попробовать с помочью квантовой запутанности, если нормальное ТЦП бессильно :)
Vasily
если уж обсуждать странные варианты - писать файл на диск, а если между разными машинами - таскать на дискетке
Anonymous
Kirill
aadz
Если дашь себе труд хотя бы разобраться, как и что ты делаешь, конечно
Anonymous
Bogdan
приветствую)
Использую echo и gorm. Подскажите, пожалуйста, как сделать следующую хрень.
Есть таблица phones, есть таблица categories. Между ними many-to-many связь в виде отдельной таблицы
С клиента создаю новую запись в phones и передаю туда параметром массив id шек категорий.
Когда делаю context.Bind(categories), последний неистово ругается на несоответствие типов. Как сделать вставку в phones передавая массив id-шек?
Bogdan
Блин, ну неужели никто не сталкивался с такой задачей то
Anonymous
я не юзал горм но мне кажется конкретное указание ошибки могло бы помочь в разборе проблемы, несоответствие типов звучит как ошибка синтаксиса голанг, тут и без горм наверное можно что-то выяснить
Bogdan
Bogdan
То я для более полной картины задачи указал
🏁Александр
ошибку то покажите?
🏁Александр
или минимальный пример
Bogdan
type Phone struct {
Categories []Category `gorm:"many2many:phone_categories;ForeignKey:id;AssociationForeignKey:id" json:"categories"`
}
type Category struct {
Phones []Phone `gorm:"many2many:phone_categories;ForeignKey:id;AssociationForeignKey:id" json:"phones"`
}
func Create(context echo.Context) error {
phone := new(models.Phone)
if err := context.Bind(phone); err != nil {
fmt.Println(fmt.Errorf("Error in instance object binding: %s\n", err))
return context.JSON(http.StatusBadRequest, httpErrorUtils.BadRequestByValidationError("phone"))
}
}
Bogdan
ошибка что вылезает при bind
Error in instance object binding: code=400, message=Unmarshal type error: expected=models.Category, got=number, offset=50
Bogdan
json что отправляю на этот метод
{"number":970000000,"country_id":1,"categories":[1]}
Aleksandr
Categories []Category - слайс категорий, а приходит слайс интов
Bogdan
Все верно) Я же говорил об несоответствии типов выше :)
Bogdan
какое решение здесь можно придумать, что бы я передавал массив id вместо массива категорий?
Bogdan
Потому что второе лишнее излишне капец
Bogdan
Пробовал передавать массив объектов, у которых одно поле ID. Не сработало