
Subbotin
11.12.2016
15:09:02
Да. Для этих 10 процентов обычно есть возможность выполнить сырой sql

Quet
11.12.2016
15:09:23
оптимизации не для 10% )

Denis
11.12.2016
15:16:38
Я не видел, чтобы в сервисе клиенту отдавался голый crud на всю сущность
Даже тот же туду

Google

Denis
11.12.2016
15:16:55
ChangeTitle
changeDueTime
Чистый круд вытекает из плохой проектировки или не полного понимания предметки
Уже проще интерфейс бд выставить либо айпи патерна repository
Prest этим и занимается
Выставляет postgres

Subbotin
11.12.2016
15:21:37

Denis
11.12.2016
15:22:13
При чем тут схема базы
Если задача блоб хранилище
То да

Subbotin
11.12.2016
15:29:15
Что ты понимаешь под чистым крудом? В плане буквы р.
В какой момент он становится грязным?

Davron
11.12.2016
16:09:25
нужен помощь в gopkg.in/rana/ora.v3

Google

Davron
11.12.2016
16:09:47
какой оракле килиент надо устоновит
на win 10 x64
и какой gcc надо
помогите

Denis
11.12.2016
16:27:12
Короче

Peter
11.12.2016
16:28:11
http://i.imgur.com/172aZQP.png
какая из них лучше?

hamper ?
11.12.2016
16:31:19

Peter
11.12.2016
16:32:43
спасибо

hamper ?
11.12.2016
16:35:34
geoip2-golang надстройка над ней, но она всю запись вынимает, там где скорость нужна лучше иметь возможность часть полей выбирать

Peter
11.12.2016
16:38:27
мне скорость не важна

Davron
11.12.2016
16:56:39
кто использует Oracle
нужен помощь в gopkg.in/rana/ora.v3

Subbotin
11.12.2016
17:01:53

Maxim
11.12.2016
20:09:27
Как мне, блин, дёргать string в JSON сервера, который от случая к случаю имеет разные имена?

corpix
11.12.2016
20:11:06

Maxim
11.12.2016
20:12:33
Структура такая:
Status struct {
Success bool `json:"success"`
Error bool `json:"error"`
Message ??? ???
}
Поле Message может быть одним из следующих вариантов (или отсутствовать вовсе):
Message string `json:"success_msg,omitempty"`
Message string `json:"error_msg,omitempty"`
Message string `json:"message,omitempty"`
Message string `json:"msg,omitempty"`
Сразу говорю - не я такую структуру придумывал. Последние два часа мониторил реддит на тему решения подобной херни.

Quet
11.12.2016
20:14:39
сделай 4 поля )

Google

Quet
11.12.2016
20:14:46
и смотри какое не пустое

corpix
11.12.2016
20:14:49
Ну если я правильно понял то достаточно
type Status struct {
Success bool `json:"success"`
Error bool `json:"error"`
Message map[string]string `json:"message,omitempty"`
}

Maxim
11.12.2016
20:14:56

Quet
11.12.2016
20:15:04
это ж го
тут все топорно но работает

Maxim
11.12.2016
20:15:17

Quet
11.12.2016
20:15:47
я б не делал мап
уж лучше 4 поля :р

corpix
11.12.2016
20:16:33
Разве? А декодер поймёт?
Если у тебя возможен JSON по типу
{
"status": { "message": { "error_msg": "..." } }
}То да, поймёт

Maxim
11.12.2016
20:16:45

corpix
11.12.2016
20:17:09
Ну или 4 поля, да. Так даже явнее будет

Maxim
11.12.2016
20:17:19
Только это в корне ответа и всё:
type Status struct {
Success bool `json:"success"`
Error bool `json:"error"`
Message ??? ???
}

corpix
11.12.2016
20:17:28

Maxim
11.12.2016
20:18:05
В ответе он обзывается либо msg, либо error_msg, либо success_msg, либо message

corpix
11.12.2016
20:18:53
Ещё можно реализовать JSONUnmarshal и разрулить это всё там

Maxim
11.12.2016
20:19:09

Quet
11.12.2016
20:19:10

corpix
11.12.2016
20:19:12
Если цель сложить всё в Message внутри структуры

Maxim
11.12.2016
20:19:35

corpix
11.12.2016
20:19:49
оверкилл
Ну это смотря как посмотреть. Либо в каждом месте потом искать message, либо один раз положить его в известное место

Google

Quet
11.12.2016
20:20:03
и один метод который из 4 полей выберет не пустое и вернёт его
искать в каждом месте использования я не предлагал )

corpix
11.12.2016
20:21:36
Через метод значение забирать - как-будто на джаве пишем)))

Quet
11.12.2016
20:22:08
таки как будто это плохо

corpix
11.12.2016
20:22:40
Просто не совсем удобно ;)

Maxim
11.12.2016
20:23:07
Так что?

Quet
11.12.2016
20:23:21
ну зато остальные предложенные варианты очень удобные ))

corpix
11.12.2016
20:25:08
Так что?
Никогда анмаршалер не реализовывал чтоли? Примеров вон, целый гитхаб https://github.com/coreos/etcd/search?utf8=%E2%9C%93&q=unmarshaljson

Admin
ERROR: S client not available

Quet
11.12.2016
20:26:03
а ведь мог бы уже решить проблему и писать спокойно дальше задачу ))

Maxim
11.12.2016
20:26:06
Я просто как-то везде юзаю комбинацию json.NewDecoder(bytes.NewReader(BYTES)).Decode(&VAR)

corpix
11.12.2016
20:28:01

Maxim
11.12.2016
20:28:21
Окей, спасибо. Сейчас буду глядеть

Quet
11.12.2016
20:30:18
анмаршал тут плохо

corpix
11.12.2016
20:37:15
Чем? Мне вот кажется что всё хорошо, потому что логика поиска нужного элемента будет внутри анмаршалера. Разработчику структура будет отдана в заранее известном виде.
Да, здесь есть неопределённость в реализации маршалинга такой структуры(трудно будет воссоздать оригинальный JSON, но... исходный JSON мягко говоря не логичен в выборе полей, так что это не проблема).

Quet
11.12.2016
20:37:59
тем что тонна кода вместо функции в одну строчку )

corpix
11.12.2016
20:38:04
Блэкбоксинг во всёй красе

Quet
11.12.2016
20:38:36
вменяемых варианта два - мап или 4 поля и метод
я за второе, но мап тоже норм )

corpix
11.12.2016
20:38:45
Та ну, та же функция. Отличие только в том что найденное значение она пишет в структуру

Quet
11.12.2016
20:39:18
ну напиши эту функцию и покажи что получилось

Google

Denis
11.12.2016
20:50:45
Как насчет реплейс по сырому json
До анмаршалинга
:)

Quet
11.12.2016
20:53:43
мне нравится эта идея....

Denis
11.12.2016
20:54:11
"msg": в "message":
"err_msg": в "message":
"status_msg": в "message":
"mymsg": в "message":
А потом анмаршл

Quet
11.12.2016
20:54:42
норм
это го, привыкай

Maxim
11.12.2016
20:55:47

Denis
11.12.2016
20:56:31
Как насчет реплейс по сырому json
До анмаршалинга
Поле всегда одно
Message
Но джсон разный
Привести джосн до нужного вида
Потом готовить

Maxim
11.12.2016
20:57:23

Quet
11.12.2016
20:57:59
ну это конечно извращение
но милое такое )

Maxim
11.12.2016
20:57:59