@proGO

Страница 1386 из 1674
Roman
20.04.2018
16:12:46
или go test --help

там много всего

Roman
20.04.2018
16:17:07
Parallel, Helper, оптимизации выполнения и компиляции, флаги и т.д. и т.п.
parallel и мы умеем helper честно говоря ни о чём, у нас helper реализован в отдельном singleton пакете что имеется ввиду под "оптимизацией выполнения и компиляции"? вот это уже интересно

Google
Artem
20.04.2018
16:18:10
ну вот недавно (1.10) кэши добавили: это из чего пришло в голову первым

Roman
20.04.2018
16:19:02
единственное что действительно незаменимо так это профайлинг и coverage

Zerogoki
20.04.2018
16:33:40
Какой ThreadPool посоветуете юзать? На гитхабе полно либ

https://github.com/Jeffail/tunny https://github.com/pbenner/threadpool https://github.com/shettyh/threadpool

FRD Official - Dmitriy
20.04.2018
16:39:06
я уже писал выше
Я тоже писал. Ты хоть абстрактный код бы показал, а то "нее - под наши задачи...", какие задачи? Что именно делаете? Бомбы атомные? Да я что-то сомневаюсь. Что там у вас тестами не покрывается? В чем сложность их написания? А то знаешь это как нытье про "у меня проблемы с женой" , все что-то советуют, распинаются, а потом ТС заявляет - "я ее никак найти не могу"

Zerogoki
20.04.2018
16:41:28
Вот есть слайс из строк (айпишники), я их передаю функции, которая делает некие операции с сетью, после чего возвращает структуру. Этих строк несколько тысяч, поэтому надо распараллелить

Andrii
20.04.2018
16:42:19
Что можете сказать про gorm стоит ли юзать или чтото другое использивать?

FRD Official - Dmitriy
20.04.2018
16:43:30
Что можете сказать про gorm стоит ли юзать или чтото другое использивать?
Пока не сам не решишь зачем тебе альтернативы - юзай gorm

Andrii
20.04.2018
16:43:55
Окей, спасибо)

Google
Zerogoki
20.04.2018
16:44:21
запускай каждую операцию в отдельной горутине
А лимит сделать на количество одновременно запущенных горутин можно?

Чтобы не больше ста разом крутились, допустим

FRD Official - Dmitriy
20.04.2018
16:46:22
не понимаю о чём ты, всё уже выше было описано
Нет, там было про "бефоре-афтер", картинка, которая говорит ниочём и много страданий. Было конструктивное предложение, повторюсь, давай возьмем гипотетическую ситуацию, опишем её тестами, ну где тут проблемы тестирования в Go, я в упор не вижу.

Zerogoki
20.04.2018
16:46:25
А канал — это что-то типо массива?

Который можно делить между процессами

Чтобы не мешали друг другу при записи туда

FRD Official - Dmitriy
20.04.2018
16:47:24
Ты из какого языка пришел?

Zerogoki
20.04.2018
16:47:29
Питончик

FRD Official - Dmitriy
20.04.2018
16:48:37
Ну да, что-то вроде массива, с одной стороны в него пишут, с другой читают, еще это называют pipe

Roman
20.04.2018
16:49:58
Zerogoki
20.04.2018
16:51:30
запускай каждую операцию в отдельной горутине
Тогда они не успевают выполниться

Я читаю входные данные, потом циклом горутины запускаю, а там уже конец кода

А при её запуске же программа дальше выполняется

FRD Official - Dmitriy
20.04.2018
16:52:11
Это очередь

Roman
20.04.2018
16:52:41
Тогда они не успевают выполниться
в смысле не успевают выполниться? ты имеешь ввиду процесс раньше завершается? если так то юзай sync.WaitGroup

Zerogoki
20.04.2018
16:56:52
Чот не понял, когда runtime error: invalid memory address or nil pointer dereference возникает?

Google
Zerogoki
20.04.2018
16:57:04
Ещё аж с segfault крашится

Без горутин работало нормально, а как их прикрутил — вот такое

Nick
20.04.2018
16:58:31
Обращение к участкам памяти общим в разных корутинах есть?

Zerogoki
20.04.2018
16:59:26
Есть обращение к структуре

код фстудию
Он там длинный, непонятно что именно показывать

Zerogoki
20.04.2018
16:59:59
Крашится на строке, когда я в сокет посылаю данные

Roman
20.04.2018
17:00:18
где-то читаешь из несуществующей памяти

Nick
20.04.2018
17:00:26
Обращение к участку памяти, который ещё не записался в память и отсутствует к кэше ядра?

Zerogoki
20.04.2018
17:03:39
Вот участок проблемный binLogin := bytesBuf.Bytes() fmt.Printf("% x\n", binLogin) d.sock.Write(binLogin) В binLogin байты, которые я на сервер посылаю. Думал, что проблемы с этой переменной, но она печается, а при попытке записать в сокет — краш

