

Mykyta
05.04.2018
09:56:19
Имхо глупый холивар из разряда “Canon vs Nikon”.
Монга умеет из коробки все, что мне нужно, и умеет это достаточно хорошо. Постгре - с большой натяжкой. В постгре json-овский документ - это поле конкретного типа, отсюда все вытекающие. В монге любые данные json.
Когда выбирали, на какую бд переносить проект - я топил за постгре, т.к ближе с ним знаком, мой руководитель настоял на монге. Вопрос был достаточно простой - зачем тащить кучу неиспользуемого функционала РСУБД, когда можно сразу использовать документоориентированную?
В общем радикально перевешивающих плюсов в сторону постгре мы не нашли. Если знаете таковые - прошу огласить весь список. А то пока выглядит как религиозные предпочтения и засирание хорошего продукта.
P.S. Коллеги постарше и поопытнее тестили монгу и постгрес на предмет чтения/ записи больших неоднородных документов, тут монга тоже выиграла, и сделала это «из коробки»
Если данные - реляционные, то их удобно хранить в реляционной бд, если не реляционные - удобно в нереляционной :)


Igor
05.04.2018
09:56:54
А если часть данных реляционные, а часть нет? )

Daniel
05.04.2018
09:57:39
Коллеги

Mykyta
05.04.2018
09:57:43

Google

Daniel
05.04.2018
09:58:06
Вы сошли с ума, жопу с пальцем сравнивать

Kirill
05.04.2018
09:58:17
Вы сошли с ума, жопу с пальцем сравнивать
Это вечная больная тема религиозных фанатиков постгреса, они никак не могут смириться с мыслью, что "великая и всеобъемлющая БД" в чем-то может уступать достаточно узко специализированному инструменту

FRD Official - Dmitriy
05.04.2018
10:01:17

Subbotin
05.04.2018
10:01:26
ну первоначально таки речь шла о колоночных данных а потом набежали фанаты монги

Kirill
05.04.2018
10:01:27
Для моих задач - идеальна монга и неудобен постгрес. Данные, естественно, нереляционные, куча наследования и документы одних коллекций, зачастую отличающиеся парой полей.

yuriy
05.04.2018
10:41:45

Alexander
05.04.2018
10:46:13
А как с формированием сложных отчетов, монга норм?

Igor
05.04.2018
10:48:49

Alexander
05.04.2018
10:48:57
)))
Я на MySQL и всем доволен)

Google

Александр
05.04.2018
11:09:05
а кто-то интегрировал github.com/uber/jaeger-client-go с prometheus метриками?
говнище, ни единого примера
вернее всего 1 пример и непонятно что дальше то делать с ним ?

yuriy
05.04.2018
11:10:23

Александр
05.04.2018
11:10:45
а он вообще автоматически метрики для прометеуса создает?
или надо вручную как то их считать

yuriy
05.04.2018
11:11:15
их надо по отдельному роутингу отдавать
чтобы прометей сам забирал каждые 15 сек например

Александр
05.04.2018
11:11:29
ээм нет ты не понял
это в случаи такой схемы:
app -> jaeger
-> prometheus
а у меня
app -> jaeger -> prometheus
все отдается jaeger, а он уже отдает на прометеус по роуту

Diskord
05.04.2018
12:02:50
Привет. Решил переписать один проект с питона но golang. В связи с чем вопрос, можно ли как то на golang отправлять запросы через прокси с digest аутентификацей? На Питоне без геморроя такое делается только через pycurl.

Marlik
05.04.2018
12:06:22
А что такое digest аутентификацей?

John
05.04.2018
12:06:58

Kirill
05.04.2018
12:07:24
вопрос видимо есть ли готовая либа для такой приблуды, ну это вопрос либо в гугл либо в гитхаб

Diskord
05.04.2018
12:08:10

Eldar
05.04.2018
12:33:29
подскажите, как понять какую структуру использовать в анмаршале, если есть два варианта: обычный респонз и ошибка? типа 200 и 500
(либа github.com/nats-io/go-nats)

Google

Атас
05.04.2018
14:17:07

Diskord
05.04.2018
14:46:06
Это не совсем то
Это просто HTTP digest, мне же нужно для авторизации в проксях

Человек
05.04.2018
15:49:47
Всем дарова) Как можно рекурсивно обойти директории и упаковать все найденые файлы в .zip архив?

Lee
05.04.2018
16:06:28

Человек
05.04.2018
16:12:34
Именно как в zip архив запихнуть 100+ файлов

Subbotin
05.04.2018
16:19:25
ну это
for _, filename := range filelist {
writer, _ :=zipWriter.Create(filename)
writer.Write(content)
}
что-то в таком духе

