Size: a a a

2020 April 08

RS

Roman Sharkov in Go-go!
Eduard Korolev
https://play.golang.org/p/pUBQpqKOigf никак не пойму, почему на 20 строке мьютекс не работает и го с параметром race находит рейс
1. почему wg.Add в цикле а не перед циклом?
2. для чисел есть https://golang.org/pkg/sync/atomic/ они эффективнее mutex’ов
3. а где именно race? может он в 17 строке при вызове callback()?
4. зачем выписывать var isDone bool = false если можно воспользоваться type inference: isDone := false? 🙂
источник

М

МишанЯ in Go-go!
Владимир Столяров
Есть ещё другой способ - пинговать клиента с сервера. Тогда на сервере можно мгновенно узнать, что пользователь отвалился
Не отрицаю же! Просто с клиента тоже надо как то оповестить сервер, что я выхожу, отключаюсь сам.
источник

RS

Roman Sharkov in Go-go!
Eduard Korolev
https://play.golang.org/p/pUBQpqKOigf никак не пойму, почему на 20 строке мьютекс не работает и го с параметром race находит рейс
а, так тут race походу на строке 30

читаешь errorCount пока в него конкурентно пишут на строке 20
источник

ВС

Владимир Столяров... in Go-go!
МишанЯ
Не отрицаю же! Просто с клиента тоже надо как то оповестить сервер, что я выхожу, отключаюсь сам.
Ну тут уж действительно от требований зависит
Скажем, надо смотреть на число одновременно подключённых клиентов. На то, важно ли оперативно менять статус и надо ли ещё при этом кого-то оповестить
источник

МП

Мимо Проходящий... in Go-go!
Владимир Столяров
Вообще, нормальный способ, если есть веб сокеты, поднять вот это https://github.com/centrifugal/centrifugo/

А из своей практики, наиболее простое решение - периодически пинговать с клиента сервер и записывать для клиента время последнего пинга. И просто это время отдавать обратно на клиентов. Если отличие от текущего времени больше 5 минут - считаем за офлайн.
Минусы тоже есть - статус узнаётся не оперативно и на клиентах должно быть правильное время. Ну и ещё один не такой очевидный - криво оборвавшиеся коннекты будут впустую занимать ресурсы на сервере
Ну нет) правильный вариант - пинговать клиента
источник

ВС

Владимир Столяров... in Go-go!
Да я об этом дальше и написал)
В нашем случае это приносило много гемора, поэтому сделали со стороны клиента
источник

МП

Мимо Проходящий... in Go-go!
Хз. Микосервис который ходит по базе и пингует последний ip, вроде всё просто
источник

МП

Мимо Проходящий... in Go-go!
Вроде обычно так делают
источник

RS

Roman Sharkov in Go-go!
Мимо Проходящий
Хз. Микосервис который ходит по базе и пингует последний ip, вроде всё просто
главное чтобы в неё-же не начал записывать)
источник

ВС

Владимир Столяров... in Go-go!
Не, это то понятно, там скорее упирались в то, что надо ещё сначала узнать, кого оповестить о смене статуса и собственно оповестить, ну и ещё пара другая подводных камней
К сожалению, реально правильно получается сделать далеко не всегда. Особенно если уже что-то сделали до тебя через одно место
источник

МП

Мимо Проходящий... in Go-go!
Roman Sharkov
главное чтобы в неё-же не начал записывать)
это как раз самое простое - решается read-only permission-ми для микросервиса в бд
источник
2020 April 09

G

Geo in Go-go!
Вопрос не по го, но как в vscode можно поменять цвет переменных
источник

G

Geo in Go-go!
в темах они выделяются только когда стоят слева от =
источник

r

rad1k4l in Go-go!
Geo
Вопрос не по го, но как в vscode можно поменять цвет переменных
здесь .color scheme
источник

G

Geo in Go-go!
Спасибо
источник

G

Geo in Go-go!
ну это я знаю, но как можно немного кастомизировать тему OneDarkPro
источник

r

rad1k4l in Go-go!
Geo
Спасибо
можете установливать скины из магазина vs code. они поменят цвет
источник

G

Geo in Go-go!
я пробовал) но что то не то
источник

G

Geo in Go-go!
где можно найти гайд как поменять цвета определенных конструкций
источник

D

DaySandBox in Go-go!
Message from rad1k4l deleted. Reason: external link (?)
источник