
Denis
05.03.2017
10:47:10
Хандлер принимает данные ивента
Можно вообще без корутин

Roman
05.03.2017
11:01:03
Без корутин и каналов в мультитридинг и асинк?

Denis
05.03.2017
11:08:33
Ну хочется асинк

Google

Denis
05.03.2017
11:08:44
Запускаете хендлеры в корутинах

Roman
05.03.2017
11:12:17

Alexey
05.03.2017
11:22:35

Phil
05.03.2017
11:33:26

Alexey
05.03.2017
11:34:31

Phil
05.03.2017
11:36:29

Alexey
05.03.2017
11:38:22
Согласен:)

Phil
05.03.2017
11:42:49
Ну и это как с кластерами. Все о них говорят, но в реалии

Alexey
05.03.2017
11:47:58

Nikolay
05.03.2017
12:38:48

Serge
05.03.2017
12:48:53
Эта штука называется nsq
Так, за nsq спасибо. Но это про распределенные системы.
Я хочу просто внутри приложения это сделать. Т.е. по мне так это пишется за пару часов, но лень же:)

Denis
05.03.2017
13:04:55
https://golanglibs.com/search?q=pubsub

Maxim
05.03.2017
13:24:19
Слушайте, вопросец есть по встраивание структур в структуры

Google

Maxim
05.03.2017
13:24:50
Как лучше встраивать повторяющиеся элементы в структуры JSON?

Dmitry
05.03.2017
13:25:02
списком
в json есть такой, между [ и ] токенами перечисляешь повторяющиеся структуры через запятую

Maxim
05.03.2017
13:28:08
Я вижу 4 варианта, но распишу два:
type SampleText struct {
Test `json:"user_name"
}
type Test struct {
string
}
или
type SampleText struct {
Test `json:"user_name"
}
type Test struct {
Test string
}

Alexey
05.03.2017
13:28:46
Найдите 5 отличий?)

Dmitry
05.03.2017
13:29:01
оба не конпелируются?

Alexey
05.03.2017
13:29:02
а, нашёл

Maxim
05.03.2017
13:29:37
Найдите 5 отличий?)
Ну, в обеих случаях мне придётся таскать поезд var.Test.string или var.Test.Test
А я ожидаю от встраивания просто var.Test

Dmitry
05.03.2017
13:30:42
extends ищешь? :)

Maxim
05.03.2017
13:31:05
Структур у меня много и получается что половина содержимого требуется расписывать до третьего уровня, а половину - до второго. Хотя я могу не встраивать повторящиеся части вовсе, а продублировать их как любой другой объект. Но тогда при изменении объекта придётся все структуры её содержащие поправлять, что не очень
И, как бэ, какой вариант лучше?
Или есть альтернативные способы встраивания?
И я не совсем понимаю разницу между:
type SampleText struct {
Test Test
}
и
type SampleText struct {
Test
}

Phil
05.03.2017
13:49:24

Serge
05.03.2017
13:53:13

Phil
05.03.2017
13:54:03

Google

Maxim
05.03.2017
14:54:48
Go умеет в понимание int как bool?

Denis
05.03.2017
14:55:07
Не

Maxim
05.03.2017
14:55:24
Чтобы 1 = true, а 0 = false
Или только через if?

Phil
05.03.2017
14:55:41
а как у тебя кейс прости, где не if?

Maxim
05.03.2017
14:56:18
Нигде. Просто спрашиваю, вдруг я зря if леплю

Phil
05.03.2017
15:30:33

Maxim
05.03.2017
15:33:27
Есть структура:
verifiedEmailResponse struct {
Request Request `json:"request"`
User struct {
Activated int `json:"user_activated,omitempty,string"`
} `json:"user"`
}
Есть функция, которая и так работает с этим куском:
...
var obj verifiedEmailResponse
if err := json.NewDecoder(bytes.NewReader(resp)).Decode(&obj); err != nil {
return false, err
}
if obj.User.Activated == 1 {
return true, nil
}
return false, nil

Yura
05.03.2017
15:34:00

Maxim
05.03.2017
15:34:37
Ничего против не имею лишние три строки накатать

