@proGO

Страница 1216 из 1674
Ruslan
10.02.2018
11:44:06
За счёт чего в го удалось сделать настолько легковесные потоки?

Alexander
10.02.2018
11:44:57
Ruslan
10.02.2018
11:45:14
Ну, я имею ввиду, есть ли у них какие-то ограничения по сравнению, например, с Java?

Google
Ruslan
10.02.2018
11:48:27
Alexander
10.02.2018
11:48:35
??

yuriy
10.02.2018
11:49:04
Ruslan
10.02.2018
11:51:11
за счет того что горутины не потоки
И при этом ими вполне можно нагрузить все ядра на процессоре, я правильно понял?

yuriy
10.02.2018
11:51:51
exactly :)

Ruslan
10.02.2018
11:52:27
Значит у потока есть какие-то преимущества перед горутинами?

Michael
10.02.2018
11:54:26
Он тяжелее Для тех, кто любит полегче - рутины)))

Ruslan
10.02.2018
11:54:45
Alex
10.02.2018
11:54:52
Если горутина заблокируется на какой-то I/O операции, то заблокируется целый OS thread

Ruslan
10.02.2018
11:55:25
Если горутина заблокируется на какой-то I/O операции, то заблокируется целый OS thread
а OS Tread'ов там как правило столько же, сколько ядер у процессоров?

Alex
10.02.2018
11:55:42
Соответственно заблокируются все горутины, которые работают на этом треде. Если я не ошибаюсь.

Michael
10.02.2018
11:55:43
Го манагер умеет перемещать рутины меж потоками

Alex
10.02.2018
11:56:45
Но всё же лучше почитать статью с хабра

Google
Ruslan
10.02.2018
11:57:16
Почитал, но теперь понял, что они довольно жестко привязаны к процессам

Alexander
10.02.2018
12:00:02
https://m.habrahabr.ru/post/333654/

Ну а если совсем много времени есть, то можно сурсы поковырять (комментарии там вполне понятные)

Demuz
10.02.2018
12:03:51


Andrey
10.02.2018
12:05:27
https://stackoverflow.com/questions/10858787/what-are-the-uses-for-tags-in-go

https://flaviocopes.com/go-tags/

Макс
10.02.2018
12:24:00
Привет народ. Подскажите, какая книга, по вашему мнению, наиболее подходит для изучения Go с нуля? Присутствует некоторый стаж на плюсах и питоне.

Ruslan
10.02.2018
12:25:12
Michael
10.02.2018
12:25:17
go tour

effective go

Макс
10.02.2018
12:25:34
И обязательно на Русском)

в туре мало теории

Michael
10.02.2018
12:26:01
+ англо-русский словарь

m
10.02.2018
12:45:40
Почему?
ну зачем это лишнее звено со своими ограничения, блокировками и прочими проблемами, если можно просто писать в файл?

Aleksey
10.02.2018
13:06:35
Можете подсказать по каким причинам могу получать такую ошибку version "go1.9.2" does not match go tool version "go1.9.3" при запуске ginkgo из терминала

m
10.02.2018
13:20:07
А потом случается ENOSPC
А с пайпом его не случается? ?

А почему их не может быть? Когда ты сам пишешь в файл, их можно обрабатывать. А когда кто-то за тебя читает твой stderr, то он может вдруг и перестать его читать почему-то на пару минут, например. Не знаю, что будет в таком случае...

Roman
10.02.2018
13:22:02
А с пайпом его не случается? ?
Нет. Меня удивил тезис про негодность решений с пайпами. Почему?

Google
m
10.02.2018
13:22:23
лишняя сущность.

m
10.02.2018
13:23:06
можно писать через 10 пайпов, сортировать записи по времени, например. но зачем так усложнять на ровном месте?

вот я и говорю, что плохо контролируемо.

Roman
10.02.2018
13:24:00
Лучше использовать syslog и не пытаться изобрести колесо

Mykyta
10.02.2018
13:31:35
gorm:"-" json:"name"

Demuz
10.02.2018
13:57:06
gorm:"-" json:"name"
Спасибо.

Roman
10.02.2018
14:01:29
Aleksey
10.02.2018
15:04:29
Можете подсказать почему такое выражение: var m map[string]interface{} _, ok := m.(map[string]interface{}) Вызывает ошибку компиляции: invalid type assertion: m.(map[string]<inter>) (non-interface type map[string]interface {} on left)

