Size: a a a

Golang Developers — русскоговорящее сообщество

2021 April 15

АО

Александр Орешкин... in Golang Developers — русскоговорящее сообщество
Или имеется ввиду что если во время одной сессии выполняется некая последовательность действий, которая должна привести к какому-то результату, то в этом случае лучше выполнять транзакцию?

Но а в чем тогда разница? Если можно ту же последовательность выполнять без транзакций? Совсем непонятно.
источник

АО

Александр Орешкин... in Golang Developers — русскоговорящее сообщество
Проблема в том что у меня процедура, в которой описана последовательность действий для одного пользователя. (достаем, проверяем, пишем и.т). И все запросы которые у меня в апи, они все вызывают свою функцию.
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
транзакция не влияет на других пользователей
источник

AS

Alexey Shatunov in Golang Developers — русскоговорящее сообщество
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
это уже уровнем выше будет происходить
источник

AV

Andrey Veselov in Golang Developers — русскоговорящее сообщество
всем привет. Подскажите, как сделать лучше:
Я хочу отправлять джсон-реквесты на сервер по вебсокетс, и для этого нужно авторизоваться.
Как лучше реализовать эту авторизацию, как фунцию, потом ей присвоить переменную и эту переменную использовать в других функциях? Или лучше использовать указатели?
Вот примерный набросок:
func main() {
   conn, _, err := websocket.DefaultDialer.Dial(url, nil)
   if err != nil {
       log.Fatal(err)
   }
   auth(conn)
   DoSomeAuthorizedStuff(conn)
}
источник

AV

Andrey Veselov in Golang Developers — русскоговорящее сообщество
я понимаю, что вопрос совсем нубский, просто нет практики совсем в этом
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
тк нет единого способа передачи токена во всех либах, то я просто делаю подключение по ссылке вида
/ws/:token
дальше просто хранить просто
map[*Connection]int
или тип того, уже зависит от того, что нужно
источник

AV

Andrey Veselov in Golang Developers — русскоговорящее сообщество
а, ок, пасибо. я в принципе думал, что можно как вариант во все функции передавать access_token
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
я так делаю с graphql =)
источник

AV

Andrey Veselov in Golang Developers — русскоговорящее сообщество
а, ну и отлично ) значит в целом подойдет для небольшой программы
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Но там особенная ситуация, тк это один вызов graphql "функции" с передачей токена, дальше просто connection работает постоянно
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
В общем советую передавать токен как то в url. Или query или фрагмент path. Самое универсальное
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
И еще совет - обязательно в деве запускайте сервак с -race
Тут уже пошла многопоточка и тот map что я привел уже нужно mutex защищать
источник

AV

Andrey Veselov in Golang Developers — русскоговорящее сообщество
ну в апи документации, куда я хочу реквесты посылать, тоже написано, что коннекшн работает постоянно, то есть по идее, один раз законнектился, выполнил все что нужно и уже потом закрыл соединение
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
ну да
на старте if (invalid) close()
источник

AV

Andrey Veselov in Golang Developers — русскоговорящее сообщество
пнятненько, спасибо
источник

АЗ

Артем Зайцев... in Golang Developers — русскоговорящее сообщество
Всем привет. Нужно получить инфу по объектам по их ID из другого сервиса. Что лучше сделать: один запрос со списком ID или выполнять "параллельно" запрос на каждый ID? Второй способ кажется интереснее, так как можно закешировать.
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
Список лучше
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
Дешевле для сервиса будет и вообще дешевле обойдётся
источник