Slava
Занести админу :)
Мерль
Занести админу :)
🤔 Хорошая идея :3
Kirill
А кто-то видел @t0pep0?
Aleksandr
У тебя действительно проблема в скорости nginx?
kås
Вопрос в задаче вообще
Anonymous
Есть строка которую дёргают потоки Во время перезаписи этой строки все потоки встают?
kås
Горутины пишут в 1 переменную глобальную?
kås
Do not communicate by sharing memory; instead, share memory by communicating.
kås
Юзай каналы. Они точно блокируются.
Anonymous
При чтении пакета из канала он удаляется оттуда?
kås
Если канал не буферизирлван то это не чтение из канала а передача ИЗ рутины например. Как эстафета
Мерль
Есть строка которую дёргают потоки Во время перезаписи этой строки все потоки встают?
Если у тебя мьютекса нет, то не блокируются и так делать нельзя
Ivahaev
Я юзал. Норм штука. Конфижется гибче нжинкса, ставится проще :)
Dmitry
хочу потренироваться с примитивами синхронизации в многопоточных приложениях. кто нибудь знает ресурс который поможет мне в это ? (набор задач пошаговых, тесты проверочные на знания и тому подобное)
Dmitry
а то вроде и знаю, но иногда плаваю
Paul
Всем привет, только начал изучение Golang-а
Anonymous
Всем привет, только начал изучение Golang-а
Бери оружие, иди на Растеров
Petr
(
Paul
хочу написать такую консольную программу: Поочередно предлагать пользователю ввести через терминал последовательность чисел Фибоначчи. Завершить выполнение после 10ти правильных ответов подряд или 3х допущенных ошибок. Не могу пока понять, как просить пользователя что-то вводить? через буффио?
Aleksandr
fmt.Scanln
Paul
А, нашёл Scanln, вопрос отпал.)
Anton
Три предыдущих сообщения сильно напомнили анекдот про «господи, помоги мне найти место для парковки!» 🙂
Anton
Мужик едет на встречу, опаздывает, нервничает, не может найти место припарковаться. Поднимает лицо к небу и говорит: — Господи, помоги мне найти место для парковки. Я тогда брошу пить и буду каждое воскресенье ходить в церковь! Вдруг чудесным образом появляется свободное местечко. Мужик снова обращается к небу: — А, всё, не надо. Нашёл!
Paul
ахах
Paul
fmt.Scanln
спасибо!
Paul
у меня в чате сначала просто был мой ответ, а потом Александра, поэтому не понял юмора)
Stepan
Господа у меня тут собеседование на го джуна скоро, можете зарплатную вилку подсказать?) МСК
Igor
60-130
Stepan
100-120
Чет многовато
Anonymous
Чет многовато
Ну раз многовато проси 15 тысяч
heavycharged
господа, подскажите как со слайсами организовать очередь фиксированного размера, чтобы слайс не расширялся в capacity. допустим, len=3, cap=3 мне нужно два последних элемента передвинуть в начало, а в конец вставить новый, и так постоянно
Anonymous
Ну это несерьезно)
Тут можно оскорблять людей?
Anonymous
Тут можно оскорблять людей?
нет, для этого есть другой канал
Anonymous
пройдёмте ))
Anonymous
нет, для этого есть другой канал
Напишите пожалуйста ссылку на канал, я там разберусь
Anonymous
https://t.me/goflood
heavycharged
Так есть же array для таких вещей
размер array указывается на этапе компиляции, у меня динамический
Anonymous
Так есть же array для таких вещей
Здравствуйте, я вам оставил там послание
heavycharged
slc:=make([]int, len, cap)
к чему это? зачем мне алоцировать новый массив?
Anonymous
к чему это? зачем мне алоцировать новый массив?
так создаётся слайс с смассивом заданного размера.
heavycharged
я спрашивал как мне сдвинуть все элементы на одну позицию, не выделяя нового массива и не расширяя capacity слайса.
Anonymous
да, я видимо прочитал нечто не то. Извиняюс
Anonymous
хм.. ну тогда только циклом?
Anonymous
типа такова? for i := 0; i < len(slc)-2; i++ { slc[i] = slc[i+1] } slc[len(slc)-1] = 0
Daniel
Только циклом. И только с аыделением нового слайса, если в старом закончилось место
Denis
в таком случае развороты. 1 2 3 | 4 5 3 2 1 | 5 4 <------------- 4 5 1 2 3
Denis
т.е. отдельно разворачиваешь левую и правую части, потом весь слайс целиком
Daniel
А в чем смысл?
Denis
нет аллокаций, алгоритм позволяет сдвигать не только 1 элемент, а сколько угодно, и работает все еще за N
Denis
если брать кол-во перемещений элементов
Denis
это по-моему лет 50 назад уже изобрели)
Daniel
Нет аллокаций - это вы про промежуточную переменную/слайс?
Denis
это я про то что промежуточный слайс не нужно делать, да
Daniel
Я вот не уверен, что оптимизация все еще актуальна
Daniel
Надо бы померять
Denis
типа такова? for i := 0; i < len(slc)-2; i++ { slc[i] = slc[i+1] } slc[len(slc)-1] = 0
а какое другое решение вообще существует? это?
Denis
это ж тоже O(N) только если надо будет 2 элемента и более сдвигать то проблемы начнутся
Daniel
А что, есть другие варианты?
Denis
в таком случае развороты. 1 2 3 | 4 5 3 2 1 | 5 4 <------------- 4 5 1 2 3
ну я и говорю. зачем вручную каждый элемент вправо двигать когда давным-давно придумали это
Daniel
Так а в чем разница?
Daniel
Все одно вручную двигать элементы...
Denis
в том, что тут сдвиг можно делать не только на 1 элемент, а насколько угодно
Daniel
Да ладно
🏁Александр
а чо тут?
heavycharged
циклически, т.е. последний элемент должен первым стать?
1 2 3 | 4 - на вставку 2 3 4 <- результирующий слайс (len = 3; cap = 3)
Slava
http://michenriksen.com/blog/gitrob-now-in-go/
Slava
а кто-то с графаной/графитом работает?
Daniel
сейчас нет, раньше да
Daniel
а что?
Slava
у меня есть метрика по тегам, типа category:cluster_id и значение, которое число какое-то мне хочется проссумировать значения, но так, чтобы если значение больше 0, то прибавлять 1 у меня вот такая хрень пока есть sumSeries(transformNull( offset( scale( removeBelowValue(#K,1) ,0) ,1) ,0))
Slava
то есть я тупо занулляю нули, а реальные значения скейлю к нулю и добавляю единицу