Size: a a a

2020 May 16

RS

Roman Sharkov in Go-go!
от монолитов уже отхожу в сторону ES + CQRS & Microservices
источник

MD

Maxim Dororonin in Go-go!
Вот писать монолит с gql - это плохая идея. Толтовато будет. А для api gateway чтобы микросервисы подергать - это пушка. Все паралелльно из коробки, circuit breaker на уровне api gateway. Веб сокет через который можно и обычные api подергать вместо http + ивенты.
Директивы кастомные - пожалуйста, для кеша, для авторизации, для троттлинга. Написал кучку и переиспользуешь непосредственно в схеме.
источник

RS

Roman Sharkov in Go-go!
Maxim Dororonin
Вот писать монолит с gql - это плохая идея. Толтовато будет. А для api gateway чтобы микросервисы подергать - это пушка. Все паралелльно из коробки, circuit breaker на уровне api gateway. Веб сокет через который можно и обычные api подергать вместо http + ивенты.
Директивы кастомные - пожалуйста, для кеша, для авторизации, для троттлинга. Написал кучку и переиспользуешь непосредственно в схеме.
graphql federation не забывай
источник

MD

Maxim Dororonin in Go-go!
Roman Sharkov
graphql federation не забывай
Это еще не щупал))

Вот помню года 3-4 назад услышав gql думал - хипстота блин не опытная, понавставляют своих графкуэлей универсальных, а потом ебстись с ними будут.

И вот сейчас уже полтора года работаю с gql и проблем не испытываю. Удобное prod-ready решение. В чатиках рекламирую. Гляди и на монгу 4 так пересяду с их ACID транзакциями 😆 До чего дожил...
источник

MB

Mika Bond in Go-go!
Ребят, а можно про сессии. Смотрите есть общее понимае сесия это кука, которая живет на сервере, но вопрос а как именно. Просто использовал я boltdb и там специальна доп методы шли. Так все же где храниться? просто ели у меня бд другая. Или это где-то в линукс. Как все в деталях работает . Нажеюсь это к теме @onokonem
источник

MB

Mika Bond in Go-go!
я просто из php там все автоматом делалось и я как то не задумывался
источник

RS

Roman Sharkov in Go-go!
Mika Bond
Ребят, а можно про сессии. Смотрите есть общее понимае сесия это кука, которая живет на сервере, но вопрос а как именно. Просто использовал я boltdb и там специальна доп методы шли. Так все же где храниться? просто ели у меня бд другая. Или это где-то в линукс. Как все в деталях работает . Нажеюсь это к теме @onokonem
нет, сессия это некий объект, который живёт на сервере и его пределы не покидает.
в печеньки клиенту отдаётся уникальный, криптографически-рандомный идентификатор сессии, ключ.
сам по себе ключ никакой информатирной нагрузки не несёт, он лишь идентифицирует сессию на сервере.

при обработке запроса сервер читает присланные печени, по ID находит сессию в неком хранилище и извлекая из объекта сессии идентификатор пользователя, понимает с кем имеет дело.
источник

MB

Mika Bond in Go-go!
Roman Sharkov
нет, сессия это некий объект, который живёт на сервере и его пределы не покидает.
в печеньки клиенту отдаётся уникальный, криптографически-рандомный идентификатор сессии, ключ.
сам по себе ключ никакой информатирной нагрузки не несёт, он лишь идентифицирует сессию на сервере.

при обработке запроса сервер читает присланные печени, по ID находит сессию в неком хранилище и извлекая из объекта сессии идентификатор пользователя, понимает с кем имеет дело.
два вопроса, первый а где имеено храниться сессия и второй. Вот ввел пользователь логин пароль я выставил куку, а как потом при обновлении страницы сервак понимает, что это тот пользователь, ведь сессия не храниться в браузере
источник

RS

Roman Sharkov in Go-go!
Mika Bond
два вопроса, первый а где имеено храниться сессия и второй. Вот ввел пользователь логин пароль я выставил куку, а как потом при обновлении страницы сервак понимает, что это тот пользователь, ведь сессия не храниться в браузере
> а где имеено храниться сессия

в том месте, в котором вы считаете более подходящим её хранить 🙂
это может быть абсолютно любое хранилище (SQL, noSQL, cloud…), даже просто в памяти.
Если вы не знаете где лучше всего хранить сессии то возьмите ту бд с которой у вас больше всего опыта.

> Вот ввел пользователь логин пароль я выставил куку, а как потом при обновлении страницы сервак понимает, что это тот пользователь, ведь сессия не храниться в браузере

