powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Что хранит cookie? (к вопросу о способе пометки тем как новые)
7 сообщений из 7, страница 1 из 1
Что хранит cookie? (к вопросу о способе пометки тем как новые)
    #33545020
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, уважаемые разработчики!
Я долго мучился с задачей, которая решена на вашем форуме - организация пометки тем "как новые".
Пришел к такому решению:

есть пользователь у которого етсь атрибут lastVisit - время последнего обращения к сайту

существует n-количество тем в форуме, обозначим их как
Код: plaintext
Fj = {T0, T1, T2, ..., Tn}

у каждой темы есть атрибут (время последней публикации в ней), условно обозначим как
Код: plaintext
Ti.lastDate

данный параметр хранится в БД
теперь стоит задача в том, чтобы во-первых, узнать новая ли тема относительно вошедшего пользователя, или нет, и во-вторых - если тема новая - узнать, читал ее пользователь или нет.

для этого условно я предположил что вычисляется следующее выражение:
Код: plaintext
isMark = isNew | isNotRead 
где isMark - признак пометки темы как новая
isNew = (lastVisit < Ti.lastDate) - вычисление признака новой темы
isNotRead - флаг изменяется только когда пользователь входит в тему

итак теперь стоит задача в том, как что и где хранить.
нам нужно хранить Ti.lastDate - это хранится в БД для каждой темы
потом нужно хранить флаг isNew - для каждого пользователя и флаг isNotRead

если у нас в форуме 4000 тем, то соответственно нужно 8000 байт на каждого пользователя. все эти данные конечно лучше хранить в Cookie, вот на этом этапе и возник вопрос, внимательно (насколько смог) проанализировал ваши cookie, которые присылаются с вашего сайта пришел к выводу что там присылается какое то число (предположительно double) состояния текущего форума. наверняка в этом состоянии хранится какая то "свертка" для флагов isNew и isNotRead ?
я конечно же могу ошибаться, выше приведенное изложение - это мои догадки. пожалуйста, если не трудно, помогите разобраться с этой задачей...
заранее спасибо за внимание что прочли это!
...
Рейтинг: 0 / 0
Что хранит cookie? (к вопросу о способе пометки тем как новые)
    #33545027
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем в куки сохранять что-то кроме метки времени?
...
Рейтинг: 0 / 0
Что хранит cookie? (к вопросу о способе пометки тем как новые)
    #33545039
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlЗачем в куки сохранять что-то кроме метки времени?
а что за число тогда хранится в куках на этом форуме? вроде на время не похоже. и потом, а почему метку времени не хранить в БД? метка времени может потребоваться например для сбора статистики сервером (какой пользователь в какое время в последний раз посещал форум)
...
Рейтинг: 0 / 0
Что хранит cookie? (к вопросу о способе пометки тем как новые)
    #33545064
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что юзер может быть и не залогинен.
О ком тогда хранить метку времени в базе?
...
Рейтинг: 0 / 0
Что хранит cookie? (к вопросу о способе пометки тем как новые)
    #33547400
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
unicornmirageу каждой темы есть атрибут (время последней публикации в ней),
Неверно. Никому дата последней публикации в теме не нужна. Хватает дат сообщений. Пользователь показывает свою куку с датой последнего посещения, сервер форума отрисовывает все сообщения, а те у которых дата публикования позже чем дата последнего посещения показываются как новые. Все.
...
Рейтинг: 0 / 0
Что хранит cookie? (к вопросу о способе пометки тем как новые)
    #33548111
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl unicornmirageу каждой темы есть атрибут (время последней публикации в ней),
Неверно. Никому дата последней публикации в теме не нужна. Хватает дат сообщений. Пользователь показывает свою куку с датой последнего посещения, сервер форума отрисовывает все сообщения, а те у которых дата публикования позже чем дата последнего посещения показываются как новые. Все.
тогда если просто перегрузить страницу - сразу все темы станут прочитанными...
...
Рейтинг: 0 / 0
Что хранит cookie? (к вопросу о способе пометки тем как новые)
    #33549456
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft White Owl unicornmirageу каждой темы есть атрибут (время последней публикации в ней),
Неверно. Никому дата последней публикации в теме не нужна. Хватает дат сообщений. Пользователь показывает свою куку с датой последнего посещения, сервер форума отрисовывает все сообщения, а те у которых дата публикования позже чем дата последнего посещения показываются как новые. Все.
тогда если просто перегрузить страницу - сразу все темы станут прочитанными...

верно! поэтому необходимо в момент когда соблюдается условие (последний вход пользователя) < (даты последней публикации в теме) устанавливать флаг для темы, который снимается ТОЛЬКО если пользователь прочтет эту тему. вначале я и сформулировал это, и вопрос касался того - как лучше хранить этот вектор состояний для тем. на sql.ru судя по cookie - для каждой ветки форума создается кук - число, кторое больше чем long вот интересно что это - наверняка какая нибудь свертка этого вектора состояний?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Что хранит cookie? (к вопросу о способе пометки тем как новые)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]