
Vladyslav
25.04.2017
06:58:04
Может в shutdown поменять местами close и wait? А то ты закрываешь канал а потом ждешь завершения всех горутин

Sergey
25.04.2017
06:59:13
там в коде каша
wg.Add надо вызывать до go myfunc()
а еще subprocess пишет в канал который будет закрыт
ну и если вынести wg.Add и в swhutdown поменять местами close и wait то программа не завершится

Maxim
25.04.2017
09:16:16
Посоны, кто-нибудь бенчмаркал JSON vs XML? Что тяжелее по скорости получения/обработки/весу в кеше?

Google

Igor
25.04.2017
09:16:58
кто-нибудь бенчмаркал
в гугле вон например бенчмаркали
точнее, технически, конечно, не в гугле, но найти можно, сделав запрос именно там!
https://medium.com/@shijuvar/benchmarking-protocol-buffers-json-and-xml-in-go-57fa89b8525

Maxim
25.04.2017
09:19:17

⠀
25.04.2017
09:20:01
Меньше

Roman
25.04.2017
09:20:19
Можно логически подумать

Igor
25.04.2017
09:20:34

Roman
25.04.2017
09:20:43
Что разобрать текст дороже, чем бинарь
А xml вообще адок

Vladimir
25.04.2017
09:21:47

Maxim
25.04.2017
09:22:35

Vladimir
25.04.2017
09:22:59

Google

Vladimir
25.04.2017
09:23:21
при этом если gogo protobuf библиотечку взять, будет еще быстрее, там без рефлекта разбор идет
но и json можно ускорить по идее, если взять ffjson

Igor
25.04.2017
09:24:52
или easyjson

Vladimir
25.04.2017
09:25:11
короче и протобуф и json можно ускорить сильно
я думаю можно и для xml найти библиотеку, но формат сложнее

Maxim
25.04.2017
09:25:37
Я получаю данные в джейсоне

Roman
25.04.2017
09:26:03
Xml не нужен обычно

Vladimir
25.04.2017
09:26:06
@toby3d короче ИМХО избегай xml любой ценой

Roman
25.04.2017
09:26:13
Бери protobuf или msgpack

Igor
25.04.2017
09:26:15

Vladimir
25.04.2017
09:26:16
пока не припрут требованиями

Maxim
25.04.2017
09:26:20
Но в XML есть один объект который мне, сука, очень бы помог решить пару проблем

Vladimir
25.04.2017
09:26:34
послушай советов - возьми protobuf, msgpack или capnproto

Maxim
25.04.2017
09:27:05
Но я побоялся что ради одной инфы мне придётся сильно понёрфить скорость отклика

Vladimir
25.04.2017
09:27:16
да, именно так

Maxim
25.04.2017
09:27:35
И раз такие результаты, то нахер надо, переживу

Vladimir
25.04.2017
09:27:44
если там xml простой, без наворотов, то можно сделать свой парсер который будет не сильно медленее json'а
и заточеннй под твою xmlину

Maxim
25.04.2017
09:28:03
Но если джейсона можно как-то ускорить, то я бы не отказался от подсказок

Google

Vladimir
25.04.2017
09:28:19
@toby3d заменяешь encoding/json на ffjson или easyjson
и смотришь

Maxim
25.04.2017
09:28:43

Dmitry
25.04.2017
10:14:53
https://twitter.com/ru_ostroumova/status/856805948240916480

Sergey
25.04.2017
10:16:57
Еще бы!

Maxim
25.04.2017
10:24:17
Помните опросник го в прошлом году?
Там как раз были пункты про отношение к женщинам-го-программистам и к некоторым хи позициям в индустрии.
Неспроста
Баньте этого обмудка

Eldar
25.04.2017
13:16:39
Бабы вышли на охоту?

⠀
25.04.2017
13:19:43
Настя, что ж так долго?

Eldar
25.04.2017
13:20:26
Мы ждём тебя

⠀
25.04.2017
13:21:31
Повторяй: па-ве-лец-ка-я

Alexei
25.04.2017
13:22:38
Повтор из соседней группы? ))))

Настя
25.04.2017
13:24:58

Eldar
25.04.2017
13:25:32

Настя
25.04.2017
13:26:42
Но да, ищу Golang разработчика на проект IIoT (Интернет вещей). Правда, писала в соседней группе, поэтому особенно спамить тут не буду. Если кому-то интересно-пишите в личку, отвечу на все вопросы)
пишите все,кроме Эльдара.Нам нужны только хорошие ребята)

Eldar
25.04.2017
13:27:32

Google

Konstantin
25.04.2017
13:28:24
Моей бабе нравится когда я её бабой зову ?

Mikhail
25.04.2017
13:29:07

Alexei
25.04.2017
13:30:31
Интересная вакансия, но не по пути + мало денег

Eldar
25.04.2017
13:31:30

corpix
25.04.2017
13:32:51

Настя
25.04.2017
13:32:58

Admin
ERROR: S client not available

Sergey
25.04.2017
13:33:40
А вы в какой стране хотя бы?

i
25.04.2017
13:34:28
Пишу на go за еду

Alexei
25.04.2017
13:37:54

Roman
25.04.2017
15:01:04

Настя
25.04.2017
15:02:02

Slach
25.04.2017
15:03:12
Народ, а объясните мне за float пожалуйста
http://take.ms/JzWAJ
https://play.golang.org/p/f5WOthkXL7
где то была статья на хабре кажется на тему почему для float не всегда получается получить результаты те которые математически ожидаешь

LexsZero
25.04.2017
15:03:52
потому что IEEE 754
https://ru.wikipedia.org/wiki/Число_двойной_точности вот тут с примерами

Slach
25.04.2017
15:20:25
ок, а какой код там должен быть на вход функции подаваться? чтобы она таки нормально валидировала??
суть в том что надо проверить что полученное значение из json соответсвует множителю

LexsZero
25.04.2017
15:22:25
что такое "соответствует"?
в общем случае, либо выполнять все сравнения с погрешностью (не if a == b, а что-то вроде math.Abs(a-b) < 0.000000001)
либо не использовать флоаты
например, если это какие-то суммы денег, то флоаты для них использовать нельзя категорически

Google

Slach
25.04.2017
15:25:06
соответсвует это значит
есть json
{"revenue":19.99}
и есть json schema в которой сказано что этот value должен быть кратен 0.01
{
"$schema": "http://iglucentral.com/schemas/com.snowplowanalytics.self-desc/schema/jsonschema/1-0-0#",
"description": "Schema for Google Analytics Enhanced Ecommerce action data",
"self": {
"vendor": "com.google.analytics.enhanced-ecommerce",
"name": "actionFieldObject",
"format": "jsonschema",
"version": "1-0-0"
},
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 500
},
"affiliation": {
"type": "string",
"maxLength": 500
},
"revenue": {
"type": "number",
"multipleOf": 0.01
},
},
"additionalProperties": false
}
тут не савсем "флоаты", с точки зрения encdoing\json float64 не существует =)
а есть json.Number тип

LexsZero
25.04.2017
15:27:34
эмм, анмаршалер юзает тот тип который ты ему дашь

Alex
25.04.2017
15:27:49
Выезжаю завтра!

LexsZero
25.04.2017
15:29:03
можешь сделать свой тип Currency и написать ему кастомный анмаршалер, а внутри это будет инт с фиксированной точкой
// и тут мы начинаем сосать с тем, что в го нет дженер^Wперегрузки операторов или чего-то вроде стандартных тайпкласс^Wинтерфейсов для реализации кастомной арифметики

Slach
25.04.2017
15:31:40
а просто
fmt.Println( (json_float64 * 1000000) / ( *muptiple_of * 1000000) )
не поможет?

LexsZero
25.04.2017
15:34:13
нет. говорю же, хранить значения с фиксированой точностью в флоатах нельзя.
то есть можно конечно нагородить костылей чтоб создавалась видимость нормальной работы, но за такое в приличных местах бьют палкой по рукам.

Eldar
25.04.2017
15:36:41
более того, точно очень сильно зависит от того насколько сильно число далеко от 0

Peter
25.04.2017
15:41:29
а вот интересно, кто-нибудь пользуется в реальном продакшоне базами данных, написанными на гоу? типа bigcache, bolt, etc

Vladyslav
25.04.2017
15:45:12
Конечно

Anton
25.04.2017
15:45:12
ну на гитхабе: Bolt is currently used in high-load production environments serving databases as large as 1TB. Many companies such as Shopify and Heroku use Bolt-backed services every day.

Roman
25.04.2017
15:46:36

Peter
25.04.2017
15:47:06

Roman
25.04.2017
15:47:27
Я ни одной жалобы на Болт не встречал.