juan_gandhi: (VP)
[personal profile] juan_gandhi
Вот вы, скажем, имплементируете фесбук месенджер. Как вы ключ зададите для чатов? Я предложил (на интервью было) просто пару ключей юзеров. Ну там штука, что симметрично ж должно быть. Интервьюер сказал, что правильно будет брать hash(Set(userid1, userid2)). Меня это как-то удивило; смысл-то понятен, но глупость же.

На самом деле, для симметрии надо просто брать пару ключей да сортировать, например. List(userid1,useri2).sort. И вообще этого мало, нужно еще хранить priority queue из собеседников.

Впрочем, фигня. Обидно другое - это за неделю уже второй облом в смысле контактов. Я, как иной mentally challenged, чуть не каждого первого попавшегося считаю за доброжелательного приятеля - а блин, присмотришься - он тебя ненавидит за каким-то хреном. Как они между собой-то вообще? Не понимаю.

Date: 2016-05-13 11:42 am (UTC)
From: [identity profile] snowps.livejournal.com
Если имплементируется любой мессенджер, то перед обсуждением надо сначала определиться с секьюрити на сервере - проходит ли траффик через него в шифрованном виде (как через гейт) или в открытом (что даёт возможность проводить MITM атаку). Без этого думать о секьюрити даже начинать рано. :)

Date: 2016-05-13 02:11 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Мы о секьюрити не рассуждали.

Date: 2016-05-13 02:31 pm (UTC)
From: [identity profile] snowps.livejournal.com
Если речь шла об идентификации сообщений в базе, то писать каждому мессаджу хэш - это вообще жесть. :)

Date: 2016-05-13 04:44 pm (UTC)
From: [identity profile] cema.livejournal.com
Ну там не мессаджу, а истории попарных разговоров.

Date: 2016-05-13 05:41 pm (UTC)
From: [identity profile] snowps.livejournal.com
Зачем вообще истории разговоров хэш? Если предполагается хранить хистори, то поисх по хэшу - операция более ресурсоёмкая, чем поиск по промежуточной таблице с описанием сессий, в которой явным образом прописаны юзеры, участвовавшие в диалоге, время разговора и прочая служебная информация. К тому же хэш делает крайне неудобной последующую миграцию на мультиюзерские чаты. Почему просто имена юзеров для конкретной сессии не хранить (напоминаю, что вопрос безопасности там не рассматривался, как выяснилось)?

Date: 2016-05-13 06:57 pm (UTC)
From: [identity profile] covaxi.livejournal.com
Если пофиг на секьюрити, почему не составной (user1,user2)? Ну и (user2,user1) вдогонку, онож нормально прожуется, по идее, одно лишнее сравнение.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

May 2025

S M T W T F S
    1 2 3
456 7 8 9 10
11 121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 13th, 2025 06:44 pm
Powered by Dreamwidth Studios