Maks
И группировку
Maks
Без вспомогательных библиотек
Eugene
не проще атомики взять?
возможно, если подскажешь чуть более подробнее :) Я совсем не Гошник, ну, т.е. пару лет назад я начинал изучать, но дальше базы не добрался, а сейчас на мою голову свалился апдейтер, у которого дико течет память и я нашел подобное место (в примере упростил), где мы ходим на сервер за данными каждые N секунд (для этого встроен IF). Короче я вижу, что это потенциальное зло и здесь течет, но как поправить я точно не знаю, за этим и пришел
Maks
Я пока не представляю
Eugene
вэйтгруппа это левая вообще хрень, я ее забыл удалить просто
Andrey
было)
Соизвольте немного растрясти свою ленивую задницу, и чуть-чуть подняться выше по книге, и там будет пример вычисления математических выражений. А то ctrl+f , и все, на этом жизнь остановилась
Andrey
в оригинале фор живет вечно, пока живет приложение
То есть тебе нормально, что ты такую конструкцию никогда не сможешь остановить?
Eugene
То есть тебе нормально, что ты такую конструкцию никогда не сможешь остановить?
лично мне нужна конструкция, которая будет делать обычный лонгпулинг, если есть какой-то внятный пример, то буду благодарен
Andrey
лично мне нужна конструкция, которая будет делать обычный лонгпулинг, если есть какой-то внятный пример, то буду благодарен
Добавь в свой фор просто select конструкцию и пробрось контекст. Это если по нормальному. Что насчет инкрементации переменной, то просто загугли про атомики в Го, ответ сразу будет тебе
Иван
но же слип 2 сеукнды делает не
Eugene
в оригинале это HTTP Request
Иван
ну значит у тебя быстро реквесты проходят
Eugene
ну там стоит самодельный таймер на 300 секунд
Eugene
nextUpdate 300 сек после последнего запроса
Иван
а чем тебе time.Ticker не угодил
Иван
короч надо сначала понять идею что нужно получить а то хз)
Andrey
Поддерживаю. Мы особо не можем подсказать, что тебе надо сделать, потому что непонятно что ты там делаешь такого
Eugene
нужно ходить раз в N секунд на сервер и забирать данные
Eugene
бесконечно, пока живо приложение
Eugene
так, судя по всему, с time.Tick все хорошо и штатно работает.
Eugene
>а чем тебе time.Ticker не угодил мне то он угодил полностью, как только ты написал о нем и я узнал о нем!) Я же говорю, я не пишу на Го и к сожалению, до меня уже наговнякали, а я лишь смог идентифицировать проблемное место. Я сразу понял, что бесконечный цикл какая-то странная херня, но чтобы починить это по нормальному к вам и пришел) Спасибо вам большое)
Andrey
нужно ходить раз в N секунд на сервер и забирать данные
Ну тогда я бы рекомендовал использовать time after
Eugene
скорее всего так и есть!)
Aziz
Привет, посоветуйте каналы челов которые постоянно пишут на го и чет новое делают
Aziz
То есть гики го в ютуюб
Khalid
Khalid
Братья чо он не аппендит
Khalid
все братья понял там := а не =
Melbourne Channel
1. for intranet processing, pub sub faster or just pure request-response? tcp server? 2. under what condition is request-response faster than pub sub? does anyone know? for redis or (whatever fastest similar implementation)
Илья
It's faster to send the request to the queue, but server may process it later
Melbourne Channel
It's faster to send the request to the queue, but server may process it later
👌👍 Makes me wonder which can be "faster" or real time I wonder. Wondering what load type will be better suited for either. Also wonder if custom grpc or just plain tcp server can be faster than redis protocol etc. Looking at fastest.
Илья
Also pub-sub model suits for fire and forget requests, because you don't wait for server to process them, such as log events or metrics. What do you mean by grpc? grpc streams vs redis pub-sub?
Артем
мне этот чувак напоминает главного героя из фильма "операция колибри" 😁😁
Melbourne Channel
Also pub-sub model suits for fire and forget requests, because you don't wait for server to process them, such as log events or metrics. What do you mean by grpc? grpc streams vs redis pub-sub?
i was actually thinking more about the "keepalive" feature of pubsub compared with req-resp (keep alive) and the overhead of both that's all. 1 server to 1 server, no need 1 to many connections, just lowest latency and lowest overhead protocol
Илья
@kostyaBro возвращаясь к обсуждению sql билдеров, какой вариант лучше?
Илья
Илья
меня напрягает то, что оно не учитывает табы
Илья
как вариант вынести в константу
kostyaBro
Ааа, речь была про SQL builder?
kostyaBro
Я думал вы меня string builderom кормить пытаетесь
kostyaBro
Штука прикольная конечно, но мне больше нравится 1й варик, плюс чел подсказал про case в sql, я не шарил, поэтому у меня будет норм запрос.
kostyaBro
Еще клево выносить запросы в константы над db client.
kostyaBro
А то что я там написал была хуета из за незнания абсолютно всего синтаксиса sql
kostyaBro
Но конечно если сравнить мою хуету и sql builder. Тогда builder. Я то думал вы про string builder
kostyaBro
А вообще про sql builder впервые слышу
Илья
попробую вот так сделать
mkdr
Какие есть способы защитить свое приложение от снифа запросов?
Артем
попробую вот так сделать
а почему у стореджа ресивер не поинтер?
Илья
а почему у стореджа ресивер не поинтер?
потому что там указатель на пул
Илья
а смысла в указателе на указатель особо нет
Артем
у UserStorage-то ?
Илья
да
Артем
спасибо)
kostyaBro
спасибо)
Да и к тому де эта функция не модифицирует userStorage
Артем
понятно, просто в целом разный стиль у всех, кто делает поинтером всегда, кто нет. Решил спросить )
Илья
понятно, просто в целом разный стиль у всех, кто делает поинтером всегда, кто нет. Решил спросить )
pointer-type ресивер в таких случаях не понизит производительность, поэтому можно об этом не думать
Кіт ✙
ᅠᅠᅠ
Aртем
client := http.Client{ Timeout: 3 * time.Second, } resp, err := client.Get(imgUrl) if err != nil { fmt.Println(err) } body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err) }
Aртем
как узнать размер получаемой фотки, подскажите
Илья
resp.ContentLength
Aртем
спасибо
Vladislav
он не всегда есть
Vladislav
если Transfer-Encoding: chunked, то не будет
Михаил
Ребят, чтоб затолкать в канал оборачиваю в горутину: go func(foo ...) { FooChan <- foo }(some) Чет не комильфо? Но реально без горутины подтупляет и блочится канал на пуш.
Andrey
Ребят, чтоб затолкать в канал оборачиваю в горутину: go func(foo ...) { FooChan <- foo }(some) Чет не комильфо? Но реально без горутины подтупляет и блочится канал на пуш.
Что в горутине, что нет, канал так и так блочится. Это его особенность как бы. Сделай его буферезированным, и не будет блока при запись в него. Если конечно ты не выйдешь за объем буфера
Melbourne Channel
how to make golang compile faster? yes my program very very big. i also have some cgo element i think