@proGO

Страница 1630 из 1674
Daniel
13.08.2018
09:48:26
только нельзя забывать, что он говно

Kirill
13.08.2018
09:48:48
только нельзя забывать, что он говно
Можно аргументы пожалуйста?)

Daniel
13.08.2018
09:51:12
дохнет под нагрузкой, в лог при этом не пишет ничего полезного

Google
Anufant
13.08.2018
09:52:20
только нельзя забывать, что он говно
Но получается тогда что редис тоже плохое хранилище - так как падучее, чем тогда отличается от встроенных ? ?

Dorian
13.08.2018
09:52:27
Кластер/не кластер?

Операции какие?

Pavel
13.08.2018
09:53:25
И версия какая?

(редиса естественно)

Daniel
13.08.2018
09:53:44
всплески в 10 раз от нормальной работы не кластер (у редиса не бывает кластера, ващета)

чтение-запись поровну

не помню

Dorian
13.08.2018
09:54:31
Как нету кластера?!

Что такое нормальная работа?

Какие структуры писались?

Обычные гет/сет?

Google
Alan
13.08.2018
09:55:15
Daniel
13.08.2018
09:56:01
когда я в последний раз мпотрел - не было кластера

Dorian
13.08.2018
09:56:19
Но говно он по прежнему?

Daniel
13.08.2018
09:56:28
Redis Cluster is not able to guarantee strong consistency. In practical terms this means that under certain conditions it is possible that Redis Cluster will lose writes that were acknowledged by the system to the client.

так а при чем тут кластер? если у меня вдруг дохнет нода - при чем тут кластер?

Dorian
13.08.2018
09:57:35
ну вот интересно при каких условиях она дохнет

Alan
13.08.2018
09:57:52
уже года 3 как есть клустер

Roman
13.08.2018
10:22:14
Redis Cluster is not able to guarantee strong consistency. In practical terms this means that under certain conditions it is possible that Redis Cluster will lose writes that were acknowledged by the system to the client.
здесь ключевая фраза "при определенных" обстоятельствах. интересно, это может произойти даже если журналировать каждый чих или нет

Daniel
13.08.2018
10:28:56
при любых обстоятельствах то, на что мы ответили "записано" потеряться не должно

(но это неправда для большинства кластерных баз)

Roman
13.08.2018
10:30:47
при любых обстоятельствах то, на что мы ответили "записано" потеряться не должно
при настройках по умолчанию даже в сингл инстансе в редисе легко потерять данные в случае падения

Daniel
13.08.2018
10:32:15
падение - это другое.

худший расклад - это когда ты потерял данные и не знаешь об этом

Pawel
13.08.2018
10:33:40
ну тогда что-то типа мускула остаётся юзать с настроенным WALом, так что ли получается?

Ivan
13.08.2018
10:34:00
Коллеги, советую тарантул для этого. Быстро и данные тяжелее потерять

Моё имхо на моём же опыте

Daniel
13.08.2018
10:34:11
есть тарантул

есть аэроспайк

Ivan
13.08.2018
10:35:52
Я к тому что спросили что взять, сказали за редис и пошли обсуждать его. А я к ответу на вопрос - можно еще тарантул. Почему-то ответом не прикрепилось

Dorian
13.08.2018
10:35:53
ну тогда что-то типа мускула остаётся юзать с настроенным WALом, так что ли получается?
Используйте, то что нравится, без предрассудков и под задачу.

Google
Dorian
13.08.2018
10:36:59
Если только для сессий, то мемкеша за глаза уж. А если совсем что-то хоум и изи, то и пусть будет тот го-кэш

Было обоснование преимуществ, а дальше наброшено что "рэдис говно"

Тут так посмотрю – все говно, кроме того что пишут участники чата. Аж слезы наворачиваются

Daniel
13.08.2018
10:37:59
так-то вообще все говно

хорошего софта мы не видали давно

Daniel
13.08.2018
10:59:20
да, но они, видимо, следят за нагрузкой

Nix
13.08.2018
11:25:54
ВСем привет, подскажите почему так происходит, из map[string]interface{} - parameters:{"param": "1", "param.original": "1"} делаю json.Marshal на выходе имею {"parameters":"eyJwYXJhbSI6ICIxIiwgInBhcmFtLm9yaWdpbmFsIjogIjEifQ=="}

Georgij
13.08.2018
11:29:41
Вангую, что кладёшь байтики вместо string.

undiabler
13.08.2018
11:30:52
тогда бы были кракозябры, когда это json научился автоматом в base64 конвертить?

Nix
13.08.2018
11:31:40
b,err:=json.Marshal(m) m map[string]interface{}

DMITRY
13.08.2018
11:32:30
выложи код на с примером на https://play.golang.org/

undiabler
13.08.2018
11:32:45
ищите ошибку в другом месте у вас base64 это точно не дефолтное поведение

Georgij
13.08.2018
11:48:37
тогда бы были кракозябры, когда это json научился автоматом в base64 конвертить?
>Array and slice values encode as JSON arrays, except that []byte encodes as a base64-encoded string, and a nil slice encodes as the null JSON value. https://golang.org/pkg/encoding/json/#Marshal

idk, разве не этот случай?

undiabler
13.08.2018
11:49:38
оО, спасибо за инфу. Не знал о таком поведении

а обратно при конвертации в map[string]interface{} каким магическим образом будет определять что там base64?)

видимо никаким)

Nix
13.08.2018
12:01:23
fmt.Sprintf("%s", par) есть глалгол какой еще чтобы "{\" не ставилось?

Google
Nix
13.08.2018
12:01:55
везде перед " ставиться \

Zver
13.08.2018
12:43:10
fmt.Sprintf("%s", par) есть глалгол какой еще чтобы "{\" не ставилось?
Не совсем понятно о чем вы, но возможно обратный апостроф вас спасет. ``

Nix
13.08.2018
14:00:09
Не совсем понятно о чем вы, но возможно обратный апостроф вас спасет. ``
После конвертации из []byte в стринг при json.Marshal выводит \ перед каждым " {\"action\": \"hook\",

undiabler
13.08.2018
14:02:37
для вложенной структуры нужно такого вида код: m := map[string]interface{}{ "parameters": map[string]interface{}{ "param": "1", "param.original": "1" } }

Combot
13.08.2018
14:04:20
Nix (0) увеличил репутацию Artem (2)

Nix
13.08.2018
14:21:28
https://github.com/golang/go/issues/20581

Sergey
13.08.2018
19:33:55
а какая практика тестировать запросы к бд?

ну всмысле есть какие нить экзамплы

best practice

Bohdan
13.08.2018
19:34:21
что ты имеешь ввиду под "тестировать запросы"?

Sergey
13.08.2018
19:35:29
что ты имеешь ввиду под "тестировать запросы"?
ну есть там функция тип getAll(), есть хендл который возвращает данные на запрос

как его тестировать что все это работает как надо

и придут данные которые ожидались

Bohdan
13.08.2018
19:37:45
тестовая база данных и фикстуры + функциональные тесты

Sergey
13.08.2018
19:41:58
Danil
14.08.2018
08:13:17
Господа помогите пожалуйста, как сделать запрос на сайт,чтобы он вернул хтмл страницу вот что я делаю fmt.Print(resp.Body)

resp, err := http.Get("http://pelevin.pythonanywhere.com/") if err != nil { fmt.Println(err) return } fmt.Print(resp.Body)

Google
Danil
14.08.2018
08:13:43
но в принте пустая строка

DMITRY
14.08.2018
08:16:18
resp.StatusCode выведи на печать

Danil
14.08.2018
08:18:32
Nyan
14.08.2018
08:18:47
resp, err := http.Get("http://pelevin.pythonanywhere.com/") if err != nil { fmt.Println(err) return } fmt.Print(resp.Body)
resp.Body это ридер, из него нужно считать данные. Это можно сделать с помощью io/ioutil, например

Danil
14.08.2018
08:20:26
body, err := ioutil.ReadAll(resp.Body)

DMITRY
14.08.2018
08:20:27
b, err := ioutil.ReadAll(resp.Body) log.Println(string(b))

Danil
14.08.2018
08:20:39
resp, err := http.Get("http://pelevin.pythonanywhere.com/") if err != nil { fmt.Println(err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) fmt.Print(body)

так?

Alexander
14.08.2018
08:21:04
ток там byte будет, не строка

Страница 1630 из 1674