@proGO

Страница 1241 из 1674
Den
19.02.2018
14:27:18
здравствуйте. Подскажите как дебажить код с горутинами, взял примеркода, там функции запускаются в майне через go, как вотчеры поставить на переменные? или брейкпойнт в горутину?

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

Den
19.02.2018
14:29:36
это я не правильно выразился

Google
The
19.02.2018
14:30:19
в Goland есть переключение по горутинам

во вкладке debug есть сайдбар слева, там все горутины

Den
19.02.2018
14:32:27
По хорошему их надо тестировать, не запуская через go, а как обычно.
я просто код https://github.com/SaturnsVoid/GoBot2/blob/master/components/Keylogger.go

хочу оформить в виде отдельной проги, и не пойму как он там запускается чтоб висеть в фоне

там через таймер как то чтоль? https://github.com/SaturnsVoid/GoBot2/blob/master/components/Command.go

Alexey
19.02.2018
14:39:43
Вы в демонах всегда сигналы отлавливаете? :)

Никита
19.02.2018
15:38:20


Это API'шник, который я хочу раздробить ради удобства (сложно ориентироваться в тысячах строк кода в одном файле). Каждый компонент - набор вызовов(пользователи, друзья, и т.д.). Все эти вызовы используют несколько функций, которые я думаю запихнуть отдельный файл и импортировать в каждый компонент. Нормальная ли такая структура?

Nikita
19.02.2018
15:46:38
а либы не сделали в go ещё?

чтобы рантайм можно было шэрить

Google
Алекс
19.02.2018
15:47:11
Сделали

Давно

Nikita
19.02.2018
15:47:17
ок

Алекс
19.02.2018
15:47:25
Plugin

Daniel
19.02.2018
15:48:18
Nikita
19.02.2018
15:48:33
эм, чтобы бинари меньше весили

Алекс
19.02.2018
15:48:36
а зачем?
Расширенный функционал?

Nikita
19.02.2018
15:48:39
чтобы шарить память между ними

чтобы COW работал

Daniel
19.02.2018
15:49:13
чтобы шарить память между ними
сколько - в байтах - наэкономить хотите?

Nikita
19.02.2018
15:49:29
эм, для эмбеда бинари в 1мб это много

Daniel
19.02.2018
15:49:48
для эмбеда go не годится.

Nikita
19.02.2018
15:49:53
почему?)

Daniel
19.02.2018
15:50:05
по множеству причин. начиная с gc

Nikita
19.02.2018
15:50:13
https://github.com/golang/go/tree/master/src/cmd/compile/internal/mips64

Daniel
19.02.2018
15:51:08
эмбед - это не архитектура mips, это другое

Алекс
19.02.2018
15:51:24
Раст норм для эмбеда

Daniel
19.02.2018
15:51:36
вот это может быть, да

Vladimir
19.02.2018
15:51:45
https://github.com/golang/go/tree/master/src/cmd/compile/internal/mips64
А вы мипс64 часто видели в слабых девайсах?

Google
Kirill
19.02.2018
15:52:54
по множеству причин. начиная с gc
я не сварщик, но почему?

Vladimir
19.02.2018
15:53:08
ембед разный)
Ну я вообще не слышал что бы кто то кроме лонгсомов взял мипс64

Наверное он конечно где то ещё есть

Nikita
19.02.2018
15:53:38
ну к вопросу это не относится

Vladimir
19.02.2018
15:53:41
Но даже так это адская редкость

Daniel
19.02.2018
15:53:54
я не сварщик, но почему?
что - почему? эмбед предполагает ограниченность ресурсов. go runtime ее не предполагает

Olzhas
19.02.2018
15:54:00
мы юзаем железки с мипс для впн

Vladimir
19.02.2018
15:54:12
Olzhas
19.02.2018
15:54:16
ага

Vladimir
19.02.2018
15:54:26
ага
Вау, а что за ЦПУ?

Olzhas
19.02.2018
15:54:30
только там го нет

я не в курсе насчет параметров железа

Vladimir
19.02.2018
15:54:52
Я б себе девборду купил бы

Люблю экзотику

я не в курсе насчет параметров железа
Мне имя или хотя бы вендор ЦПУ интересен

Olzhas
19.02.2018
15:55:23
китай вроде

Vladimir
19.02.2018
15:55:37
Ну китайцев просто вагон

Там ЦПУ не указан :(

Мне на саму железку пофиг

Olzhas
19.02.2018
15:58:13
ничего не будет указано

Google
Vladimir
19.02.2018
15:58:22
Ну вот печаль

Nikita
19.02.2018
15:59:39
Olzhas
19.02.2018
16:00:28
фгуп?
вы о чем?

Nikita
19.02.2018
16:01:58
ну где впн делаете, что за организация?

Vladimir
19.02.2018
16:02:22
ну где впн делаете, что за организация?
Ну там выше ссылка на сайт же была

Admin
ERROR: S client not available

Olzhas
19.02.2018
16:02:39
я удалил ссылку, чтобы не посчитали рекламой

Vladimir
19.02.2018
16:02:39
А, исчезла

Nikita
19.02.2018
16:04:06
спасибо

Roman
19.02.2018
16:15:16
есть альтернатива sync.WaigGroup'е которая может ждать с timeout'ом? if err := lock.Wait(5 * time.Second); err != nil { // timed out }

или придётся самому пилить?

Alexey
19.02.2018
16:15:44
или придётся самому пилить?
самому на каналах и селекте вроде не сложно)

Roman
19.02.2018
16:16:22
самому на каналах и селекте вроде не сложно)
сложно не сложно, но таки зачем если есть уже в стандартной либе, поэтому решил спросить прежде чем приступлю писать))

ща использую async.WaitGroup для тестирования асинхронного взаимодействия между двумя системами, но думаю без timeout'а херово, тест зависает просто и всё))

Алекс
19.02.2018
16:41:40
есть у кого в чате пет-прожекты по типу спарка? map-reduce, вот это все

устал от скалы

Vlad
19.02.2018
17:21:25
устал от скалы
скалисты любят свифт

и как бекенд язык можно использовать

(но это неточно)

Алекс
19.02.2018
17:30:39
скалисты любят свифт
У Свифта не спарка

Google
Алекс
19.02.2018
17:31:12
Слишком хипстерский

Александр
19.02.2018
18:09:57
никто не сталкивался с тем что в винде консольй гоу встает на паузу?

просто тупо перестает исполняется

как будто выполнили sleep с бесконечностью

Arch
19.02.2018
18:12:33
Вероятно он уходит в дедлок

может канал не закрыт и прога ждет из него данные

Александр
19.02.2018
18:14:16
там тик цикл и гоурутины

Daniel
19.02.2018
18:14:40
а еще там лажа и дедлок, очевидно

сам по себе го на паузу не встает

Александр
19.02.2018
18:15:37
var wg sync.WaitGroup; ticker := time.NewTicker(5 * time.Minute) for range ticker.C { wg.Add(8) go blablabla(&wg) go blablabla(&wg) go blablabla(&wg) go blablabla(&wg) go blablabla(&wg) go blablabla(&wg) go blablabla(&wg) go blablabla(&wg) wg.Wait() }

что-то такое

конечно внутри каждой defer wg.done()

на маке пашет уже пол часа - все идеально

как бы подловить его... на wg.Wait() уперся или нет

Daniel
19.02.2018
18:19:46
ну - сделать свой waitgroup на атомике

и в wait сунуть ему log.Println

Страница 1241 из 1674