Slach
дадада... IoC ;) Александр, дык это поищите на awesome-go библиотеки для валидации и пишите в ответе что хотите ну и еще есть волшебное слово gRPC ;)
🏁Александр
так стоп!
🏁Александр
у меня есть библиотека валидации
Aleksandr
а тут просто получается "вася ты мудак, точка"
у тебя же в тексте ошибки есть объяснение проблемы, которую ты можешь вернуть клиенту или замаппить на более человекоподобное объяснение. что не так?
🏁Александр
с него мне кажется поля не реально вытрясти
🏁Александр
но я щаз еще раз гляну
Aleksandr
он тебе возвращает объект UnmarshalTypeError
Aleksandr
в котором вся нужная инфа
🏁Александр
да уже увидел
🏁Александр
только год назад добавили кстати :)
🏁Александр
раньше были проблемы помню
Aleksandr
Может кто подскажет опыт юза changestream в голанге?
Slach
Может кто подскажет опыт юза changestream в голанге?
хм... это имеется ввиду mysql change steam? или что-то другое?
Aleksandr
Ой не написал mongodb извините
Nikolay
К себе в команду на проект Blockchain платформы ищу Go разработчика. #вакансия #компания #s7 Локация: #москва #офис Контакты: n.mukhanov@s7.ru, или в личку. ЗП: 140-200 Задачи: - Разработка бэкенд сервисов на Go (Hyperledger Fabric); - Работа с внешними API. Требования: - Уверенное знание Golang - Уверенное пользование ОС Linux, Docker; - Знание JavaScript (ES6+) - Опыт работы с Git.; - Опыт написания Restful API; - Умение разбираться в чужом коде. Желательно: - Опыт работы с MongoDB, NodeJS - Техническое образование. Условия: - Стабильная работа с постоянной загрузкой в надежной компании; - Развитие и совершенствование в коллективе профессионалов одного из лидеров отрасли; - Регулярное повышение квалификации и участие в конференциях; - Возможность роста и самореализации в динамично растущей организации; - Льготные авиаперелеты для сотрудника и членов его семьи. - При желании возможно развитие в области Big Data и Blockchain. - Офис на м. Тверская (и через полгода - м. Театральная)
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
Zloy-Dobry
dcp
Alexander
message queue
Yura
https://golang.org/pkg/net/rpc/ Это самый простой, но не самый быстрый и надёжный.
Anonymous
Без прокладок в виде бд, очередей и тд
Vladimir
можно налабать protobuf/grpc )
Vladimir
впрочем там будет хттп в том или ином виде под капотом
Vladimir
хотя с чистым протобуфом можно и tcp взять)
Anonymous
Гдето видел каналы в сеть засунули и назвали netchan. Вроде в докере видел
Vasily
gRPC очень уверенно себя чувствует на этом поле и нет ограничений чисто на го
Vladimir
ну смотри, если тебе нужна семантика "множество читателей" - то тут можно взять какую-нибудь кафку или очередь и на нем сделать. Если семантика send-receive то streaming gRPC тоже такое делает
Vladimir
очень неплохо работает даже
Anonymous
Почтой России!
Mike
Но вообще условия странные, как связать данные на разных машинах и не использовать ничего
aadz
Почтой России!
Чтобы пакеты везли на таких счастливых ослах!
Mike
ну просто не ясно, что должно в видении автора выступать транспортом между тачками, если сокеты от очередей он не хочет, хттп и тсп — тоже...
aadz
можно попробовать с помочью квантовой запутанности, если нормальное ТЦП бессильно :)
Vasily
если уж обсуждать странные варианты - писать файл на диск, а если между разными машинами - таскать на дискетке
aadz
Гдето видел каналы в сеть засунули и назвали netchan. Вроде в докере видел
Если ты боишься разобраться с нормальными протоколами - не бойся. Не так страшен черт, как его малют. Хотя бы проблем в итоге меньше огребешь
aadz
Если дашь себе труд хотя бы разобраться, как и что ты делаешь, конечно
Anonymous
можно попробовать с помочью квантовой запутанности, если нормальное ТЦП бессильно :)
Если уже до квантовых запутанностей дошли, то может передавать данные через emacs?
Bogdan
приветствую) Использую echo и gorm. Подскажите, пожалуйста, как сделать следующую хрень. Есть таблица phones, есть таблица categories. Между ними many-to-many связь в виде отдельной таблицы С клиента создаю новую запись в phones и передаю туда параметром массив id шек категорий. Когда делаю context.Bind(categories), последний неистово ругается на несоответствие типов. Как сделать вставку в phones передавая массив id-шек?
Bogdan
Блин, ну неужели никто не сталкивался с такой задачей то
Anonymous
я не юзал горм но мне кажется конкретное указание ошибки могло бы помочь в разборе проблемы, несоответствие типов звучит как ошибка синтаксиса голанг, тут и без горм наверное можно что-то выяснить
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. Не сработало