
Alexander
05.12.2017
15:39:36
obj, err := .....
if err != nil {
response.write(err.Error()) - ne?
}

Александр
05.12.2017
15:40:32

Pawel
05.12.2017
15:41:34

Slach
05.12.2017
15:41:38
дадада... IoC ;)
Александр, дык это поищите на awesome-go библиотеки для валидации
и пишите в ответе что хотите
ну и еще есть волшебное слово gRPC ;)

Google

Александр
05.12.2017
15:41:50
так стоп!
у меня есть библиотека валидации

Aleksandr
05.12.2017
15:41:59

Александр
05.12.2017
15:42:32
с него мне кажется поля не реально вытрясти
но я щаз еще раз гляну

Aleksandr
05.12.2017
15:45:15
он тебе возвращает объект UnmarshalTypeError
в котором вся нужная инфа

Александр
05.12.2017
15:47:30
да уже увидел
только год назад добавили кстати :)
раньше были проблемы помню

Alexander
05.12.2017
17:08:21
Может кто подскажет опыт юза changestream в голанге?

Slach
05.12.2017
17:20:03

Google

Alexander
05.12.2017
17:44:05
Ой не написал mongodb извините


Nikolay
06.12.2017
08:50:14
К себе в команду на проект 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.
- Офис на м. Тверская (и через полгода - м. Театральная)


Aleksey
06.12.2017
08:53:25
Зачем вам NodeJS?

Alexander
06.12.2017
08:53:42
и монга)

Nikolay
06.12.2017
08:54:16
предыдущая версия API была на нем сделана. Мигрируем на Fabric и стэк Go.

Timur
06.12.2017
08:54:23
Это не тот канал
Точнее даже не канал

Nikolay
06.12.2017
08:54:43
это канал про аниме? т.е. про Go ? =)
короче, нам Go-бэкендер нужен, и я по адресу.

Timur
06.12.2017
08:55:49
для хантинга же сделали канал
Можно туда писать все это странное?

Nikolay
06.12.2017
08:56:06
подскажите плз, я и туда напишу.

Dima
06.12.2017
08:56:28
https://t.me/golangjob

Daniel
06.12.2017
08:56:29
https://t.me/golangjob
Но вакансии с вилкой можно и тут, если без фанатизма

Nikolay
06.12.2017
08:56:53
а, я там уже отметился. Прошу прощения у аудитории за прерванную медитацию.

Timur
06.12.2017
08:57:18
?

Alex
06.12.2017
10:29:54
Как попроще передавать инфу между го прогами на разных компах? Не http и без сторонних редисок

Yura
06.12.2017
10:31:44
rpc ?

Roman
06.12.2017
10:31:47
tcp

Google

Igor
06.12.2017
10:31:52

Zloy Dobriy
06.12.2017
10:31:54
dcp

Alexander
06.12.2017
10:32:05
message queue

Yura
06.12.2017
10:32:27
https://golang.org/pkg/net/rpc/
Это самый простой, но не самый быстрый и надёжный.

Alex
06.12.2017
10:32:52
Без прокладок в виде бд, очередей и тд

Vladimir
06.12.2017
10:35:44
можно налабать protobuf/grpc )
впрочем там будет хттп в том или ином виде под капотом
хотя с чистым протобуфом можно и tcp взять)

Alex
06.12.2017
10:37:59
Гдето видел каналы в сеть засунули и назвали netchan. Вроде в докере видел

Dmitry
06.12.2017
10:40:14

Vasily Romanov
06.12.2017
10:40:53
gRPC очень уверенно себя чувствует на этом поле
и нет ограничений чисто на го

Vladimir
06.12.2017
10:41:20
ну смотри, если тебе нужна семантика "множество читателей" - то тут можно взять какую-нибудь кафку или очередь и на нем сделать. Если семантика send-receive то streaming gRPC тоже такое делает

Vladimir
06.12.2017
10:41:23
очень неплохо работает даже

Ilya
06.12.2017
10:50:25

Sergius
06.12.2017
11:05:26