Phil
05.03.2017
15:35:11

Maxim
05.03.2017
15:35:28
Просто если есть способ проще, который я просто не уточнил о его существовании, то зачем лепить больше? :D

Alexey
05.03.2017
15:41:41

Maxim
05.03.2017
15:42:07

Alexey
05.03.2017
15:42:23
1 будет тру, остальное false вроде.

Phil
05.03.2017
15:44:17

Maxim
05.03.2017
15:44:50

Yura
05.03.2017
15:45:29
return obj.User.Activated == 1, nil
так не пробовали?

Alexey
05.03.2017
15:46:10

Google

Phil
05.03.2017
15:46:17

Alexey
05.03.2017
15:47:02
Это у меня питоновское прошло, там же свитчей не было, всё через мапы (дикты) делалось

Phil
05.03.2017
15:47:10

Maxim
05.03.2017
15:53:13
Такое встречается раза 2-3 всего, думаю можно пренебречь картами

Alexey
05.03.2017
15:55:11

Phil
05.03.2017
15:55:52
Это было ожидаемо

Kirill
05.03.2017
15:56:01

Alexey
05.03.2017
15:56:42
Ну вот если бы там было не только 0 и 1 мапить, а много интов, тысячи их, то мапа была б пошустрее :)

wf
05.03.2017
15:59:09
Заранее извиняюсь за нубский вопрос, но есть ли способ опимизировать подобную конструкцию?
if param1, ok := job.GetParamString("param1");ok {
if param2, ok := job.GetParamString("param2");ok {
if param3, ok := job.GetParamString("param3");ok {
// Using params1...3
}
}
}

Admin
ERROR: S client not available

Yura
05.03.2017
15:59:20

Kirill
05.03.2017
15:59:51

Yura
05.03.2017
16:00:27
В общем, потесть. Всё, что помещается на экран в виде select (по целочисленным ключам) всегда будет быстрее в виде select, чем в виде map.

Alexey
05.03.2017
16:00:29

Yura
05.03.2017
16:01:05
Т.е. может быть для тысячи ты и прав, но я не могу представить 1000 статически описанных кейсов.

Phil
05.03.2017
16:01:44

Yura
05.03.2017
16:02:02
Может быть ты даже прав для 100 кейсов (именно по-этому я и написал "всё что помещается на экран")

Kirill
05.03.2017
16:02:21

Phil
05.03.2017
16:02:43

Yura
05.03.2017
16:03:04
Да ? я практически ни когда не делал кодеген...

Google

Kirill
05.03.2017
16:04:06

Yura
05.03.2017
16:04:25
Но и в этом случае лучше тогда использовать не всторенный map, а напилить свой, если важна скорость.

wf
05.03.2017
16:04:36

Yura
05.03.2017
16:04:42
Но я сам не реализовывал codegen ?

Phil
05.03.2017
16:05:32

Kirill
05.03.2017
16:06:19

wf
05.03.2017
16:07:21
А зачем?
нет я в общем, конструкцию типа (...) and (..) там не применить?

Alexey
05.03.2017
16:07:59

Phil
05.03.2017
16:08:06

wf
05.03.2017
16:11:03

Phil
05.03.2017
16:11:32

wf
05.03.2017
16:13:10
Я просто расчитывал на что то подобное
if a, ok1:= get(), b,ok2:= get(); ok1&&ok2 {
// Using a b
}

Yura
05.03.2017
16:21:34
Можешь пояснить своё высказывание?

Kirill
05.03.2017
16:23:31

Yura
05.03.2017
16:24:55
Ты имеешь в виду runtime, который когда-то был написан на C, потом транспилен на Go?
С тех пор его существенно почистили.

Kirill
05.03.2017
16:25:18

Yura
05.03.2017
16:25:32
А что ещё?

Kirill
05.03.2017
16:26:17
Да и те же мапы не изменялись, насколько помню, совсем

Yura
05.03.2017
16:26:34
В любом случае, то что оно когда-то было написано на C , это уже просто достояние истории.
Сейчас оно написано на Go, и ни куда не транспилится.
И выглядит оно как написанное на Go, т.е. стиль после транспилятора поправили.