верно, сессия в браузере не хранится, она хранится на сервере. В браузере хранится печенька, а в печеньке ключ сессии которую мы получили от сервера в процессе логина по паролю и login’у. Печеньки посылаются HTTP клиентами, в данном случае браузером,  при каждом запросе на сервер. Сервер при каждом запросе извлекает из печеньки ключ сессии, ищет по этому ключу сессию в хранилище, достаёт её оттуда и читает из неё идентификатор пользователя, которому данная сессия принадлежит.
источник

MB

Mika Bond in Go-go!
Roman Sharkov
> а где имеено храниться сессия

в том месте, в котором вы считаете более подходящим её хранить 🙂
это может быть абсолютно любое хранилище (SQL, noSQL, cloud…), даже просто в памяти.
Если вы не знаете где лучше всего хранить сессии то возьмите ту бд с которой у вас больше всего опыта.

> Вот ввел пользователь логин пароль я выставил куку, а как потом при обновлении страницы сервак понимает, что это тот пользователь, ведь сессия не храниться в браузере

верно, сессия в браузере не хранится, она хранится на сервере. В браузере хранится печенька, а в печеньке ключ сессии которую мы получили от сервера в процессе логина по паролю и login’у. Печеньки посылаются HTTP клиентами, в данном случае браузером,  при каждом запросе на сервер. Сервер при каждом запросе извлекает из печеньки ключ сессии, ищет по этому ключу сессию в хранилище, достаёт её оттуда и читает из неё идентификатор пользователя, которому данная сессия принадлежит.
спасибо, а ещё не большой вопрос значит, когда пользователь авторизовался, то в браузере ему присвоена кука атоматом, точне как я понял кука создается на сервере и в браузере или просто ключ сесии отправляется в виде куки браузеру, тут не большие непонятки у меня. Но,  выходит тогда если этп кука один в один выглядит, как сессия тоесть ключ сессия то я вставив куку в свой браузер смогу, авторизоваться. Это и называют воровством кук, как я понял. Значит  куку нужно хешировать или шифровать. А вопрос такой вместе с сесие создатся одновремено кука на сервере или просто ответ какой-то сервер шлёт браузеру чтоб кука появилась ?
источник

RS

Roman Sharkov in Go-go!
Mika Bond
спасибо, а ещё не большой вопрос значит, когда пользователь авторизовался, то в браузере ему присвоена кука атоматом, точне как я понял кука создается на сервере и в браузере или просто ключ сесии отправляется в виде куки браузеру, тут не большие непонятки у меня. Но,  выходит тогда если этп кука один в один выглядит, как сессия тоесть ключ сессия то я вставив куку в свой браузер смогу, авторизоваться. Это и называют воровством кук, как я понял. Значит  куку нужно хешировать или шифровать. А вопрос такой вместе с сесие создатся одновремено кука на сервере или просто ответ какой-то сервер шлёт браузеру чтоб кука появилась ?
> точне как я понял кука создается на сервере

верно.

> ключ сесии отправляется в виде куки браузеру

верно.

> вставив куку в свой браузер смогу, авторизоваться

если перехватить чужой ключ то да, можно аутентифицироваться от лица того пользователя.

> просто ответ какой-то сервер шлёт браузеру чтоб кука появилась

https://stackoverflow.com/questions/12130582/setting-cookies-with-net-http
источник

MB

Mika Bond in Go-go!
Roman Sharkov
> точне как я понял кука создается на сервере

верно.

> ключ сесии отправляется в виде куки браузеру

верно.

> вставив куку в свой браузер смогу, авторизоваться

если перехватить чужой ключ то да, можно аутентифицироваться от лица того пользователя.

> просто ответ какой-то сервер шлёт браузеру чтоб кука появилась

https://stackoverflow.com/questions/12130582/setting-cookies-with-net-http
Спасибо 😊 thank very much
источник

MB

Mika Bond in Go-go!
thank you very much
источник

MB

Mika Bond in Go-go!
ребят можете с айфона фотку отправит в heic ?.
источник

J

Jefferson in Go-go!
Подскажите, правильно ли я ставлю куки:
ctx.SetCookie("user", cookie, 43200, "", "ip_сервера", 1, false, true)
С локалки отлично отрабатывает, поставил на сервер - куки не ставится
источник

VV

Vladimir Votinov in Go-go!
Сдается что надо заменить ip_сервера -> host_сервера
источник

J

Jefferson in Go-go!
Т.е localhost?
источник

VV

Vladimir Votinov in Go-go!
т.е. доменное имя сайта для которого устанавливается кука
источник

J

Jefferson in Go-go!
А если домена нет? Т.е клиент обращается напрямую к IP сервера
источник

VV

Vladimir Votinov in Go-go!
Если домена нет, то ни как.
источник