
Khusrav
18.10.2018
16:04:13
Если можете скинуте пожалуйсто

Dmitry
18.10.2018
16:04:34
Я попробую

Dmitri
18.10.2018
16:05:08

Google

Dmitri
18.10.2018
16:05:50
Я попробую
Т.е. cmd.Run пинает процесс и сразу деаттачится от него.
В контексте go func() вы дергаете процесс и не дожидается завершения. На этом функция заканчивает работу и дескрипторы идут лесом
А рядом другая go func() уходит в бесконечный цикл с continue
Для таких случаев каналы и придумали, короче

Darwin
18.10.2018
16:15:07
а с каких пор time.After() стал возвращать chan вместо bool?

Aleksandr
18.10.2018
16:18:06

Darwin
18.10.2018
16:18:26
когда-то да
до версии 1.10 точно

Aleksandr
18.10.2018
16:18:56
странно

Darwin
18.10.2018
16:19:12
и я вот сегодня удивился
код который на проде работает, у меня перестал компилироваться
а там в коде это

Dmitry
18.10.2018
16:21:06

Google

Dmitri
18.10.2018
16:22:25
time.After - две штуки
Одна - функция уровня пакета, которая возвращает chan

Darwin
18.10.2018
16:23:22
тааак
уже интереснее

Dmitri
18.10.2018
16:23:28
Одна - метод типа time.Time

Илья
18.10.2018
16:23:33
7 лет

Darwin
18.10.2018
16:23:55
спасибо

Dmitri
18.10.2018
16:24:06
И вот второй возвращает bool

Aleksandr
18.10.2018
16:24:15

Dmitri
18.10.2018
16:26:12

Darwin
18.10.2018
16:26:42
https://godoc.org/time#Time.After
вообщем, я не туда смотрел)
спасибо

Aleksandr
18.10.2018
16:26:58

Dmitri
18.10.2018
16:26:59

Aleksandr
18.10.2018
16:28:49
может быть. ну трудно поверить что человек получил на проде ошибку, не прочел ее, посмотрел в другой код и проассоциировал другой код со своей ошибкой

Google

Dmitri
18.10.2018
16:29:18

Илья
18.10.2018
16:29:50
на этот случай линтеры ругаются, когда имя переменной пересекается с именем пакета

Aleksandr
18.10.2018
16:30:39

Pawel
18.10.2018
16:32:38

Dmitry
18.10.2018
16:33:50

Dmitri
18.10.2018
16:38:33
Все сразу станет проще
А я спать пошел)

Dmitry
18.10.2018
16:39:02
https://play.golang.org/p/GAUQy7aUoTd
Вот сделал на каналах
Та же фигня
Точнее, нет. Не та же. Пропускает строки

Pawel
18.10.2018
16:39:39
нужно emacs потому что
Если юзаешь вскод, то о брекпойнтах лучше сразу забыть дабы не нервничать лишний раз.
Ну и как разтаки через принт дебажут джедаи - @onokonem, @madgopher высказывались

Dmitry
18.10.2018
16:39:44
Процесс продолжает работать, все ок, но вывод не полный

Artem
18.10.2018
16:40:49

Dmitry
18.10.2018
16:41:34
Видимо не деатач а просто асик запуск
Да, точно. Это даже еще лучше

Artem
18.10.2018
16:42:28

Daniel
18.10.2018
17:23:12

Google

Pawel
18.10.2018
17:26:49
а?!
https://stackoverflow.com/questions/28272285/why-cgos-performance-is-so-slow-is-there-something-wrong-with-my-testing-code/28272990#28272990

SkyCoffee
18.10.2018
17:38:41
Это ведь два года назад было?

Pawel
18.10.2018
17:47:50
и что изменилось?

Daniel
18.10.2018
17:59:18

Evgeniy
18.10.2018
18:03:52

Pawel
18.10.2018
18:04:13

Daniel
18.10.2018
18:04:44
Сисколы не через cgo вызываются

Pawel
18.10.2018
18:06:02
значит я не корректно сформулировал. У человека сказано было изначально "вызывать метод С++ библиотеки из golang"

Denys
18.10.2018
18:07:48
а куда питон делся
днем же обсуждали
зачем вам это го ?

Roman
18.10.2018
18:10:26

Denys
18.10.2018
18:10:43
?
я сарказма не уловил

Daniel
18.10.2018
18:26:07

Evgeniy
18.10.2018
18:28:30
Либо мне вообще какой-то другой подход выбрать. Даже не знаю

Daniel
18.10.2018
18:29:49
скорее всего - производительность будет выше, если переписать манипуляции на go. но не факт.
ну и скорее всего разницы в производительности вы не заметите

Evgeniy
18.10.2018
18:31:51
да, наверное данные по tcp буду намного реже приходить, чем буду затраты на вызов утилиты))

Google

Pawel
18.10.2018
18:38:32

Ilya
18.10.2018
18:41:23
Гайс, кто знает, есть ли в опенсурсе какие-то проекты на грейме?

Aleksandr
18.10.2018
18:42:05
есть мнение что им пользуется только один человек в своих петах
но он щас конечно прибежит и расскажет как юзает его в продакшне и назовет еще парочку полуизвестных контор, в которых есть люди, знающие людей, использующий грейм в проде

Иван
18.10.2018
18:43:54
Можно для не посвящённых, что такое грейм

Ilya
18.10.2018
18:44:10
А чтение исходников навевают вселенскую тоску после десятой записи функции в непонятный канал

Aleksandr
18.10.2018
18:45:56
годоки - это генерируемая из комментов в коде документация. я бы не сказал что так принято. В большинстве проектов дай бог чтобы ридми был
но вообще да

Ilya
18.10.2018
18:46:38
но вообще да
Я просто с питоном сравниваю по документации, поэтому несколько озадачен
Ну в планее ее количества

Aleksandr
18.10.2018
18:59:43
Помогите пожалуйста уже не могу понять. в шаблоне после вызова цикла больше ничего не выводится. что в цикле и дальше не выводиться. вот тут https://github.com/sashaaro/docker-container-proxy/blob/master/network.html#L48 то есть выводиться последним тегом последний открытый тег <td> перед циклом


Roman
18.10.2018
19:04:24
не могу понять каким хреном у меня редко но метко появляется data race между защищённым кодом и strechr/testify
func (con *connection) deregisterTask() {
unlink := false
con.stateLock.Lock()
con.tasks--
if !con.isActive && con.tasks < 1 {
unlink = true
}
con.stateLock.Unlock()
if unlink {
con.unlink()
}
}
не смотря на то что строка:
con.tasks--
вроде как защищена мутексом - каким то образом вот эта функция:
github.com/qbeon/webwire-go/vendor/github.com/stretchr/testify/assert.Len()
D:/go-workspace/src/github.com/qbeon/webwire-go/vendor/github.com/stretchr/testify/assert/assertions.go:538 +0x190
а именно тут внутри if'а:
if l != length {
return Fail(t, fmt.Sprintf("\"%s\" should have %d item(s), but has %d", object, length, l), msgAndArgs...)
}
пораждает data race
причём довольно редко происходит


Aleksandr
18.10.2018
19:23:07
так в чем рейс то? связи между двумя кусками кода не видно
почему на tasks грешишь, не очевидно