@ru_python

Страница 8757 из 9768
Марк
17.04.2019
12:26:03
Alexy
17.04.2019
12:27:59
вообще что за данные начнем с того?
это джейсон вида { "user_id": "eeeeeeeee", "user_ivited": "1233" }

LighteR
17.04.2019
12:28:13
Каким образом тогда происходит отложенный вызов?
Там колбэки (и время когда они должны выполниться) добавляются в heap queue. На каждой итерации event loop'а он смотрит первый элемент в heap queue, если его время настало, то выполняет его

Alex
17.04.2019
12:28:23
Google
Alex
17.04.2019
12:28:43
начнем с того зачем тебе вообще понадобилась “кодировка”?

Alexy
17.04.2019
12:28:47
и что ты хочешь с ними делать?
мне нужно создать ссылку с этих данных, потом взять эти данные обратно

типа ссылка - приглашение

знать кто, кого пригласил

Alex
17.04.2019
12:29:44
знать кто, кого пригласил
создай токен и сохрани эти данные в базе

kallibr44
17.04.2019
12:29:46
бреобразуй json в строку и сделай MD5 хэш

Alexy
17.04.2019
12:30:22
создай токен и сохрани эти данные в базе
думал как то проще, типа закодировать это и сделать ссылку. Это нужно поле какое то в базе добавлять

Alex
17.04.2019
12:30:45
бреобразуй json в строку и сделай MD5 хэш
видишь ли есть проблема с json и хешами. порядок ключей в словаре может быть любым.

Alexy
17.04.2019
12:30:55
MD5
спасибо, попробую. Я в басе64 попробовал кодировать оно очень большое получается

Alex
17.04.2019
12:31:20
думал как то проще, типа закодировать это и сделать ссылку. Это нужно поле какое то в базе добавлять
отличный план, а гарантировать безопасность этой ссылки кто будет?

Alex
17.04.2019
12:31:28
задача то какая? что-то типа рефералки?

Google
kallibr44
17.04.2019
12:31:37
Alexy
17.04.2019
12:31:42
отличный план, а гарантировать безопасность этой ссылки кто будет?
ну если и узнают ид пользователей то ничего страшного)

kallibr44
17.04.2019
12:31:48
типа ссылка - приглашение

знать кто, кого пригласил

Alexy
17.04.2019
12:31:55
Alex
17.04.2019
12:32:04
типа ссылка - приглашение
для рефералки в общем-то не надо.

kallibr44
17.04.2019
12:32:27
для рефералки в общем-то не надо.
Он хочет просто "украсить" ссылку)

Alex
17.04.2019
12:32:28
что мешает просто userid в рефералку записать?

Alexy
17.04.2019
12:33:31
что мешает просто userid в рефералку записать?
там мне нужно 2 ид пользователя в ссылке. кто пригласил и кого

kallibr44
17.04.2019
12:33:43
да, что то типа того
А вообще лучше сделать систему реф. кода и все т.е. ссылка http://site.com/ref={id ПРИГЛАСИВШЕГО}

Alex
17.04.2019
12:33:52
там мне нужно 2 ид пользователя в ссылке. кто пригласил и кого
ну запиши просто два параметра, нафига тебе извращаться?

Artyem
17.04.2019
12:34:05
думал как то проще, типа закодировать это и сделать ссылку. Это нужно поле какое то в базе добавлять
звучит как jwt токен, и селф хостед и сигнатура для проверки есть. они правда тоже не маленькие

kallibr44
17.04.2019
12:34:26
там мне нужно 2 ид пользователя в ссылке. кто пригласил и кого
Ты хочешь сделать аля приглашение в приватный ресурс?

Alexy
17.04.2019
12:34:37
ну запиши просто два параметра, нафига тебе извращаться?
хотелось бы что б была ссылка тьипа так https://example.com/asdasd123e2344 где asdasd123e2344 - закодированная инф

Alex
17.04.2019
12:35:00
MD5 используй
и дальше что?

этот хеш тебе нужно все равно где-то хранить

Google
Alex
17.04.2019
12:35:27
или ты будешь все пары пользователей перебирать чтобы хеш найти?

kallibr44
17.04.2019
12:35:35
from={кто приглашает }&to={кого пригласили }

Artyem
17.04.2019
12:35:40
и дальше что?
пфф, изи декартово произведение пользователей, и смотреть где хэш сойдётся

Artyem
17.04.2019
12:36:01
конечно

Alex
17.04.2019
12:36:18
from={кто приглашает }&to={кого пригласили }
и в каком месте тут появляется твой любимый MD5?

