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

Alexander
10.02.2018
11:44:57

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

Alexander
10.02.2018
11:47:53

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

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 из терминала

Roman
10.02.2018
13:19:16

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

Roman
10.02.2018
13:22:02

Google

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

Roman
10.02.2018
13:23:02

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"

m
10.02.2018
13:48:35

Demuz
10.02.2018
13:57:06

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)

Marlik
10.02.2018
15:17:30

Aleksey
10.02.2018
15:21:09

Marlik
10.02.2018
15:22:05

Mykyta
10.02.2018
15:24:19

Aleksey
10.02.2018
15:25:12

Mykyta
10.02.2018
15:26:46

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

John
10.02.2018
17:36:11

Человек
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 в массив?

Вячеслав
10.02.2018
18:00:36

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

Вячеслав
10.02.2018
18:03:56

Человек
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
Да
Поюзал, наверное, самая удобная штука

Michael
10.02.2018
22:00:23

The
10.02.2018
22:29:39

Roman
10.02.2018
22:39:56
https://github.com/mdlayher/alg
внезапно

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

Alexey
11.02.2018
14:11:22

Roman
11.02.2018
14:12:33

Alexey
11.02.2018
14:13:29

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