Nick
20.04.2018
17:04:56
А что такое d

Zerogoki
20.04.2018
17:05:35
Это указатель на структуру

типо вот func (d *Dahua) Init() { }

Nick
20.04.2018
17:06:00
Как ты там инициализируешь sock

Zerogoki
20.04.2018
17:07:16
Типо так func New(ip string, port uint16, user string, pw string) Dahua { addressString := fmt.Sprintf("%s:%d", ip, port) conn, err := net.DialTimeout("tcp", addressString, time.Duration(TimeOut) * time.Second) d := Dahua{ip, port, user, pw, "", conn, err, 127} return d }

А вот структура type Dahua struct { ip string port uint16 user string password string serial string sock net.Conn err error status int8 }

А, я понял, походу

У меня в поле sock как-то nil оказался

Andrii
20.04.2018
17:09:27
db.AutoMigrate(&Resource{}) за что отвечает в даной строке Resource ?

Google
Andrii
20.04.2018
17:09:51
ето назва бд?

Zerogoki
20.04.2018
17:13:30
А, всё

Это я немного идиот

FRD Official - Dmitriy
20.04.2018
17:13:41
У меня в поле sock как-то nil оказался
Значит надо искать выше, при каких условиях у тебя кто-то положил нил в канал

Zerogoki
20.04.2018
17:13:42
Я забыл проверку сделать на ошибку соединения

Если его не удалось установить, то там nil и будет

Admin
ERROR: S client not available

Zerogoki
20.04.2018
17:14:05
Точнее, не забыл, а просто return забыл поставить

FRD Official - Dmitriy
20.04.2018
17:14:16
Это я немного идиот
Нет, ты просто осваиваешь новую модель, ошибки тут случаются

Алекс
20.04.2018
17:17:32
https://habrahabr.ru/company/mailru/blog/353790/

FRD Official - Dmitriy
20.04.2018
17:22:23
О еще один хабродятел перевел статью, которую все прочитали неделю назад... ну да, актуальненько...

Nick
20.04.2018
17:27:11
https://habrahabr.ru/company/mailru/blog/353790/
Печально что чувак плохо знает про джаву и пишет про неё

FRD Official - Dmitriy
20.04.2018
17:29:49
Печально что чувак плохо знает про джаву и пишет про неё
На хабре вообще все печально. Не, иногда там парни дают жару, но это уже настолько редко случается, что даже удивительно, и не лень кому-то было метать бисер перед свиньями

FRD Official - Dmitriy
20.04.2018
17:43:03
Это перевод, оригинальный автор не с хабра
Еще раз повторюсь, интересующиеся эту статью прочитали задолго до перевода.

Dmitry
20.04.2018
17:46:08
Еще раз повторюсь, интересующиеся эту статью прочитали задолго до перевода.
Если не прочитал неделю назад - значит не интересующийся ?

FRD Official - Dmitriy
20.04.2018
17:49:19
Вопрос, что такое хабр? - ответ место для пиара местячковых выкидышией от от компании "русзаемнаёб", которые нальют воды на пустом месте и ничего не расскажут, переводчиков "а#уительных статей", которые никому уже не интересны. И мальчиков, которые пытаются добиться их расположения, думая что это показатель

Dmitry
20.04.2018
17:50:48
Не, вопросов больше не имею

Google
FRD Official - Dmitriy
20.04.2018
17:53:21
Dmitry
20.04.2018
17:54:08
Жаль
я бы поучаствовал в сраче , но нужно прочитать парочку статей :)

FRD Official - Dmitriy
20.04.2018
17:57:24
я бы поучаствовал в сраче , но нужно прочитать парочку статей :)
На хабре? >:(~ Да шучу, а если серьезно, может где-то я ошибаюсь? Не смотря на императивный тон, да, допускаю, что где-то я могу ошибаться

Zerogoki
20.04.2018
18:00:11
Что-то у меня wg.Wait() бесконечно ждет

Я в функции даже принт перед самым return поставил, чтобы удостовериться, что она действительно завершается

Пока одну только горутину запускаю

А, хотя не

Зависает на строчке, когда я в канал пишу

FRD Official - Dmitriy
20.04.2018
18:09:26
из канала кто-то должен прочитать

Zerogoki
20.04.2018
18:18:23
Теперь функция завершается, но wait ждёт бесконечно

results := make(chan dahua_controller.Dahua) var wg sync.WaitGroup wg.Add(1) go ProcessHost(ipList[0], results) <- results wg.Wait()

Yury
20.04.2018
18:25:14
Wait будет ждать пока у тебя счетчик в wg в ноль не уйдет, нужно wg.Done() вызывать где-то

Zerogoki
20.04.2018
19:21:29
Что этот счётчик уменьшает?

А, понял

wg.Done() и уменьшает

А если горутина ничего не записала в канал, то при попытке чтения оттуда будет блокировка до появления там данных?

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