Человек
05.04.2018
16:30:59
Спасибо, я просто думаю что архив будет перезаписывать всегда и что я не смогу записывать 100 файлов параллельно

Атас
05.04.2018
16:32:03

Subbotin
05.04.2018
16:36:30
Последовательно

Subbotin
05.04.2018
16:36:44
Но это не точно

Diskord
05.04.2018
16:37:03

Атас
05.04.2018
16:45:10

Diskord
05.04.2018
16:47:22
Спасибо, попробую и отпишусь

Атас
05.04.2018
17:24:13
а если хочется чистый го, то можешь попробовать форкнуть https://github.com/RouterScript/ProxyClient и из любого https://github.com/search?l=Go&q=Digest+http+Authentication+client&type=Repositories добавить digest в него там все на http.Client в принцепе несложно

Oleg
05.04.2018
18:25:48
Ищу человека, который поможет мне написать маленький файлвотчер. Возмездно.

Robert
05.04.2018
18:32:11
Берите в гитхабе по ключевому слову fsnotify
Деньги можно мне не карту

Google

Panda
05.04.2018
18:33:07
а лучше мне
я проинспектировал его предложение

Robert
05.04.2018
18:35:01
Я вам перешлю вашу долю

Aidar
05.04.2018
19:17:56
здравствуйте, это чат по гоупро?

Sergei
05.04.2018
19:19:10

Lee
05.04.2018
20:14:32
Ну как бы да, про гоу.

Admin
ERROR: S client not available

Lee
05.04.2018
20:14:50

Aidar
05.04.2018
21:26:29
У меня телек камеру не видит

m
05.04.2018
21:30:15
Вечер добрый.
Вызываю функцию с параметром, скажем, aaa.New(true, false). И совсем не очевидно, что именно значит эти true и false. Есть какой-то способ это обозначить в коде? Понятно, что можно сздать переменные с говорящими именами, но может есть метод лучще?

Like
05.04.2018
21:30:48

Aidar
05.04.2018
21:31:32
Сделай флаги, или чо у вас принято
А не тру фолс

m
05.04.2018
21:32:15

Aidar
05.04.2018
21:35:56
aaa.New(AAA::Свойства::Свойство1|AAA::Свойства::Свойство2) хз как в го, в первый раз зашёл в чат ваще и не шарю даже в синтаксисе

Daniel
05.04.2018
21:41:53

xPushkin
05.04.2018
21:43:19

Roman
05.04.2018
21:43:35

xPushkin
05.04.2018
21:43:55
Возможно, я не знаток ЖСа

Google

m
05.04.2018
21:44:00

Roman
05.04.2018
21:44:04
в JS с типизацией проще, не нужно анонимным структурам тип определять

m
05.04.2018
21:45:48

Daniel
05.04.2018
21:48:11
инициализация структуры без типа очень уж уродливая. проще тип запилить.

Aidar
05.04.2018
21:49:43
Блин вы шо ебобо? булевы аргументы же
Скорее всего означают вещи из одной области или абстрагируются в нее
Если так то флажки надо

Roman
05.04.2018
21:50:41
могу предложить ещё один вариант:
type OptionASetting bool
const (
OptADisabled OptionASetting = iota
OptAEnabled
)
type OptionBSetting bool
const (
OptBDisabled OptionBSetting = iota
OptBEnabled
)
func SomeFunc(enabled OptionASetting, OptionBSetting) {}
// calling:
package.SomeFunc(package.OptAEnabled, package.OptBDisabled)
коротко, читабельно, производительно

m
05.04.2018
22:01:54
Роман, хорошоий вариант, спасибо.

Yuriy
06.04.2018
06:36:59
Всем привет!
Народ поделитесь мнением как правильно запилить доступ к микросвервисам в докере....?!
Есть 5 контейнеров с сервисами, которые отдают данные наружу через API. На границе всего планирую поставить Nginx (тоже в контейнере) и через reverse-proxy раскидывать запросы по сервисам.
Между клиентами и NGINX понятное дело httpS коннект.
Вопрос!? Нужно и возможно ли делать секьюрный коннект между Nginx и сервисами в контейнерах (на которые Nginx проксирует запросы). Или шифрования только публичного коннекта (между клиентами и Nginx) достаточно?

Marlik
06.04.2018
06:38:06

Yuriy
06.04.2018
06:38:51
А внутри то зачем?
Ну я особого смысла не вижу... Но хочется понять... есть ли такая практика (может так нужно по фэн шую) ))))

Marlik
06.04.2018
06:38:55
Если кто-то попал вовнутрь сервака, секьюрность между сервисами не спасёт жи... поправьте меня.

Kirill
06.04.2018
06:39:24
если не знаешь зачем оно нужно, то скорее всего оно тебе не нужно