Alex
17.04.2019
12:37:02
а ты видишь md5?
я - нет. но ты его пихаешь сюда усиленно уже который раз.

Alexy
17.04.2019
12:37:48
парни спасибо всем за советы

kallibr44
17.04.2019
12:40:18
я - нет. но ты его пихаешь сюда усиленно уже который раз.
Я просто предложил вариант ссылки, я ничего тут про хэш не говорил

Aragaer
17.04.2019
12:41:11
base64 увеличивает размер того, что кодируется. gzip сильно уменьшает

правильная комба - gzip->base64

Alex
17.04.2019
12:44:07
base64 увеличивает размер того, что кодируется. gzip сильно уменьшает
> gzip сильно уменьшает на его данных может и не “уменьшать"

kallibr44
17.04.2019
12:44:53
> gzip сильно уменьшает на его данных может и не “уменьшать"
Вообще как по мне для инвайт ссылки это извращение. Хранить кто кого пригласил придется полюбому

Alex
17.04.2019
12:45:52
base64 увеличивает размер того, что кодируется. gzip сильно уменьшает
ты ведь понимаешь что на небольшом объеме данных gzip может давать бОльший оверхед, чем исходные данные?

тут он вообще нахрен не нужен

kallibr44
17.04.2019
12:46:34
как вариант просто все шифром Цезаря "зашифровать" и не парить мозг

Alex
17.04.2019
12:46:37
user1=<id>&user2=<id> to base64 и все.

Tishka17
17.04.2019
12:46:50
что за задача?

Alex
17.04.2019
12:47:06
как вариант просто все шифром Цезаря "зашифровать" и не парить мозг
кто-то недавно прошел доморощенный курс криптографии?

Google
kallibr44
17.04.2019
12:47:34
user1=<id>&user2=<id> to base64 и все.
Уже говорили об этом

Tishka17
17.04.2019
12:48:32
jwt изобретаете что ли?

kallibr44
17.04.2019
12:48:58
Вообще если хочешь реально надежность-храни данные на стороне сервера и все.

И кодировать не нужно

Pavel
17.04.2019
13:06:50
Время питона!

?? Eugene
17.04.2019
13:07:17
Время питона!
согласен

??
17.04.2019
13:08:39
Alexey
17.04.2019
13:28:37
Ребят, а gil как-то обходится?

Tishka17
17.04.2019
13:29:01
несколькими процессами

а ты уже столкнулся?

?? Eugene
17.04.2019
13:29:43
Alexey
17.04.2019
13:31:20
Тогда так поставлю вопрос: в пределах одного процесса потоки действительно работают параллельно, или всё же gil блокирует их когда необходимо?

?? Eugene
17.04.2019
13:32:19
В пределах одного процесса потоки работают не параллельно, но конкурентно

Tishka17
17.04.2019
13:33:32
Тогда так поставлю вопрос: в пределах одного процесса потоки действительно работают параллельно, или всё же gil блокирует их когда необходимо?
чисто питоновский код работает реально однопоточно, когда у тебя задействованы сишные вызовы - все вполне себе может быть параллельным

Alexey
17.04.2019
13:33:42
Просто мне нужно изобрести велосипед в виде собственной синхронизации потоков, gil думаю мешать будет

Tishka17
17.04.2019
13:34:00
синхронизацию потоков все равно делать

Алексей
17.04.2019
13:34:04
gil не отменяет необходимость синхронизации потоков

Google
Alexey
17.04.2019
13:36:49
?
Ну то есть у меня программа в 3 потока пишет данные в 3 файла, а четвёртый периодически открывает 3 файла не чтение и читает их; нужно написать семафор, монитор или любой другой механизм

Tishka17
17.04.2019
13:40:05
ещё IO отпускает GIL
ну это по сути те же сишные вызовы

вообще непонятно зачем читать файл из другого потока, ты ж межешь напрямую данные передавать между ними

Alexey
17.04.2019
13:42:50
вообще непонятно зачем читать файл из другого потока, ты ж межешь напрямую данные передавать между ними
Это задание такое, тут суть - намеренное создание ошибки и её собственноручное исправление

?? Eugene
17.04.2019
13:43:35
Ой ладно, пойду)

Alexey
17.04.2019
13:44:14
Ой ладно, пойду)
Спасибо за консультацию)

Алексей
17.04.2019
13:45:17
для каждого потока-писателя создаётся мьютекс, каждая операция записи под мьютексом, поток-читатель захватывает сразу три мьютекса

Алексей
17.04.2019
13:46:22
ну или захватывает нужный мьютекс, связанный с нужным файлом, если он только один файл читает

Страница 8757 из 9768