очевидно что благодаря записям (видео и телеметрии) полиция в тот же день и заявляла кого считает виноватой а кого нет.
Просто выложить видосик со своего регистратора и с робомобиля будучи под nda разные вещи
на самом деле они по сути поменяли аудио разьем на второй динамик и влагозащиту.
вариант с переходником конечно жесть, но по сути если у тебя есть деньги на айфон можно наверно и уши с его разьемом взять, конечно минус что их кроме него никуда не вставишь.
там по коду они ещё освобождаются когда select паркует горутину (иначе другой код просто не сможет записать в канал) и после вейкапа лочаться опять
если в момент времени после пробуждения и до этого лока, другой канал (не который пробудил селект) попробует сделать это ещё раз это условие не даст этого сделать
https://golang.org/ref/spec#Select_statements
собственно в начале проверяются все канала, если есть куда писать, или откуда читать выбирается случайный их них, если нет то горутина добавляется в очереди всех каналов перечисленных в селекте
эм, а можете словами описать, что вы хотите получить…
а то у вас прям сразу рейс между основным кодом и той горутиной что вы запускаете, как бы не очень понятно какой результат вы ожидаете
к сожалению тут смотрится не айпи, а имя по которому обращаетесь (у меня просто обращение по ip), поэтому тут только добавить все интересующие имена (может даже в таком виде *.office.somedomain) — просто открыть руками реестр и добавить строчки с именами в ClientAllowedNTLMServers
ну либо закрывать фаерволом
> Даже если выделить goroutine на stdin — stdin останется открытым и следующая go routine не сможет с ним нормально работать
в смысле последующая?
func input(dc chan []byte) {
defer close(dc)
for {
data := make([]byte, 128)
n, err := os.Stdin.Read(data)
if n > 0 {
dc <- data[0:n]
}
if err != nil {
break
}
}
}
вот такая горутина будет читать из stdin и писать в канал а дальше уже где нужно делаете worker, process или что у вас по смыслу где будете читать из этого канала:
func worker(dc chan []byte, done chan bool) {
select {
case data, ok := <- dc:
if !ok {
// chanel closed exit
return
}
// do some work
case <- done:
// exit
return
}
}
соответственно когда нужно завершить эту горутину пишите в канал done
на втором фото там где кусок капота за машиной там же и ямка от удара, 25 метров очевидно измеряются по конечной точке (то есть полет + кувырок) ну и вполне могут быть округлены для красоты
ну и процента 2-3 таки графики из математики.
Просто выложить видосик со своего регистратора и с робомобиля будучи под nda разные вещи
вариант с переходником конечно жесть, но по сути если у тебя есть деньги на айфон можно наверно и уши с его разьемом взять, конечно минус что их кроме него никуда не вставишь.
https://habrahabr.ru/post/123238/
если в момент времени после пробуждения и до этого лока, другой канал (не который пробудил селект) попробует сделать это ещё раз это условие не даст этого сделать
собственно в начале проверяются все канала, если есть куда писать, или откуда читать выбирается случайный их них, если нет то горутина добавляется в очереди всех каналов перечисленных в селекте
а то у вас прям сразу рейс между основным кодом и той горутиной что вы запускаете, как бы не очень понятно какой результат вы ожидаете
ну либо закрывать фаерволом
в смысле последующая?
вот такая горутина будет читать из stdin и писать в канал а дальше уже где нужно делаете worker, process или что у вас по смыслу где будете читать из этого канала:
соответственно когда нужно завершить эту горутину пишите в канал done
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0]
"RestrictReceivingNTLMTraffic"=dword:00000002
"RestrictSendingNTLMTraffic"=dword:00000002
"ClientAllowedNTLMServers"=hex(7):31,00,39,00,32,00,2e,00,31,00,36,00,38,00,2e,\
00,2a,00,00,00,00,00
это оставляет 192.168.* рабочими