Каков самый быстрый и самый грязный способ хранить ratom на сервере?

Периодически в моем супер простом веб-приложении я хочу сбросить состояние моего приложения (которое находится в атоме реагента) обратно к исходному состоянию по умолчанию. Однако, прежде чем я это сделаю, я хочу отправить свое запятнанное состояние приложения на сервер для целей накопления. В нем будут данные о том, что пользователь сделал в моем приложении. Возможно, я захочу получить это состояние приложения позже в моем интерфейсе. Я даже мог получить этот ratom из того места, где я его хранил, заменить его обратно и увидеть свое приложение таким, каким оно было до его сброса.

Итак, чтобы получить всю эту крутость, какой самый быстрый и грязный способ запихнуть эту крысу куда-нибудь?

Я хочу сохранять это состояние приложения каждый раз, когда я его сбрасываю. Пользователь перезагружает приложение несколько раз за сеанс. Из-за этого будет много экземпляров состояния приложения для хранения на сервере ... как для одного пользовательского сеанса, так и для разных пользовательских сеансов. Я также могу делать что-то на сервере ... просматривать сохраненные состояния и, возможно, создавать новые конечные точки, где я могу получить по ним аналитику и так далее. Так что, как бы он ни был сохранен, было бы здорово иметь возможность просматривать серверную часть. Многие решения в Интернете кажутся потрясающими, но выглядят ... глубокими.

Как мне легко начать работу? Если это простой начальный шаг этих более сложных решений, круто ... Я мог бы расширить позже. Боковое примечание: Crux было бы круто, но выглядит сложным. Мне нужен легкий пандус. Я использую реагент на своем интерфейсе. Я доволен любым инструментом типа ajax, который был бы легким. Я не уверен, как я упаковываю свое состояние на стороне клиента и распаковываю его на стороне сервера для хранения. Извините за довольно широкий вопрос: я просто пытаюсь продолжать получать удовольствие от своего проекта и не проваливаться в двухнедельную кроличью нору. Я могу застрять там и никогда не выбраться.

1 ответ

Самый быстрый способ накопить, но сосредоточиться на стороне клиента? Сериализуйте состояние как строку с (pr-str @rat) - обратная операция будет clojure.edn/read-string если вам это когда-нибудь понадобится - отправьте строку на сервер как ?значение параметра в бессмысленном запросе GET, для которого вы даже не запрограммировали конечную точку. Восстановите данные из журналов вашего сервера позже!

PS А вот «в кроличью нору двухнедельный» обязательно придется «спуститься». Другая интересная часть - это серверная часть.

Другие вопросы по тегам