
Roman
15.11.2017
15:10:49
тысячи

Daniel
15.11.2017
15:11:22
надо тестить
в принципе - парсить их можно в разных горутинах, и утилизироать больше одного ядра

nezorflame
15.11.2017
15:11:56
я бы все равно начал со стандартной, а потом уже искал замену, если реально проседает

Google

Daniel
15.11.2017
15:12:12
а так - сильно зависит от собственно ясона

Alexey
15.11.2017
15:12:42
Если затык будет именно в парсинге, то можно взять ffjson, например. Но начать лучше со стандартного, да.

Roman
15.11.2017
15:31:47
акей, буду всякое смотреть
обратите внимание
https://github.com/tidwall/gjson
внизу бенчмарк имеется

[Anonymous]
15.11.2017
15:54:07
/voteban all
/report nezorflame
/voteban

nezorflame
15.11.2017
15:59:11

Bohdan
15.11.2017
16:00:07
Что он делает вообще

nezorflame
15.11.2017
16:00:48
кто бы знал

[Anonymous]
15.11.2017
16:02:23
?

Google

MrSmeet
15.11.2017
16:06:37
https://lab5462.wordpress.com/page/ Друг замутил сайт для сдачи лабы по web разработке, принимайте

Anatoly
15.11.2017
16:13:24

MrSmeet
15.11.2017
16:21:42
Цель именно такая
Маразм жи в универе. Мы не инополис и даже не итмо, так шо не забывай об этом)

nezorflame
15.11.2017
16:24:27
/report

none
15.11.2017
17:24:36
всем здарофф, подксажите какой vendor юзать в 2к17?

Vladimir
15.11.2017
17:28:18

none
15.11.2017
17:31:06
/report

Roman
15.11.2017
17:31:11
/report

Андрюха (Ren)
15.11.2017
17:31:16
/report

Mikhail
15.11.2017
17:31:37
/stat@combot

Combot
15.11.2017
17:31:38
combot.org/chat/-1001046001048

Mikhail
15.11.2017
17:32:20
/report

Denis
15.11.2017
17:35:13
https://github.com/tidwall/gjson
Собственно его юзаю когда нужно достать пару значений или данные для анмаршалинга прямо в структуру(ы), без всяких там type response struct {}
В дополнение есть sjson
Это подобие дотнетовских jtoken'ов

Александр
15.11.2017
17:47:01
А в Go не хотят добавить тернарный оператор? Без него как-то всё очень плохо

Aleksandr
15.11.2017
17:48:12
это же go - тебе должно быть плохо

some_random_anonymous
15.11.2017
17:48:13

Google

Александр
15.11.2017
17:49:03
Очень жаль. С ним было бы лучше

Blue Screen of Death
15.11.2017
17:49:26
всё правильно, не нужен

Александр
15.11.2017
17:50:38
return !math.IsNaN(result) ? result : 0

Kirill
15.11.2017
17:50:59
Wut?
Y u do this peace of?

Александр
15.11.2017
17:51:57
Wut?
Ну я книгу читаю. Там написано было исправить svg, я и исправил

Kirill
15.11.2017
17:52:19

Андрюха (Ren)
15.11.2017
17:53:13
ребята, бот телеграма может собрать все ники юзверей чата?

Blue Screen of Death
15.11.2017
17:53:22
не может
только в клиентском апи доступна функция

Андрюха (Ren)
15.11.2017
17:53:40
Заметил что частенько приходит свежерег и добавляет какого-нибудь бота

Александр
15.11.2017
17:54:17
Там NaN иногда есть, его на 0 поменять надо

nezorflame
15.11.2017
20:18:22
и ненужном else

xPushkin
15.11.2017
22:02:58
RLock locks rw for reading. It should not be used for recursive read locking; a blocked Lock call excludes new readers from acquiring the lock. See the documentation on the RWMutex type.
Почему нельзя сразу несколько раз делать RLock? Я правильно понимаю, что если .Lock заблокируется, то я не смогу в это же время вызвать .RLock ?

Daniel
15.11.2017
22:03:56
потому, что мутексы в го нереентерабельные.
это говнофича

Google

Admin
ERROR: S client not available

xPushkin
15.11.2017
22:04:38
Так, а что делать если я хочу сразу в нескольких горутинах читать?
Нельзя и там и там вызвать RLock?

Daniel
15.11.2017
22:04:56
в нескольких процессах?!

xPushkin
15.11.2017
22:05:05
goroutine

Daniel
15.11.2017
22:05:13
ну так и говорите

xPushkin
15.11.2017
22:05:26
Ошибся

Daniel
15.11.2017
22:05:28
в каждой горутине можете по разу rlock вызвать
повторный вызов RLock в той же горутине, в общем, ничего не поломает
а вот попытка вызвать в той же горутине Lock после RLock приведет к дедлоку

xPushkin
15.11.2017
22:07:51
У меня просто такая проблема. У меня есть три горутины. Две читают, Одна пишет. Те что читают вызывают RLock, а та что пишет вызывает Lock. Так получается, что если вызвать RLock, а потом вызвать Lock (здесь он блокируется), то след третья горутина попытается вызвать еще один RLock и будет дедлок.

Daniel
15.11.2017
22:08:08
нет

xPushkin
15.11.2017
22:08:29
a blocked Lock call excludes new readers from acquiring the lock.

Daniel
15.11.2017
22:08:43
третий RLock заблокируется до того, как будет отпущен Lock

xPushkin
15.11.2017
22:10:36
В том то и дело, что Lock только блокируется потому что другие две горутины почти всегда держат RLock. Одна вызывает RLock, вторая пытается Lock и блокируется, а третья не может сделать RLock. В итоге получается дедлок потому что чтобы первая отпустила RLock третья должна ей вернуть значение.
То есть насколько я понял неудачный Lock не позволяет делать RLock'и

Daniel
15.11.2017
22:12:07
конечно!
в том и смысл

nezorflame
15.11.2017
22:12:36
какой смысл читать, если туда сейчас идет запись

xPushkin
15.11.2017
22:12:37
Почему он просто не может подождать пока все RLock не разблокируются ((

Google

nezorflame
15.11.2017
22:12:43
разумеется, ридлоки блочатся
запись приоритетнее чтения
а если конкретно в вашем примере это не так, то вам не подходит RWMutex

xPushkin
15.11.2017
22:13:45

nezorflame
15.11.2017
22:13:48
и нужен обычный
либо что-то другое

xPushkin
15.11.2017
22:14:31
Я думал Lock подождёт пока все RLock не станут RUnlock и продолжит.
А лишь попытка Lockнуть не даёт сделать очередной RLock

Daniel
15.11.2017
22:15:27