Size: a a a

2020 May 07

p

pragus in Go-go!
а кто это
хочет 204 видимо
как вариант, да. но лучше не использовать коды протокола для бизнес-логики
источник

ОЭ

Орб Экксель... in Go-go!
Подскажите,  не могу понять на счет вендоринга в версии 1.14.
Я просто создаю папку vendor в корне своего проекта и перетаскиваю туда все нужные мне зависимости? Больше ничего делать не надо?
источник

VM

Vladislav Milenin in Go-go!
Орб Экксель
Подскажите,  не могу понять на счет вендоринга в версии 1.14.
Я просто создаю папку vendor в корне своего проекта и перетаскиваю туда все нужные мне зависимости? Больше ничего делать не надо?
Нет, вы просто читаете маны по go mod
источник

ОЭ

Орб Экксель... in Go-go!
Vladislav Milenin
Нет, вы просто читаете маны по go mod
Читал,  и из-за этого все ещё менее понятным стало.
Я создал программу, не модуль. И я хочу просто обезопасить себя от изменений в зависимостях. А эти зависимости тоже не модули.
источник

VM

Vladislav Milenin in Go-go!
При чем тут модуль не модуль 😅
источник

J

Jefferson in Go-go!
Подскажите, планирую сделать вот такую авторизацию:
1) Юзер вводит данные для входа
2) Сверяем эти данные с данными из бд
3) Если совпдают, генерируем токен и пишем его в бд,  в куки юзеру
На всех страницах, где нужна авторизация получаем токен из куки, сверяем с теми, что есть в бд
Какие минусы?
источник

VM

Vladislav Milenin in Go-go!
Jefferson
Подскажите, планирую сделать вот такую авторизацию:
1) Юзер вводит данные для входа
2) Сверяем эти данные с данными из бд
3) Если совпдают, генерируем токен и пишем его в бд,  в куки юзеру
На всех страницах, где нужна авторизация получаем токен из куки, сверяем с теми, что есть в бд
Какие минусы?
Хранят не данные в бд а хеш, и сверяют хеши
А вообще так и делают, в редис с ТТЛ ключ кладете и проверяете мидлварей
источник

J

Jefferson in Go-go!
Спасибо за ответ. Думал я опять какие-то костыли придумал)) Надеюсь хватит мзгов реализовать
источник

Н

Никита in Go-go!
Vladislav Milenin
Хранят не данные в бд а хеш, и сверяют хеши
А вообще так и делают, в редис с ТТЛ ключ кладете и проверяете мидлварей
Зачем редис сразу, можно без него
источник

J

Jefferson in Go-go!
Если честно, даже не знаю что за редис)
источник

VM

Vladislav Milenin in Go-go!
Никита
Зачем редис сразу, можно без него
Потому что идеально подходит, легко реализовать + быстро работает? Велосипедисты не одобрят конечно
источник

Н

Никита in Go-go!
Vladislav Milenin
Потому что идеально подходит, легко реализовать + быстро работает? Велосипедисты не одобрят конечно
Почему не хранить сессию в БД? Редис лишняя зависимость. + можно JWT токены
источник

RS

Roman Sharkov in Go-go!
Jefferson
Подскажите, планирую сделать вот такую авторизацию:
1) Юзер вводит данные для входа
2) Сверяем эти данные с данными из бд
3) Если совпдают, генерируем токен и пишем его в бд,  в куки юзеру
На всех страницах, где нужна авторизация получаем токен из куки, сверяем с теми, что есть в бд
Какие минусы?
минусы по сравнению с чем?
источник

VM

Vladislav Milenin in Go-go!
Никита
Почему не хранить сессию в БД? Редис лишняя зависимость. + можно JWT токены
В бд нет ттл, и оно медленнее. Если для вас 50мб оперативы в докере это смерть проекта - можно конечно и неэффективное решение применить)
источник

RS

Roman Sharkov in Go-go!
Vladislav Milenin
В бд нет ттл, и оно медленнее. Если для вас 50мб оперативы в докере это смерть проекта - можно конечно и неэффективное решение применить)
для этого можно и просто время создания сессии класть в бд, для этого необязательно redis тащить
источник

VM

Vladislav Milenin in Go-go!
Да понятно что необязательно. Можно и на го key-val inmemory с ttl и бекапом данных устроить. Зачем только, если есть распространенный стандарт
источник

Н

Никита in Go-go!
Vladislav Milenin
В бд нет ттл, и оно медленнее. Если для вас 50мб оперативы в докере это смерть проекта - можно конечно и неэффективное решение применить)
Добавьте поле expiration_date и проверяйте, вот и ТТЛ. Вы все равно ходите по сети, что в редис что в основную БД. Редис не выиграет существенно времени, зато добавит потенциальную точку отказа, без которой сервис работать не будет
источник

ВС

Владимир Столяров... in Go-go!
Vladislav Milenin
Да понятно что необязательно. Можно и на го key-val inmemory с ttl и бекапом данных устроить. Зачем только, если есть распространенный стандарт
а можно взять badger, где оно уже есть)
источник

RS

Roman Sharkov in Go-go!
Никита
Добавьте поле expiration_date и проверяйте, вот и ТТЛ. Вы все равно ходите по сети, что в редис что в основную БД. Редис не выиграет существенно времени, зато добавит потенциальную точку отказа, без которой сервис работать не будет
не expiration date а creation date

таким образом вы динамически можете определить, устарела ли сессия или нет
источник

VM

Vladislav Milenin in Go-go!
Никита
Добавьте поле expiration_date и проверяйте, вот и ТТЛ. Вы все равно ходите по сети, что в редис что в основную БД. Редис не выиграет существенно времени, зато добавит потенциальную точку отказа, без которой сервис работать не будет
Обычно для авторизации запросов скорость работы важна. В случае с постгресом, например, проигрыш будет в десяток раз
источник