Size: a a a

2020 June 30

SZ

Sergey Zhdanov in Go-go!
но какое это имеет отношение к go? :)
источник

SP

Slava Pinchuk in Go-go!
Орб Экксель
Подскажит пожалуйста,  у меня следующая задача: прочитать json, и на его основе создать sql запрос. Использую только стандартные библиотеки. Json такого вида: {"field1":values, "field2": value2}
В разных json файлах могут быть разные поля. Начинаю формировать sql запрос и тут я встреваю. Использую функцию Exec, и на вход она принимает имя процедуры и список аргументов в виде ...interface{}
Как мне преобразовать json в интерфейс?
не надо преобразовывать джейсон в интерфейс.
Шаг 1: Создать структуру данных , в которую можно будет санмаршалить все поля с джейсона.
Вот к примеру:
 req, err := wh.ValidateRequest(req)
 if err != nil {
   return nil, err
 }
 body, err := ioutil.ReadAll(req.Body)
 if err != nil {
   return nil, err
 }
 defer req.Body.Close()

 var wr messages.CustomerWebHookRequest
 if err := json.Unmarshal(body, &wr); err != nil {
   return nil, err
 }


Здесь я читаю джейсон что получил в структуру данных
 type CustomerWebHookRequest struct {
 EventId           string `json:"EventId"`
 EventName         string `json:"EventName"`
 EventTime         string `json:"EventTime"`
 NewStatus         string `json:"NewStatus"`
 OldStatus         string `json:"OldStatus"`
 CustomerId        string `json:"CustomerId"`
 ExternalReference string `json:"ExternalReference"`
}

шаг 2 : заюзать все поля в конкретном запросе. напишите запрос...
Пример:
   err := db.PostgresConn.QueryRow(`
     INSERT INTO ALBUM(author_id, album_name, album_year, cover)
     VALUES ($1, $2, $3, $4)
     RETURNING id
   `, authorID, albumName, albumYear, coverToInsert).Scan(&albumID)


Вот к примеру я добавил в коллецию 4 поля authorID, albumName, albumYear, coverToInsert.
источник

SP

Slava Pinchuk in Go-go!
Sergey Zhdanov
но какое это имеет отношение к go? :)
мне надо написать апиху для данного сервиса на Го
источник

SP

Slava Pinchuk in Go-go!
Vitalii Solodilov
Ну вот, а я хочу один раз в makefile написать что-то типа такого, псевдокод: for pakcages in $(find-all-packages-cmd); do find-all-interfaces-cmd | xargs mockgen ; done
И не думать, про то что я должен при создание интерфейса добавлять комменты еще
Пишете башскрипт а потмо в мейкфале добавляете команду его запустить
 ## dependencies - fetch all dependencies for scripts
dependencies:
 ${call colored, dependensies is running...}
 ./scripts/get-dependencies.sh
источник

VS

Vitalii Solodilov in Go-go!
Slava Pinchuk
Пишете башскрипт а потмо в мейкфале добавляете команду его запустить
 ## dependencies - fetch all dependencies for scripts
dependencies:
 ${call colored, dependensies is running...}
 ./scripts/get-dependencies.sh
Эм, спасибо, писать makefile и bash скрипты я умею 😄
источник

SP

Slava Pinchuk in Go-go!
Vitalii Solodilov
Я же написал use case, хочу сделать скриптик, который будет находить все интерфейсы в package\файле и генерировать моки. При чем здесь идейка?
напишете киньте потом ссылку на меня, полезная фича )
источник

VS

Vitalii Solodilov in Go-go!
Slava Pinchuk
напишете киньте потом ссылку на меня, полезная фича )
Если не забуду, сюда скину
источник

АС

Артур Саляхов... in Go-go!
Коллеги, кто как реализует openID сервер? Используете гидру или что-то иное?
источник

ВС

Владимир Столяров... in Go-go!
у нас допиленный https://github.com/dexidp/dex (добавлен только собственный сервис авторизации)
источник

АС

Артур Саляхов... in Go-go!
Владимир Столяров
у нас допиленный https://github.com/dexidp/dex (добавлен только собственный сервис авторизации)
Спасибо, поковыряю
источник

AA

Aleksey Agafonov in Go-go!
Артур Саляхов
Коллеги, кто как реализует openID сервер? Используете гидру или что-то иное?
источник

AA

Aleksey Agafonov in Go-go!
у Dex для OpenId supports groups claim нет
источник

AA

Aleksey Agafonov in Go-go!
источник

АС

Артур Саляхов... in Go-go!
Спасибо за отзыв)
источник

CF

Captain Flint in Go-go!
Slava Pinchuk
go get github.com/valyala/gozstd

чтобы линтеры работали сперв анадо скачать его пакет и тогда баш сприпт отработает, он сперва уу Вас проверяет есть ли либа а потмо юзает ее, судя по месседж - скачатьнадо
Докер контейнер был корявый, порешал, спасибо
источник

Y

Yevhenii in Go-go!
Насколько у нас рефлексия вообще быстрая? Ну, скажем брать поля структуры и их значения
источник

Y

Yevhenii in Go-go!
В целом это ОЧЕНЬ плохо или норм? json же вроде так устроен 🤔
источник

ЕА

Егор Андреевич... in Go-go!
А что мешает бенчмарк написать?
источник

ЕА

Егор Андреевич... in Go-go!
Зависит от ситуации, на транспортном уровне - норм, на уровне логики на больших объёмах вероятно нет, чтобы точнее узнать - пиши бенчмарк по своей ситуации
источник

Y

Yevhenii in Go-go!
Егор Андреевич
А что мешает бенчмарк написать?
Ну, может у кого тут уже опыт есть с этим.
источник