Yuri
Какой смысл?
Смысл чего?
🎉
Смысл роутера через структуры?
Artem
в jetbrains Goland есть плагины которые добавляют любые фишки саблайма, тот же превью всего файла слева, и есть мульти курсор и вообще это полная IDE
Не очень понял комментарий. Мой посыл был к тому, что в зависимости от потребностей можно либо что-то легкое юзать, в можно полноценную иде. Так то фишки саблайма везде давно есть. (Сам на идее)
Roman
go/build, cmd/dist: add js/wasm architecture (Ia25b4fa2) · Gerrit Code Review https://go-review.googlesource.com/c/go/+/102835
Roman
даже не верится
Daniel
интересно, как мы станем это использовать
Stanislav
:D
arkady
Подскажите пожалуйста, как понять, какие операции в ГО блокирующие, а какие нет?
Daniel
все блокирующие, кроме чтения-записи канала в селекте
arkady
я тут прохожу обучечние, и наткнулся на такой код, sleep это псевдо IO?
Daniel
ну - какая-то имитация задержки
arkady
я немного путаюсь, если в го горутины это потоки и они параллельны, то как же они будут параллельны, если почти любая операция - блокирующая ? Извиняюсь за тупость
Anonymous
Глянь netpoller и сам scheduler в рантайме, намного понятнее станет
Daniel
коллеги, давайте не будем терминами бросаться
Daniel
горутины - это потоки (в первом приближении), и они исполняются параллельно с основным потоком. в вопросе о блокирующих операциях - что смущает? на блокирующей операции (и не только) шедулер получает управление, и может передать его другой горутине
Daniel
действия за пределами основного потока не могут его заблокировать. все
Daniel
чувствуется нода в бекграунде...
arkady
основной поток, это все, что запущено в main?
Daniel
да
Dmitry
тогда получается, что горутины это просто асинхронные функции?
скорее https://ru.wikipedia.org/wiki/Легковесный_процесс
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
или используй везде фмт
Andrey
тогда тебе надо и там и там использовать одинаковые команды. А у тебя микс log и fmt - они в разные потоки шлют
Andrey
stderr и stdout
Vladislav
или используй везде фмт
Точно. так проще будет. Спасибо ))
Wingman
А можно офтоп? :) Кто какие знает _хорошие_ кресла для тяжеловесов 100+ кг? herman miller не по карману, а тыщ 20 +- норм
Artem
https://ergotronica.ru/product/ergonomichnoe-ofisnoe-kreslo-samurai-s1.html - у меня такое (я правда чуть меньше 100 и искал под рост гланым образом, но уверен, что оно и 100 с чем-то норм выдержит)
Aleksandr
а в чем проблема у тяжеловесов? колеса?
Artem
газлифт, скорее
Daniel
да все разваливается у пластмассового кресла
arkady
действия за пределами основного потока не могут его заблокировать. все
Можно еще немного помучаю. например, имеем сервер с 2 ядрами процессора. на нем поднята вебморда. И, например, при заходе на сайт запускается горутина, в которой долгий цикл с вычислениями или чтото из разряда "нагрузить процессор вычислениями". 3 пользователя одновременно сделали этот злосчастный запрос. Каждый запрос спровоцировал запуск горутины. Вопрос, третий пользователь будет ждать, пока первые две горутины выполнятся или нет?
Vladislav
А как вывести в консоль строки с двойными кавычками?
Vladislav
экранировать пробовал?
там их очень много и в разных местах по тексту. возможно ли выводить каким-то общим экраном?
arkady
`
Vladislav
О!, а я ' использовал :(
Vladislav
пробовал
arkady
в очень специальном случае - да
Кажется понял, для таких задач нужено написать механизм работы по типу celery
Daniel
нет
Vladislav
`
Спасибо. Как раз то что нужно.
arkady
нет
а как тогда?
Daniel
в ваши вычисления надо вставить вызов https://golang.org/pkg/runtime/#Gosched
Daniel
но мне такое потребовалось ровно один раз за 4 года, и там реально был совершенно необщий кейс
Alexandr
Привет, подскажите как можно обработать retry попыток подключения к базе в библиотеке database/sql?
Daniel
шедулер получает управление на любом вводе-выводе и любом вызове не-inline функции. так что сделать так, чтобы горутина монополизировала тред, очень трудно
arkady
Понял, спасибо.
Anonymous
Привет всем! Я из JetBrains, мы думаем в одном из проектов внедрять Go и нам интересно с каким бэкграундом люди приходят в разработку на этом языке. Можете поделиться?
Wingman
http://www.defo.ru/product/helmut-bronza/
спасибо, надо пощупать )
Anonymous
backend web приложений, интеграционные решения
ага, спасибо! А бекэнд на чем?
Wingman
в принципе я себе нашел PartCom, по 5 лет служили - взял себе и в офис и домой, но щас чёнить "поортопедичнее" хочется
Artem
ага, спасибо! А бекэнд на чем?
в разное время на разном. Ruby и python наверное в основном были