Как реализовать простую систему уведомлений в Rails? [закрыто]

Когда вы вызываете id({}), Python создает dict и передает его функции id. Функция id принимает свой идентификатор (ячейку памяти) и отбрасывает dict. Дик разрушен. Когда вы делаете это дважды в быстрой последовательности (без каких-либо других dicts, создаваемых в среднее время), dict Python создает второй раз, когда используется тот же блок памяти, что и в первый раз. (Распределитель памяти CPython делает это намного более вероятным, чем кажется). Поскольку (в CPython) id использует память в качестве идентификатора объекта, идентификатор двух объектов одинаковый. Это, очевидно, не происходит, если вы назначаете dict переменной и затем получаете ее id(), потому что dicts живы одновременно , поэтому их id должны быть разными.

Мутируемость не вступает в игру, а кеширует кеширование кортежей и строк. В том же объекте кода (функция или тело тела тела или тела модуля) будут повторно использоваться те же литералы (целые числа, строки и некоторые кортежи). Mutable objects никогда не могут быть повторно использованы, они всегда создаются во время выполнения.

Короче говоря, идентификатор объекта уникален только для времени жизни объекта . После уничтожения объекта или до его создания что-то еще может иметь один и тот же идентификатор.

-2
задан yescode 4 March 2019 в 14:35
поделиться

1 ответ

Это возможно начиная с Rails 5 и Action Cable. Хороший учебник можно найти здесь:

https://blog.heroku.com/real_time_rails_implementing_websockets_in_rails_5_with_action_cable

Он включает создание «канала», на который подписывается каждый пользователь, однако гораздо проще пройти учебник, подобный приведенному выше, чем объяснять мне шаг за шагом. Вышеуказанное предназначено для создания комнаты чата, поэтому вы просто должны поменять новое сообщение на новое уведомление.

0
ответ дан Mark 4 March 2019 в 14:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: