
Alexey
04.09.2017
12:59:30
типа того https://play.golang.org/p/4Uyv0EPqpf

Alex
04.09.2017
13:00:57
Ты мне ответил моим же примером, тебе надо новую ссылку сделать :)

Alexey
04.09.2017
13:02:01
ну лан

Google

Nikolay
04.09.2017
13:02:38

Alexey
04.09.2017
13:04:38
Еще вопрос: Канал созданный следующим объявлением "var chan int" имеет емкость 0, 1, множество?
Короче ответ: 0

Nikolay
04.09.2017
13:05:33
я, честно, пока еще не вкурил в фишку, зачем нужны буферизованные каналы
без них должно и так все работать

Alexey
04.09.2017
13:06:07
я тож их еще ниразу не применял

Alex
04.09.2017
13:07:10

Sergey
04.09.2017
13:08:58
эмулировать мьютекс через мьютекс?..

Alexey
04.09.2017
13:09:47

Alex
04.09.2017
13:09:55
Я же сказал, что неудачный пример :)

Nikolay
04.09.2017
13:10:06
вы мне про кафку расскажете или нет? неужто никто с ней не работал?

Kirill
04.09.2017
13:10:21

Google

Ilya
04.09.2017
13:10:40

Sergey
04.09.2017
13:10:57
Их там не один
да, но это неважно.
пытаться эмулировать мьютексы с помощью мьютексов - это, мм, пахнет тяжело действующими веществами.

Nikolay
04.09.2017
13:11:04
разве нет?

nezorflame
04.09.2017
13:11:21
ну он считает по размеру буфера
и можно со считанным работать параллельно
:)

Alexey
04.09.2017
13:11:38

Ilya
04.09.2017
13:12:06
запулил 3 значения - запустил 3 горотины. ждешь пока просрется хоть одна и заново
не надо про пулл сопроцессов думать, например

Alexey
04.09.2017
13:14:46
данные в канале с объемом 10 будут читаться не по очереди, а сразу 10 и будут читаться?

Alex
04.09.2017
13:14:51
Ну это необязательно параллельно
Это никто не гарантирует
Concurrency is not parallelism, жи

Nikolay
04.09.2017
13:15:32
ну вот у меня просто сейчас задача

nezorflame
04.09.2017
13:15:37
асинхронно, ок

Nikolay
04.09.2017
13:15:49
надо читать из кафки данные как можно быстрее, ибо данных дохрена
неужто добавление буферизации может помочь?

nezorflame
04.09.2017
13:16:28
может воркгруппа помочь, вероятно

Google

Alexey
04.09.2017
13:16:30
ну попробуй - нам расскажешь
Еще вопрос из мейловских тестов, что будет в выводе:
func keepCalmAndPanic(msg string) {
panic(msg)
}
func main() {
defer func() {
if err := recover(); err != nil {
fmt.Print(err.(error).Error())
}
}()
go keepCalmAndPanic("Aargh!")
fmt.Printf("It's fine")
}

Nikolay
04.09.2017
13:17:34
как он поможет?

Ilya
04.09.2017
13:17:43

Alexey
04.09.2017
13:17:47
короче выйдет "It's fine"

nezorflame
04.09.2017
13:17:57

Alexey
04.09.2017
13:18:05

Alexey
04.09.2017
13:18:26
не всегда
там проверка на error - которого нет

Alex
04.09.2017
13:19:18

nezorflame
04.09.2017
13:19:20
от машины зависит, в общем

Alexey
04.09.2017
13:20:12
вот ща проверил https://play.golang.org/p/dzoh28cjuU

Alexey
04.09.2017
13:20:15
На плее быстрее выходит, горутина не успевает:) Но вообще, конечно, это правда не определено.
https://play.golang.org/p/x_Aa7TWlLs - если time.Sleep впихнуть

Alex
04.09.2017
13:20:45

nezorflame
04.09.2017
13:20:50
как он поможет?
wg.Add(n)
for i := 0; i < n; i ++ {
go func(wg sync.Waitgroup) {
doSomething()
wg.Done()
}(wg)
}
wg.Wait()

Nikolay
04.09.2017
13:21:32

Google

Nikolay
04.09.2017
13:21:41
я не понимаю, как он поможет быстрее кафку разбирать)

Alexey
04.09.2017
13:23:12
https://certification.mail.ru/tests/golang35/start/

Alexey
04.09.2017
13:23:22
А насколько много данных из неё? Сколько штук в секунду? Проще всего вроде на каждое горутину плодить и не париться в общем случае.

Alexey
04.09.2017
13:23:33
А вы еэти тесты проходили, просто при приеме на работу - у меня их спросили

nezorflame
04.09.2017
13:23:47
сейчас прошел ради интереса, а вообще нет
у нас свой опросник

Nikolay
04.09.2017
13:23:56
плюс их парсить надо успевать

Alexey
04.09.2017
13:24:28

nezorflame
04.09.2017
13:24:46
кину в личку

Alexey
04.09.2017
13:25:41

Nikolay
04.09.2017
13:26:22
я вот и думал, может, несколько консюмеров стартовать или смысла нет?

Alexey
04.09.2017
13:26:53

Alex
04.09.2017
13:27:03

nezorflame
04.09.2017
13:27:10
:)

Alexey
04.09.2017
13:27:18

Nikolay
04.09.2017
13:27:23

?
04.09.2017
13:27:32

nezorflame
04.09.2017
13:27:53
да он простенький, обычно новичкам задаем на собесах

Google

Alexey
04.09.2017
13:28:40
ну зато нет двусмысленных вопросов как в мейле

Alexey
04.09.2017
13:28:56

Alexey
04.09.2017
13:29:02
Например: Каким образом реализован механизм исключений (exception) в Go?

nezorflame
04.09.2017
13:29:16

Nikolay
04.09.2017
13:29:54

Sparrow
04.09.2017
13:29:56
троллинг ага

Alex
04.09.2017
13:30:28
Спасибо :)

nezorflame
04.09.2017
13:30:45
творение не мое, спасибо автору)

Alexey
04.09.2017
13:30:55

nezorflame
04.09.2017
13:32:29
как ни странно, приходит народ на собесы
и спрашивают А что такое iota?
при этом опыт на Go год+

Alex
04.09.2017
13:32:51

Alexey
04.09.2017
13:33:05
Ну зачем писать-то несколько iota в одном блоке const :(

nezorflame
04.09.2017
13:33:36
тесты вообще зло

Alexey
04.09.2017
13:33:37

Nikolay
04.09.2017
13:34:14

Alexey
04.09.2017
13:34:19

Nikolay
04.09.2017
13:34:20
какой вопрос - такой ответ

Alexey
04.09.2017
13:34:44
Ну ещё в куче и в стеке

Alex
04.09.2017
13:34:56