
Илья
01.06.2017
14:16:35
https://dave.cheney.net/2014/03/19/channel-axioms

Ilya
01.06.2017
14:17:03
Можно и просто закрывать, но я бы попрактиковался в использовании контекста - будет полезно в будущем.

Brown
01.06.2017
14:20:03

Mike
01.06.2017
14:20:16
ну у меня есть канал остановки

Google

Mike
01.06.2017
14:20:19
он просто во внешней логике
ну я понял в общем-то
дальше сам уже буду думать, как бы организовать по-красивее

i
01.06.2017
14:39:09
Кстати, вот так можно останавливать горутины https://play.golang.org/p/BFRPvMnfGh

Anton
01.06.2017
14:45:45

i
01.06.2017
14:47:16

Anton
01.06.2017
14:48:09
просто лишенго кода много для понимания тяжело, wg проще будет код и можно только то что хочешь показать хорошо выделить

Ivan
01.06.2017
14:52:19
А есть такой же пример с контекстами

i
01.06.2017
14:58:20
http://guzalexander.com/2017/05/31/gracefully-exit-server-in-go.html и https://pastebin.com/ZgpBBCpt

Ivan
01.06.2017
15:44:12
Спасибо!

Aleksandr
01.06.2017
18:19:41


Mike
01.06.2017
18:22:54
хах, я в итоге совсем по-другому сделал, у меня очередь, в которую если влезает, горутина запускается, а если нет — даже не запускается

Google

Mike
01.06.2017
18:23:05
но я словил классный эксепшн, который пока не понимаю, что значит
там просто насрано в стектрейсе причем столько, что не лезет в терминал, полностью его затирает с самого начала
про это есть issue на гитхабе, но там сказали в итоге забить и делать иначе
типа в го это не фиксили пока)

Илья
01.06.2017
18:24:44
м?
что за issue?

Mike
01.06.2017
18:24:56
https://github.com/golang/go/issues/16079

Andrew
01.06.2017
18:24:58

Mike
01.06.2017
18:25:18
вот у меня такой же трейс как у того чувака

Andrew
01.06.2017
18:26:03
go version?

Mike
01.06.2017
18:26:13
1.8, но ошибка такая же
1.8.1 точнее

Andrew
01.06.2017
18:26:40
Хм, значит не успели или не захотели править))
Пишут, что нельзя выделить столько портов. 65к лимит. У вас такая же проблема?

Mike
01.06.2017
18:29:10
я специально сделал очередь чтобы больше 500 коннектов одновременно открыто не было
прям очередь, в которую кладется айдишник рандомный, и запускается горутина, которая делает коннект, закрывает тело, после чего в канал свой айдишник пуляет и он из очереди удаляется
и если очередь кончилась, новая горутина даже не запускается
так что НУ ЕСЛИ Я НЕ ИДИОТ то больше 500 портов открыто быть не должно

Илья
01.06.2017
18:30:40
запусти с -race

Mike
01.06.2017
18:30:41
причем она успевает сделать что-то типа 7к запросов прежде чем упасть

Google

Andrew
01.06.2017
18:30:43
netstat'ом гляньте чтобы убедиться

TILTED
01.06.2017
18:30:44
какой аналог sleep() есть в го?

Илья
01.06.2017
18:30:45
проверь на идиота :)
и netstat

Mike
01.06.2017
18:31:00

Andrew
01.06.2017
18:31:07

Mike
01.06.2017
18:31:33
лол, а я обычно делаю <- time.After(time.Second * 5)

TILTED
01.06.2017
18:31:42

Andrew
01.06.2017
18:32:03

TILTED
01.06.2017
18:32:23

Andrew
01.06.2017
18:32:44

Илья
01.06.2017
18:32:54

Andrew
01.06.2017
18:33:11
https://golang.org/pkg/time/#Duration

TILTED
01.06.2017
18:33:39

Andrew
01.06.2017
18:34:08
Наносекунды короч под капотом

TILTED
01.06.2017
18:34:16
горю с велосипедов

Илья
01.06.2017
18:35:05
я горю в людей, которые даже golang tour не осиливают :(

Ivan
01.06.2017
18:35:30

TILTED
01.06.2017
18:36:16

Andrew
01.06.2017
18:37:32
Господин пейрат.

Google

Andrew
01.06.2017
18:37:48
Йохохо, и бутылка смузи

Мерлин
02.06.2017
07:00:03
[last news]
Why I’m So Frustrated with Go

Nix
02.06.2017
07:06:08
всем привет, подскажите как на go это будет выглядеть
$exampletest = substr($example, 0, $test);

Alexei
02.06.2017
07:11:11
exampletest := example[:test] если я правильно понял

Nix
02.06.2017
07:14:23
спасибо

Ivan
02.06.2017
07:25:40
Тут люди про взятие подстроки спрашивают, а я парюсь, что простые вопросы будут и отправят гуглить, поэтому и гуглю сразу)

Ivan
02.06.2017
07:28:22
Некоторые машины на тротуар ставят, не повод же тоже самое делать

Мерлин
02.06.2017
07:51:14

Andrew
02.06.2017
07:52:04

Олег
02.06.2017
07:53:34
Ну и правильный ответ : https://stackoverflow.com/questions/28718682/how-to-get-a-substring-from-a-string-of-runes-in-golang
string([]rune(str)[:20])

Che
02.06.2017
08:44:14
привет, подскажите, пожалуйста, хорошую реализацию двунаправленного поиска

Илья
02.06.2017
08:51:44
https://github.com/gyuho/goraph
что-нибудь такое
может быть, там что-то есть

Andrew
02.06.2017
09:32:55
Мб ещё тут есть чего
https://github.com/emirpasic/gods

Che
02.06.2017
11:02:27
Спасибо

Vasily
02.06.2017
11:18:13
всем привет

Aleksandr
02.06.2017
11:18:40

Vasily
02.06.2017
11:19:26
может кто подсказать как динамически создать массив кнопок из массива? пример такой есть https://github.com/go-telegram-bot-api/telegram-bot-api/wiki/Simple-Keyboard

Google

Vasily
02.06.2017
11:19:50
не могу заполнить массив рядами

Aleksandr
02.06.2017
11:19:56

Vasily
02.06.2017
11:20:43
парсю сайт, получаю набор ссылок (список конференций), и из него надо сделать клавиатуру
для бота
сам правда джавист
в джавовском api проблем не возникло с этим вопросом

Aleksandr
02.06.2017
11:22:30

Vasily
02.06.2017
11:22:55
по ссылке пример, с захардкоженными кнопками
мне надо создать их из массива
туплю уже полчаса)

Aleksandr
02.06.2017
11:23:55
slice передаешь так: ...rows или так rows...
точно синтаксис не помню
он распаковывается в variadic arguments или как там это на го называется..
rows... - судя по коду этого же метода https://github.com/go-telegram-bot-api/telegram-bot-api/blob/master/helpers.go#L567