Каков самый быстрый и самый грязный способ хранить ratom на сервере?
Периодически в моем супер простом веб-приложении я хочу сбросить состояние моего приложения (которое находится в атоме реагента) обратно к исходному состоянию по умолчанию. Однако, прежде чем я это сделаю, я хочу отправить свое запятнанное состояние приложения на сервер для целей накопления. В нем будут данные о том, что пользователь сделал в моем приложении. Возможно, я захочу получить это состояние приложения позже в моем интерфейсе. Я даже мог получить этот ratom из того места, где я его хранил, заменить его обратно и увидеть свое приложение таким, каким оно было до его сброса.
Итак, чтобы получить всю эту крутость, какой самый быстрый и грязный способ запихнуть эту крысу куда-нибудь?
Я хочу сохранять это состояние приложения каждый раз, когда я его сбрасываю. Пользователь перезагружает приложение несколько раз за сеанс. Из-за этого будет много экземпляров состояния приложения для хранения на сервере ... как для одного пользовательского сеанса, так и для разных пользовательских сеансов. Я также могу делать что-то на сервере ... просматривать сохраненные состояния и, возможно, создавать новые конечные точки, где я могу получить по ним аналитику и так далее. Так что, как бы он ни был сохранен, было бы здорово иметь возможность просматривать серверную часть. Многие решения в Интернете кажутся потрясающими, но выглядят ... глубокими.
Как мне легко начать работу? Если это простой начальный шаг этих более сложных решений, круто ... Я мог бы расширить позже. Боковое примечание: Crux было бы круто, но выглядит сложным. Мне нужен легкий пандус. Я использую реагент на своем интерфейсе. Я доволен любым инструментом типа ajax, который был бы легким. Я не уверен, как я упаковываю свое состояние на стороне клиента и распаковываю его на стороне сервера для хранения. Извините за довольно широкий вопрос: я просто пытаюсь продолжать получать удовольствие от своего проекта и не проваливаться в двухнедельную кроличью нору. Я могу застрять там и никогда не выбраться.
1 ответ
Самый быстрый способ накопить, но сосредоточиться на стороне клиента? Сериализуйте состояние как строку с
(pr-str @rat)
- обратная операция будет
clojure.edn/read-string
если вам это когда-нибудь понадобится - отправьте строку на сервер как
?
значение параметра в бессмысленном запросе GET, для которого вы даже не запрограммировали конечную точку. Восстановите данные из журналов вашего сервера позже!
PS А вот «в кроличью нору двухнедельный» обязательно придется «спуститься». Другая интересная часть - это серверная часть.