Andrew
06.12.2017
11:11:17

Mike
06.12.2017
11:13:01
Но вообще условия странные, как связать данные на разных машинах и не использовать ничего

Alexander
06.12.2017
11:14:23
Чтобы пакеты везли на таких счастливых ослах!

Sergius
06.12.2017
11:15:50

Google

Andrew
06.12.2017
11:16:50

Mike
06.12.2017
11:29:12
ну просто не ясно, что должно в видении автора выступать транспортом между тачками, если сокеты от очередей он не хочет, хттп и тсп — тоже...

Alexander
06.12.2017
11:31:25
можно попробовать с помочью квантовой запутанности, если нормальное ТЦП бессильно :)

Vasily Romanov
06.12.2017
11:39:36
если уж обсуждать странные варианты - писать файл на диск, а если между разными машинами - таскать на дискетке

Alex
06.12.2017
11:40:21

Admin
ERROR: S client not available

Kirill
06.12.2017
11:44:34

Alexander
06.12.2017
11:46:18
Если дашь себе труд хотя бы разобраться, как и что ты делаешь, конечно

Andrew
06.12.2017
12:14:05

Bohdan
06.12.2017
12:33:31
приветствую)
Использую echo и gorm. Подскажите, пожалуйста, как сделать следующую хрень.
Есть таблица phones, есть таблица categories. Между ними many-to-many связь в виде отдельной таблицы
С клиента создаю новую запись в phones и передаю туда параметром массив id шек категорий.
Когда делаю context.Bind(categories), последний неистово ругается на несоответствие типов. Как сделать вставку в phones передавая массив id-шек?
Блин, ну неужели никто не сталкивался с такой задачей то

Mush
06.12.2017
12:51:42
я не юзал горм но мне кажется конкретное указание ошибки могло бы помочь в разборе проблемы, несоответствие типов звучит как ошибка синтаксиса голанг, тут и без горм наверное можно что-то выяснить

Bohdan
06.12.2017
12:54:23
То я для более полной картины задачи указал

Александр
06.12.2017
12:55:54
ошибку то покажите?
или минимальный пример

Bohdan
06.12.2017
12:56:29
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"))
}
}
ошибка что вылезает при bind
Error in instance object binding: code=400, message=Unmarshal type error: expected=models.Category, got=number, offset=50
json что отправляю на этот метод
{"number":970000000,"country_id":1,"categories":[1]}

Google

Aleksandr
06.12.2017
12:58:57
Categories []Category - слайс категорий, а приходит слайс интов

Bohdan
06.12.2017
12:59:33
Все верно) Я же говорил об несоответствии типов выше :)
какое решение здесь можно придумать, что бы я передавал массив id вместо массива категорий?
Потому что второе лишнее излишне капец
Пробовал передавать массив объектов, у которых одно поле ID. Не сработало

Александр
06.12.2017
13:01:00
вообще конечно эти все теги в структурах, вообще не гоу вей
может проще сделать влоб?

Bohdan
06.12.2017
13:01:11
просто SQL?

Александр
06.12.2017
13:01:26
ну аля

Alex
06.12.2017
13:01:29
может проще сделать влоб?
Если ты боишься разобраться с нормальными протоколами - не бойся. Не так страшен черт, как его малют. Хотя бы проблем в итоге меньше огребешь

Александр
06.12.2017
13:01:54
она хорошо экономит, пока ты в контексте "мысли автора", влево-вправо - ой пошли леса граблей
и тут ты всю экономию сразу вынужден обналичить и еще влесть в кредит

Bohdan
06.12.2017
13:06:16

Александр
06.12.2017
13:07:27
сделайте 1 метод прямым sql, может потом придет понимание как это в обертку запихнуть

Mush
06.12.2017
13:08:06
по-моему с SQL ни о какой экономии речи идти не может. это полюбому будет слишком тормозно для хайлода )

Bohdan
06.12.2017
13:08:42
не спасет меня тут SQL ))))))))
Не в нем проблема ))))