Documentation - Evernote Developersの「Synchronization spec」の文書です。こういうWebサービスとクライアントアプリがいて、データ同期をとるようなアルゴリズムって、別に難しいことはないような気もしますが、一方で綺麗に書くためのベストプラクティスってなかなか見つからないような気がします。まあ力技でなんとかなるとも思いますが、それはそれとして上手くやる方法をずっと探していました。例えばgitとかちょっと機能が豊富すぎるし、Unisonとかそれはまたちょっと違うし。 こないだ気づいたのですが、Evernoteってローカルなキャッシュが存在することがかなり前提のサービスですよね。で、APIのドキュメントを見てみたらそんな感じのドキュメントがありました、という話。今となってみれば、けっこう当たり前の話ですよねーという感じだったので、一年くらい読む