Aleksey
10.02.2018
15:21:09
https://www.youtube.com/watch?v=9Ia16QOY8rk
Можете подсказать примерно где искать ответ? А то с таким же успехом можно на каждый вопрос в этом чате отвечать https://golang.org/doc/ или еще лучше google.com

Aleksey
10.02.2018
15:25:12
Даже из ошибки становится очевидно non-interface type on left
Это понятно, я имею ввиду, как мне заставить это работать

Mykyta
10.02.2018
15:26:46
Это понятно, я имею ввиду, как мне заставить это работать
var m map[string]interface{} var v interface{} = m var m2 map[string]interface{} = v.(map[string]interface{})

Aleksey
10.02.2018
15:26:58
По факту я объясвляю такую мапу и передаю ее в функцию, внутри которой пытаюсь привести к мапе, но в таком виде ошибки копиляции нет, а просто на рантайме не приводит

The
10.02.2018
16:32:31
ты делаешь type assert, это для интерфейсов штука

а ты пытаешься map[string]interface{} привести к map[string]interface{}

Google
The
10.02.2018
16:32:50
каков смысл?

Человек
10.02.2018
17:34:14
Здравствуйте. Как сделать range импортируемого файла. Я импортирую файл прокси, привожу в порядок и теперь мне нужно протестировать все мои прокси сервера, то есть мне нужно сделать что-то типа цикла for i, _ := range rst[rna] {} и дальше я уже буду отправлять непосредственно запросы через прокси-серваки. Вот код: https://pastebin.com/hpdaUa0c

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

Запросы то через прокси я знаю как отправлять, просто не знаю как запихнуть в цикл

Admin
ERROR: S client not available

Человек
10.02.2018
17:43:31
Спасибо огромное!

А если мне потребуеться читать сразу два файла, с прокси и с User-Agent . Что мне тогда делать? range же будет только один

John
10.02.2018
17:47:16
или сразу в map ...

Aleksey
10.02.2018
17:48:06
Можете подсказать где можно посмотреть лучшие практики при разработке REST API, в каком виде возвращать ошибки валидации.

Человек
10.02.2018
17:48:13
а как преобразовать string в массив?

Demuz
10.02.2018
18:01:16
Кажись просто в []byte воткнуть

Вячеслав
10.02.2018
18:03:56
а как преобразовать string в массив?
https://stackoverflow.com/questions/18130859/how-can-i-iterate-over-a-string-by-runes-in-go

Человек
10.02.2018
18:07:08
мне нужно импортировать два файла, один с прокси, другой с User-Agent . И чтоб их вместе использовать нужно как я понял конвертировать в массив байтов и использовать как индекс (как мне сказали). Но я не знаю как это сделать.

А если мне потребуеться читать сразу два файла, с прокси и с User-Agent . Что мне тогда делать? range же будет только один

Никита
10.02.2018
21:14:33
хорошая штука или нет?

https://github.com/codesenberg/bombardier

Google
Michael
10.02.2018
21:57:36
Аля ab

Никита
10.02.2018
21:59:00
Да

Поюзал, наверное, самая удобная штука

The
10.02.2018
22:29:39
Поюзал, наверное, самая удобная штука
есть ещё такое https://github.com/rakyll/hey

Roman
10.02.2018
22:39:56
https://github.com/mdlayher/alg

внезапно

Roman
11.02.2018
14:07:05
используете какие либо тулзы для перекомпиляции перезапуска процесса после изменения исходников .go ?

я на данный момент использую nodemon, но у него какие-то глюки, не везде и не всегда убивает процесс, есть какие нибудь альтернативы?

Roman
11.02.2018
14:12:33
А вы исходники на сервер заливаете и там собираете?
речь идёт о разработке, когда процесс скомпилированный из go пересобирается и перезапускается при изменении исходников (будь-то сервер или что либо ещё, абсолютно неважно)

Roman
11.02.2018
14:13:33
чтоб не лезть постоянно ручками в консоль убивать процесс, компилить и запускать его заново (или даже просто запустить скрипт который это выполнит) а просто повернуть голову в сторону второго монитора и увидить результаты

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