Size: a a a

2020 April 29

NG

Nikita Gritsai in Go-go!
VRacer
Всем привет! Подскажите пожалуйста, пример из книги Донована, не пойму как конец ввода сделать чтобы на следующий цикл перешел?

https://repl.it/repls/ReliableAntiqueMicrokernel
Что бы второй цикл выполнялся после ввода?
источник

V

VRacer in Go-go!
Nikita Gritsai
Что бы второй цикл выполнялся после ввода?
ага, получается бесконечный ввод. Код взят с книги, добавил только вывод мапы
источник

NG

Nikita Gritsai in Go-go!
VRacer
ага, получается бесконечный ввод. Код взят с книги, добавил только вывод мапы
Поместить второй цикл внутрь первого. На каждый ввод будет выполнятся новый обход counts.
А сейчас первый цикл по кругу гоняет и до второго не доходит)
источник

V

VRacer in Go-go!
Nikita Gritsai
Поместить второй цикл внутрь первого. На каждый ввод будет выполнятся новый обход counts.
А сейчас первый цикл по кругу гоняет и до второго не доходит)
это да, но получается сама программа не совсем точна? Следующий пример или чтение из файла или ввод через stdin и вот там такое уже не прокатывает)
источник

NG

Nikita Gritsai in Go-go!
VRacer
это да, но получается сама программа не совсем точна? Следующий пример или чтение из файла или ввод через stdin и вот там такое уже не прокатывает)
Не знаю, это пример кода или задачка на “исправить”?
источник

V

VRacer in Go-go!
Nikita Gritsai
Не знаю, это пример кода или задачка на “исправить”?
источник

V

VRacer in Go-go!
это пример кода
источник

NG

Nikita Gritsai in Go-go!
VRacer
это пример кода
В этом примере все ок. В такой форме (с range) цикл завершается после обхода всех элементов колекции.
источник

NG

Nikita Gritsai in Go-go!
VRacer
это пример кода
А, незаметил внизу countLines
источник

V

VRacer in Go-go!
Nikita Gritsai
В этом примере все ок. В такой форме (с range) цикл завершается после обхода всех элементов колекции.
if len(files) == 0 {
     countLines(os.Stdin, counts)
}else{ ...

но если аргументы не передаем, то аналогично первому примеру
источник

NG

Nikita Gritsai in Go-go!
Ctrl+D нужно нажать
источник

NG

Nikita Gritsai in Go-go!
Что бы прервать input.Scan()
источник

V

VRacer in Go-go!
Nikita Gritsai
Ctrl+D нужно нажать
все понял, это не функциональность goб большое спасибо Вам)
источник

КМ

Константин Митюрин... in Go-go!
Всем привет! Такой вопрос, решили на Го написать быстрый обработчик метрик в веба с использованием fasthttp. Суть простая - максимально быстро принять http коннект, взять данные, слить в канал и освободить коннект. Далее на фоне уже из канала в горутине забирать данные и отправлять пачками в базу. Прототип написали, и вроде, как все работает. Но проблема в другом, мало того, что скоростью тут и не пахнет, так еще и после обратки http запроса, каждый из них на уровне OS - уходит в time_wait. Естественно, через некоторое время большинство новых коннектов получают на своей свотроне - Connection reset by peer ибо в системе закончились сокеты, конечно, сколько-то там попадает, когда часть time_waitов умирает. Может у кого есть мысли, как реализоваться максимально конкуретный прием на fasthttp?
источник

DP

Daniel Podolsky in Go-go!
а точно ли вам тут нужен http?
источник

DP

Daniel Podolsky in Go-go!
http - тяжелый протокол, особенно в режиме без keep alive
источник

КМ

Константин Митюрин... in Go-go!
мы работаем с рекламой, все трекается пикселями
источник

NG

Nikita Gritsai in Go-go!
VRacer
все понял, это не функциональность goб большое спасибо Вам)
В доке написано что Scan читает до тех пор пока не встретит EOF (конец строки), а из терминала можно отправить EOF такой вот комбинацией.
источник

КМ

Константин Митюрин... in Go-go!
а веб - http
источник

J

Jefferson in Go-go!
Подскажите, пытаюсь установить время жизни для сессии так:
session.Set("user", user_name)
       session.Options(sessions.Options{MaxAge: 10})
       err := session.Save()

Т.е по моей логике сессия должна стать невалидной по истечению 10 секунд, но сессия остаётся валидной
источник