@gogolang

Страница 569 из 1630
Kirill
10.10.2017
12:26:34
Arch
10.10.2017
14:04:22
Люди, кто обладает опытом работы с websocket, объясните пожалуйста, в чем идеологический смысл в го реализовывать для каждого клиента две горутины на чтение и запись через каналы, в чем не кошерность способа применяемого в том же питоне, когда мы в мэп собираем всех клиентов и ожидаем от кого-то из них данные, а потом циклом проходим по всем и пишем им данные. Пока писал, появилась идея, что это связанно с отсутствием конструкции try, catch, я прав?

Daniel
10.10.2017
14:04:49
нет

это свуязано с синхронностью ввода-вывода в go

Google
Igor
10.10.2017
14:08:18
Юзает кто-нибудь neo4j в го?

Arch
10.10.2017
14:10:38
это свуязано с синхронностью ввода-вывода в go
Был бы крайне признателен, если бы вы подсказали где почитать про это можно, если на русском языке было бы совсем шикарно, заранее благодарен!

Nikolay
10.10.2017
14:11:58
Daniel
10.10.2017
14:12:20
ввод-вывод в го блокирующий, синхронный

соответственно, писать в разные сокеты надо из разных горутин, иначе первая же заблокировавшаяся запись остановит весь цикл

Nikolay
10.10.2017
14:17:02
Был бы крайне признателен, если бы вы подсказали где почитать про это можно, если на русском языке было бы совсем шикарно, заранее благодарен!
https://habrahabr.ru/post/276255/ вот мне понравилось, даже с интерактивчиком небольшим, мб не совсем по теме блокирующих операций...

Arch
10.10.2017
14:21:17
Я немного не о том. В питоне ввод-вывод тоже блокирующий. Но там это решается через async. Тут через горутины, по сути такой же async. Суть в самом подходе, тут во всех реализациях, которые я видел для го, для клиента стартуем сразу две горутины, вместо того чтобы при появлении данных на сокете, в цикле создавать горутины на отправку, которые после отправки данных самозавершатся

https://m.habrahabr.ru/company/mailru/blog/331784/

Вот тут, как я понимаю, и идёт речь об отказе запуска двух горутины на клиента

Daniel
10.10.2017
14:25:52
да

Google
Daniel
10.10.2017
14:26:04
но оно перестает быть простым и кросплатформенным

зачем это нужно, если ты не мейлру - вопрос открытый

Arch
10.10.2017
14:27:01
Ну когда нужна производительность

Daniel
10.10.2017
14:27:05
нет

производительность не изменится

Arch
10.10.2017
14:28:34
Ну либо сервер. Обслуживает 10к клиентов, либо 100к, разница есть

Daniel
10.10.2017
14:29:24
опять нет

разницу на 10К и 100К вы не увидите

Евгений
10.10.2017
14:40:40
Там решалась конкретная задача mail.ru: нужно держать большое количество неактивных веб-сокетов, обновления идут в небольшом % из них. Суть решения - не выделять память и горутины на неактивные соединения. Как только нужно что-то отрпвить, создается нормальная горутина со всеми данными и буферами.

Pawel
10.10.2017
14:40:50
Мэп только читают несколько, а пишет только одна, которая апгрейд соединения делает
даже если так - это детали, которые суть картины (конкурентный доступ) не меняют. Но вообще то вебсокет-клиентов > 1, и все они одновременно пишут. "мы в мэп собираем всех клиентов и ожидаем от кого-то из них данные, а потом циклом проходим по всем и пишем им данные." - вот это вот ни к чему. Правильно - это писать в мапу в каждом обработчике хтттп соединения, устанавливающего вебсокет коннект

Евгений
10.10.2017
14:41:05
Если у вас не такой паттерн: активны 5% из 10М, то вам это не нужно.

Daniel
10.10.2017
14:42:14
и даже если паттерн такой - все, что вы наэкономите, это RAM

Arch
10.10.2017
14:43:14
Если у вас не такой паттерн: активны 5% из 10М, то вам это не нужно.
У меня много получателей и всего n<100 отправителей данных

Ну собственно вопрос был именно про паттерн реализации задачи в го

Спасибо всем откликнувшимся

Евгений
10.10.2017
14:44:35
там вопрос не в получателях: а вообще в актвиных сокетах - т.е. тех, в которых передаются данные

т.е. у вас получается ~100% активных )

Я не ругаю решение, оно отличное. Но оно под специфическую задачу - очень редких уведомлений для большой группы клиентов.\

Arch
10.10.2017
14:46:32
т.е. у вас получается ~100% активных )
Да, но для получателей будет только одна горутины, с отправкой данных

Евгений
10.10.2017
14:47:24
одна на все сокеты?

Google
Евгений
10.10.2017
14:47:30
и один общий буфер?

Arch
10.10.2017
14:47:38
Кстати вот ещё вопрос, в догонку, если я не буду читать то, что шлют мне клиенты, чем это мне грозит?

Daniel
10.10.2017
14:47:55
буфер переполнится, сокет закроется

