hitode909の日記

趣味はマリンスポーツですの日記です

入力の履歴を記録してlocalStorageにバックアップ取るやつ

編集内容のバックアップ,サーバーサイドに送信して保存したりしてるけど,履歴を保存するときにサーバーが落ちてると保存されなかったり,最新バージョンしか保存されないから,さっきのここまで戻すとかはできない.履歴なくなると勘でさっきの状態まで戻すということになってつらい.最近のブラウザならブラウザ単体でバックアップできると思ったのでためしに作ってみた.


http://hitode909.appspot.com/inputlog/


1秒に10回監視して変化があったら全文を配列に入れてJSONにダンプしてlocalStorageに入れてる.体験としてはこれでできてるけど,効率悪くて,まだ実用的ではない.いま書いてたら500KBとかになった.Google ChromeだとlocalStorageの上限が2.5MBとかだったと思う.長文書いてるときには使えない感じがする.こんな風にデータを記録することは普通はない.書いてると容量が増える勢いが増えておもしろいけど,効率悪いだけだからおもしろくない.いまは1秒に10回監視してるけど,何秒かに1回にするとか,変換前は記録しないとか,たいていの場合文字は末尾にしか増えないという前提で末尾に増えた文字だけ記録するとか,コマンドパターンを使って編集操作列みたいにするとか.