Юра (Юрий Александрович)
все работает как часы
как семейные трусы...
Sharifzoda
У меня есть структура с полем Деньги и тип Money(сам моней int64) и теперь мне нужно в одной функции умножить несколько переменных с типом инт на эту полю
Юра (Юрий Александрович)
ну а как узнать, какая длинна у слова, означающее длинну пакета?)
т.е. каждый следующий инт после прошлого пакета - и есть длина следующего пакета
Юра (Юрий Александрович)
ну смотри длинна кодируется в несколько байт
длина кодируется в определенное число байт, жестко описанное протоколом.
🅞leksiy
ну а как узнать, какая длинна у слова, означающее длинну пакета?)
Сделай 64 бита и не парься, экономнее чем передавать длинну по 8 бит с каждым словом
Sharifzoda
а в чём трудность?
В Го же не получится, типы разные
Sharifzoda
Там ругается на разность тип
wex
длина кодируется в определенное число байт, жестко описанное протоколом.
я не пониаю в чем сейчас проблема моего протокола? вроде не в нем проблема, а в взаимодействии
Vladislav
Там ругается на разность тип
воспользуйтесь приведением меньшего типа к большему для того, чтобы осуществить умножение
Vladislav
ну и язык выучите, даже в go tour это разжёвано
Vladislav
вопрос, происходящий из лени прочитать
wex
почему не расширяем?
Sharifzoda
Мм сделал, результат нулевым вышел
Vladislav
Мм сделал, результат нулевым вышел
загрузите код сюда https://go.dev/play/
Vladislav
и мы посмотрим
Юра (Юрий Александрович)
Мм сделал, результат нулевым вышел
видимо какие-то множители оказались дробными, больше нуля, но меньше единицы. при приведении к инту они дали ноль.
Юра (Юрий Александрович)
НДС, наверное считают...
🅞leksiy
Юра (Юрий Александрович)
почему не расширяем?
потому что у этого протокола нет нормальной стековой иерархии. Служебные структуры протокола перемешаны с информационными.
Vladislav
кроме прочего, два коннекта это ещё тухло потому, что не гарантирован взаимный порядок доставки сообщений
wex
Я тут не давно, просто мимо проходил, а в чем у тебя проблема?
людям не нравится, что я использую для взаимодействия сразу два соединения
Vladislav
если с сервера ушло сначала одно сообщений через одно соединение, а потом другое через второе, не факт, что клиент так и получит
wex
И правильно делают, а зачем тебе два?
один для отправки потоковых данных и получени ответа другой для получения потоковых данных
Юра (Юрий Александрович)
Это сейчас неважно, а потом вдруг станет важно, потом снова неважно, и каждый раз будет WTF при отладке/переписывании сетевого кода
🅞leksiy
почему?
Потому-что там на каждый запрос новое соединение
Юра (Юрий Александрович)
можно же многократно использовать коннекшн. кеп-элайв
Sharifzoda
Vladislav
почему?
в HTTP/1.1 есть кипалайв, в HTTP/2 используются "потоки" внутри одного коннекта
🅞leksiy
Vladislav
Ну я о REST
я ничего не говорил о REST
🅞leksiy
в HTTP/1.1 есть кипалайв, в HTTP/2 используются "потоки" внутри одного коннекта
Ну это понятно, но на деле мало используемо, пока
Vladislav
вы можете через HTTP хоть long polling делать на манер вебсокетов
Sharifzoda
ща
у меня там структуры в отдельном файле лежат, туда написал, чтобы вы знали о том, какие они
Vladislav
у меня там структуры в отдельном файле лежат, туда написал, чтобы вы знали о том, какие они
у вас там получается умножение на ноль, когда вы делите целое число процентов на 100
Vladislav
если хотите работать с дробным результатом, приведите сначала оба к float64 или вообще используйте тип Decimal
Sharifzoda
спасибо большое
Vladislav
или рациональные числа
Vladislav
https://pkg.go.dev/math/big#Rat
Юра (Юрий Александрович)
Бузург
ребята а кто ни будь знает как записать в postgresql hash пароль в байтовом формате
Бузург
?
Бузург
просто когда пишу BINARY по тише такой команды не существует
Илья
а зачем хеш в binary записывать?
🅞leksiy
https://www.postgresql.org/docs/current/datatype-binary.html
🅞leksiy
https://www.postgresql.org/docs/7.4/jdbc-binary-data.html
Бузург
а зачем хеш в binary записывать?
а как его тогда хранить как строку?
Илья
а как его тогда хранить как строку?
каким алгоритмом хешируете?
Кіт ✙
каким алгоритмом хешируете?
сегодня ты вежливый Илья
Бузург
10
Бузург
ну стандарт
Илья
10?
Бузург
hash, _ := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost)
Илья
может это сложность (cost) хеширования, а не сам алгоритм
Илья
hash, _ := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost)
bcrypt можно строкой в базу пихать
Бузург
да но когда я пытаюсь
Бузург
err = bcrypt.CompareHashAndPassword(hash, []byte(reques.Password))
Бузург
то выходит не то что я хочу
Бузург
может мне лучше скрины скинуть
Бузург
?
Илья
давай
Бузург
это пользователь с hash поролем
Илья
покажи запрос с получением хеша