Arch
10.10.2017
14:48:39
одна на все сокеты?
Не, там две горутины на клиента, была мысль сделать по одной, только на write

Daniel
10.10.2017
14:48:51
еще раз - чтобы что?

Евгений
10.10.2017
14:49:05
имхо вы усложните все сильнее, чем выиграете

Arch
10.10.2017
14:50:04
буфер переполнится, сокет закроется
Коротко, ясно, исчерпывающе, спасибо!!!

имхо вы усложните все сильнее, чем выиграете
Я пока прорабатываю варианты, и выясняю почему именно так, а не иначе.

еще раз - чтобы что?
Чтобы не тратить ресурсы на чтение, но понял, что не вариант, будем читать в _

Спасибо всем откликнувшимся, в общих чертах стало понятнее

Maxim
10.10.2017
18:10:02
Добрый вечер! В последнее время на web-сервере подозрительная активность Идут GET запросы: /.git/HEAD /tasktracker.jsp /dfshealth.jsp /jobtracker.jsp /flumemaster.jsp /browseDirectory.jsp /status.jsp /master.jsp Мой проект кто-то пытается взломать?

Nikolay
10.10.2017
18:11:36
IP в освновном китайские

Анатолий
10.10.2017
18:13:33
бурят брутят

Maxim
10.10.2017
18:13:35
Просто таких запросов в последнее время становится все больше

Илья
10.10.2017
18:13:57
зарули jsp в blackhole

Google
AxiS
10.10.2017
18:14:22
Просто таких запросов в последнее время становится все больше
ставь ограничение на колличество запросов, с блоком на 5-10 мин

Mike
10.10.2017
18:15:07
Просто таких запросов в последнее время становится все больше
Порежь в нгинксе всех китайцев, их все равно много, специальная страна для ддоса

Или всех кто джсп просит бань

AxiS
10.10.2017
18:16:04
Nikolay
10.10.2017
18:16:31
Или всех кто джсп просит бань
ну там не только jsp могут быть...

Maxim
10.10.2017
18:16:53
А что еще?

Nikolay
10.10.2017
18:16:54
по идее должен быть уже какой-то модуль для бана вот сканнеров

А что еще?
ну пробивают phpMyAdmin, дырки в CMS: Joomla, WordPress; уязвимость shellshock к примеру

самое распространённое дырявое ПО в двух словах

Nikolay
10.10.2017
18:20:15
возвращай zip-бомбу)
кстати идея))) если как-то узнать ПО сканера, то можно поискать дыры в нём и поэкспериментировать с овтетами, может получиться довольно забавно)

AxiS
10.10.2017
18:20:22
https://habrahabr.ru/post/332580/

Maxim
10.10.2017
18:22:37
Всем спасибо за направления в нужные русла))) пошел читать

Nikolay
10.10.2017
18:24:19
https://habrahabr.ru/post/332580/
как-то глупо... вряд ли сканер захочет открыть zip/gzip

AxiS
10.10.2017
18:25:15
как-то глупо... вряд ли сканер захочет открыть zip/gzip
страницы жмутся же в gzip если в хедерах прописана доступность

Смотря что чекают

может контент на странице

Nikolay
10.10.2017
18:27:08
может контент на странице
А если HEAD'ом запросить размер, он сжатый выдаст или оригинальный?

Constantine
10.10.2017
18:27:26
может тупо формы сабмитят

Google
Konstantin
10.10.2017
18:32:32
парни никто opencv3 не юзает на go?

Мерлин
10.10.2017
19:27:25
GopherCon 2017: Alan Shreve - grpc: From Tutorial to Production https://youtu.be/7FZ6ZyzGex0 #golang

http://gocv.io/ is making OpenCV 3 easier for #golang devs, e.g. face detection in 60 lines of Go. By… https://twitter.com/i/web/status/917554768402354177

Kirill
11.10.2017
04:21:48


Valentin
11.10.2017
07:14:12
там чота сложное чтоль?

Daniel
11.10.2017
07:14:40
элементарное, но почему-то ни у кого нет

Maxim
11.10.2017
07:17:27
gramework - это самый поппулярный фрейм на go?

смотрю на его репозиторий и понимаю, что уж совсем нет)))

У этого чувака звездочек будет по-больше https://github.com/qiangxue

Никита
11.10.2017
07:19:18
самый популярный фреймворк на goodlang

Valentin
11.10.2017
07:20:09
этот китаец же контрибьютор в yii

я вообще в первый раз слышу про gramework

Alexander
11.10.2017
07:20:48
еще до токого как go появился

Maxim
11.10.2017
07:21:03
уже год не пилит

Valentin
11.10.2017
07:21:11
yii так себе, так что я бы не стал даже смотреть его го-поделку

Andrew
11.10.2017
07:21:42
Никита
11.10.2017
07:21:50
я вообще в первый раз слышу про gramework
ты как-будто в этом чате не сидишь

Daniel
11.10.2017
07:21:52
gramework - это самый поппулярный фрейм на go?
это единственный, автор которого есть в этом чате

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