master32

Рейтинг
112
Регистрация
09.02.2022
Delysid #:

Они под CF сидят, а ддос гуард для парсера или переключить когда нужно.

они под ддос-гуардом сидят, а не CF

yalol #:
Говорят, что сайты на CF лежат, а как же b17.ru, который на CF и работает быстро? Или у них платный тариф?

они за ддос-гуардом сидят, а не CF

Samail #:

Это где ты миллионы у 3о и 4о там увидел? 200 тыс. входящие, 100 тыс. исходящие, миллион у 4.1 (входящие), исходящие 32768

согласен, глупости написал, сейчас думаю как такой бред мог написать, хотя сам борюсь с контекстным выводом, копирую исходники мануса как там реализовано)
наверное в тот момент я смотрел на цены за 1м токенов, и написал этот бред про 1м на выходе...
извините

сбер физик +1
estic #:
современный MySQL

кстати почти полностью отказался от MySQL в пользу SQLite + nvme)

nash300 #:
Ну тогда почему бы за полгода гугл или ютуб ее повторить

парсить дольше)

  • Если цель похожего на классический чат один на один, вы можете реализовать дополнительную логику в приложении для создания диалога, когда два пользователя впервые начинают общаться.
  • Для оптимизации работы можно добавить индексы на поля conversation_id, sender_id, created_at.
  • Дополнительная таблица «сообщений прочитанных» может быть реализована для отслеживания статуса прочтения для конкретного пользователя в конкретном чате (например, если требуется хранить отметку для каждого участника в группе).

Ниже приведён SQL-пример создания таблиц (пример на PostgreSQL):


-- Таблица пользователей

CREATE TABLE users ( id SERIAL PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, email VARCHAR(255) NOT NULL UNIQUE, password_hash VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );


-- Таблица диалогов (бесед)

CREATE TABLE conversations ( id SERIAL PRIMARY KEY, name VARCHAR(100), is_group BOOLEAN DEFAULT FALSE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );


-- Таблица участников беседы (связующая таблица)

CREATE TABLE conversation_participants ( conversation_id INTEGER NOT NULL REFERENCES conversations(id) ON DELETE CASCADE, user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, joined_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (conversation_id, user_id) );


-- Таблица сообщений

CREATE TABLE messages ( id SERIAL PRIMARY KEY, conversation_id INTEGER NOT NULL REFERENCES conversations(id) ON DELETE CASCADE, sender_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, message_text TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, status VARCHAR(20) DEFAULT 'sent' );


-- Индексы для ускорения выборок (опционально)

CREATE INDEX idx_messages_conversation ON messages(conversation_id); CREATE INDEX idx_messages_sender ON messages(sender_id);


-- Дополнительно можно создать таблицу для статуса чтения сообщений отдельным пользователям

CREATE TABLE message_read_status ( message_id INTEGER NOT NULL REFERENCES messages(id) ON DELETE CASCADE, user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, read_at TIMESTAMP, PRIMARY KEY (message_id, user_id) );

Эта схема позволяет:

  • Отслеживать всех пользователей сайта.
  • Создавать диалоги/беседы, как для двух пользователей, так и для групповых чатов.
  • Хранить сообщения, отправленные в рамках каждого диалога.
  • Отслеживать участников бесед, их вступление в чат, а также при необходимости статус прочтения каждого сообщения для каждого пользователя.
EdwardEdit #:

А в чем смысл? Вот, к примеру, у меня интерес купить вермишель. Какая разница, зайду я на сайт про корм для кошек, где 1 млн посетителей, и перейду по объявлению, или на сайт про добычу золота, где 100 посетителей, и также перейду по объявлению?

смысл в ЦА

EdwardEdit #:

Это о чём? О прямых рекламодателях? А ну так да.

нет, про РСЯ и повышенные ставки на трафиковых сайтах

EdwardEdit #:

Дискриминация?

стабильное ядро аудитории больше, значит прогнозировать продажи рекламодателям легче, следовательно ценится выше)

Всего: 1691