Oleg
Каким образом тогда происходит отложенный вызов?
Там колбэки (и время когда они должны выполниться) добавляются в heap queue. На каждой итерации event loop'а он смотрит первый элемент в heap queue, если его время настало, то выполняет его
Alex
начнем с того зачем тебе вообще понадобилась “кодировка”?
Alexy
и что ты хочешь с ними делать?
мне нужно создать ссылку с этих данных, потом взять эти данные обратно
Alexy
типа ссылка - приглашение
Alexy
знать кто, кого пригласил
Alex
знать кто, кого пригласил
создай токен и сохрани эти данные в базе
kallibr44
бреобразуй json в строку и сделай MD5 хэш
Alexy
создай токен и сохрани эти данные в базе
думал как то проще, типа закодировать это и сделать ссылку. Это нужно поле какое то в базе добавлять
Alex
бреобразуй json в строку и сделай MD5 хэш
видишь ли есть проблема с json и хешами. порядок ключей в словаре может быть любым.
Alexy
MD5
спасибо, попробую. Я в басе64 попробовал кодировать оно очень большое получается
Alex
думал как то проще, типа закодировать это и сделать ссылку. Это нужно поле какое то в базе добавлять
отличный план, а гарантировать безопасность этой ссылки кто будет?
Alex
задача то какая? что-то типа рефералки?
Alexy
отличный план, а гарантировать безопасность этой ссылки кто будет?
ну если и узнают ид пользователей то ничего страшного)
kallibr44
типа ссылка - приглашение
kallibr44
знать кто, кого пригласил
Alex
типа ссылка - приглашение
для рефералки в общем-то не надо.
kallibr44
для рефералки в общем-то не надо.
Он хочет просто "украсить" ссылку)
Alex
что мешает просто userid в рефералку записать?
Alexy
что мешает просто userid в рефералку записать?
там мне нужно 2 ид пользователя в ссылке. кто пригласил и кого
kallibr44
да, что то типа того
А вообще лучше сделать систему реф. кода и все т.е. ссылка http://site.com/ref={id ПРИГЛАСИВШЕГО}
Alex
там мне нужно 2 ид пользователя в ссылке. кто пригласил и кого
ну запиши просто два параметра, нафига тебе извращаться?
Artyem
думал как то проще, типа закодировать это и сделать ссылку. Это нужно поле какое то в базе добавлять
звучит как jwt токен, и селф хостед и сигнатура для проверки есть. они правда тоже не маленькие
kallibr44
там мне нужно 2 ид пользователя в ссылке. кто пригласил и кого
Ты хочешь сделать аля приглашение в приватный ресурс?
Alexy
ну запиши просто два параметра, нафига тебе извращаться?
хотелось бы что б была ссылка тьипа так https://example.com/asdasd123e2344 где asdasd123e2344 - закодированная инф
kallibr44
И все
Alex
MD5 используй
и дальше что?
Alex
этот хеш тебе нужно все равно где-то хранить
Alex
или ты будешь все пары пользователей перебирать чтобы хеш найти?
kallibr44
from={кто приглашает }&to={кого пригласили }
Artyem
и дальше что?
пфф, изи декартово произведение пользователей, и смотреть где хэш сойдётся
Artyem
конечно
Alex
from={кто приглашает }&to={кого пригласили }
и в каком месте тут появляется твой любимый MD5?
Alex
а ты видишь md5?
я - нет. но ты его пихаешь сюда усиленно уже который раз.
Alexy
парни спасибо всем за советы
kallibr44
я - нет. но ты его пихаешь сюда усиленно уже который раз.
Я просто предложил вариант ссылки, я ничего тут про хэш не говорил
Aragaer
base64 увеличивает размер того, что кодируется. gzip сильно уменьшает
Aragaer
правильная комба - gzip->base64
Alex
base64 увеличивает размер того, что кодируется. gzip сильно уменьшает
> gzip сильно уменьшает на его данных может и не “уменьшать"
kallibr44
> gzip сильно уменьшает на его данных может и не “уменьшать"
Вообще как по мне для инвайт ссылки это извращение. Хранить кто кого пригласил придется полюбому
Alex
base64 увеличивает размер того, что кодируется. gzip сильно уменьшает
ты ведь понимаешь что на небольшом объеме данных gzip может давать бОльший оверхед, чем исходные данные?
Alex
тут он вообще нахрен не нужен
kallibr44
как вариант просто все шифром Цезаря "зашифровать" и не парить мозг
Alex
user1=<id>&user2=<id> to base64 и все.
Tishka17
что за задача?
Alex
как вариант просто все шифром Цезаря "зашифровать" и не парить мозг
кто-то недавно прошел доморощенный курс криптографии?
kallibr44
Tishka17
jwt изобретаете что ли?
kallibr44
Вообще если хочешь реально надежность-храни данные на стороне сервера и все.
kallibr44
И кодировать не нужно
pavel
Время питона!
🍁 Jaŭhien
Faglo
AKIRA
Ребят, а gil как-то обходится?
Tishka17
несколькими процессами
Tishka17
а ты уже столкнулся?
🍁 Jaŭhien
AKIRA
Тогда так поставлю вопрос: в пределах одного процесса потоки действительно работают параллельно, или всё же gil блокирует их когда необходимо?
🍁 Jaŭhien
В пределах одного процесса потоки работают не параллельно, но конкурентно
Tishka17
Тогда так поставлю вопрос: в пределах одного процесса потоки действительно работают параллельно, или всё же gil блокирует их когда необходимо?
чисто питоновский код работает реально однопоточно, когда у тебя задействованы сишные вызовы - все вполне себе может быть параллельным
AKIRA
Просто мне нужно изобрести велосипед в виде собственной синхронизации потоков, gil думаю мешать будет
Tishka17
синхронизацию потоков все равно делать
Алексей
gil не отменяет необходимость синхронизации потоков
AKIRA
🤔
Ну то есть у меня программа в 3 потока пишет данные в 3 файла, а четвёртый периодически открывает 3 файла не чтение и читает их; нужно написать семафор, монитор или любой другой механизм
Tishka17
ещё IO отпускает GIL
ну это по сути те же сишные вызовы