🎉
Yuri
🎉
Смысл роутера через структуры?
Andrey
Yuri
Roman
go/build, cmd/dist: add js/wasm architecture (Ia25b4fa2) · Gerrit Code Review
https://go-review.googlesource.com/c/go/+/102835
Roman
даже не верится
Daniel
интересно, как мы станем это использовать
Igor
Stanislav
Stanislav
:D
arkady
Подскажите пожалуйста, как понять, какие операции в ГО блокирующие, а какие нет?
Daniel
все блокирующие, кроме чтения-записи канала в селекте
arkady
я тут прохожу обучечние, и наткнулся на такой код, sleep это псевдо IO?
Daniel
ну - какая-то имитация задержки
arkady
я немного путаюсь, если в го горутины это потоки и они параллельны, то как же они будут параллельны, если почти любая операция - блокирующая ? Извиняюсь за тупость
Anonymous
Глянь netpoller и сам scheduler в рантайме, намного понятнее станет
Artem
arkady
Daniel
коллеги, давайте не будем терминами бросаться
arkady
Daniel
горутины - это потоки (в первом приближении), и они исполняются параллельно с основным потоком.
в вопросе о блокирующих операциях - что смущает? на блокирующей операции (и не только) шедулер получает управление, и может передать его другой горутине
arkady
Daniel
действия за пределами основного потока не могут его заблокировать. все
Daniel
чувствуется нода в бекграунде...
arkady
основной поток, это все, что запущено в main?
Daniel
да
Dmitry
arkady
тяжело дается понимание потоков после питона, там же GIL и потоки никогда не использовал, только асинхронщина
Daniel
а!
Daniel
ну вот
Vladislav
Доброго времени суток.
Подскажите как вывести в консоль Print на одной строке.
Vladislav
i := 23
log.Print(" Передаю логин и пароль ")
if i != 23 {
fmt.Print("... не удалось. - ")
} else {
fmt.Print("... ОК")
Пытаюсь так, но получается вот что
... ОК2009/11/10 23:00:00 Передаю логин и пароль
Aleksey
лог всегда новая строка
Vladislav
Ок, а в неё можно что-то дописать?
Vladislav
или команда постоянно ставит \n в конце строки?
Andrey
fmt.Println()
Aleksey
https://play.golang.org/p/jB-4nBbB_S0
Vladislav
https://play.golang.org/p/jB-4nBbB_S0
Да. но проблема в том, что между двумя выводами может пройти несколько десятков/сотен/тысяч секунд.
2009/11/10 23:00:00 Передаю логин и пароль
А
... ОК
появляется через 40-400 сек
Aleksey
лог не так работает
Andrey
У тебя задача какая? Чтобы это на одной строке было?
Aleksey
или используй везде фмт
Vladislav
Andrey
тогда тебе надо и там и там использовать одинаковые команды. А у тебя микс log и fmt - они в разные потоки шлют
Andrey
stderr и stdout
Vladislav
Wingman
А можно офтоп? :)
Кто какие знает _хорошие_ кресла для тяжеловесов 100+ кг?
herman miller не по карману, а тыщ 20 +- норм
Daniel
Artem
https://ergotronica.ru/product/ergonomichnoe-ofisnoe-kreslo-samurai-s1.html - у меня такое (я правда чуть меньше 100 и искал под рост гланым образом, но уверен, что оно и 100 с чем-то норм выдержит)
Aleksandr
а в чем проблема у тяжеловесов? колеса?
Artem
газлифт, скорее
Daniel
да все разваливается у пластмассового кресла
arkady
действия за пределами основного потока не могут его заблокировать. все
Можно еще немного помучаю.
например, имеем сервер с 2 ядрами процессора.
на нем поднята вебморда. И, например, при заходе на сайт запускается горутина, в которой долгий цикл с вычислениями или чтото из разряда "нагрузить процессор вычислениями".
3 пользователя одновременно сделали этот злосчастный запрос. Каждый запрос спровоцировал запуск горутины.
Вопрос, третий пользователь будет ждать, пока первые две горутины выполнятся или нет?
Vladislav
А как вывести в консоль строки с двойными кавычками?
Axm
Daniel
arkady
Vladislav
экранировать пробовал?
там их очень много и в разных местах по тексту. возможно ли выводить каким-то общим экраном?
arkady
`
Vladislav
О!, а я ' использовал :(
Vladislav
пробовал
Daniel
нет
Vladislav
`
Спасибо. Как раз то что нужно.
arkady
Daniel
в ваши вычисления надо вставить вызов https://golang.org/pkg/runtime/#Gosched
Daniel
но мне такое потребовалось ровно один раз за 4 года, и там реально был совершенно необщий кейс
Alexandr
Привет, подскажите как можно обработать retry попыток подключения к базе в библиотеке database/sql?
Daniel
шедулер получает управление на любом вводе-выводе и любом вызове не-inline функции. так что сделать так, чтобы горутина монополизировала тред, очень трудно
arkady
Понял, спасибо.
Anonymous
Привет всем! Я из JetBrains, мы думаем в одном из проектов внедрять Go и нам интересно с каким бэкграундом люди приходят в разработку на этом языке. Можете поделиться?
Wingman
Wingman
Artem
Anonymous
Wingman
в принципе я себе нашел PartCom, по 5 лет служили - взял себе и в офис и домой, но щас чёнить "поортопедичнее" хочется
Wingman