Webサイトのサーバー側でプレーンテキストベースの変更のためだけにマルチユーザー操作変換を実装しようとしています。
推奨できるJavaScript以外の実装はありますか?
Webサイトのサーバー側でプレーンテキストベースの変更のためだけにマルチユーザー操作変換を実装しようとしています。
推奨できるJavaScript以外の実装はありますか?
Google-Diff-Match-Patch-プレーンテキスト用のDiff、Match、Patchライブラリを検討してください。
「DiffMatchおよびPatchライブラリは、プレーンテキストの同期に必要な操作を実行するための堅牢なアルゴリズムを提供します。」
相違:プレーンテキストの2つのブロックを比較し、相違のリストを効率的に返します。
差分デモ一致:検索文字列を指定して、プレーンテキストのブロックで最適なあいまい一致を見つけます。精度と位置の両方に重み付けされています。
デモパッチの一致:パッチのリストをプレーンテキストに適用します。基になるテキストが一致しない場合でも、パッチを適用するために最善を尽くしてください。
パッチデモ現在、Java、JavaScript、C ++、C#、Objective C、Lua、Pythonで利用できます。言語に関係なく、各ライブラリは同じAPIと同じ機能を備えています。すべてのバージョンには、包括的なテストハーネスもあります。
ここで見つけることができます。
Py-infinoteを検討してください。
py-infinoteはJInfinoteのPythonポートであり、マルチユーザーの共同テキストエディターを作成するために使用できる共同テキスト編集プロトコル(adOPTed)を提供します。Py-infinoteはHWIOSプロジェクトで使用されます。
これは、googlewaveの操作変換をjeditと統合するもう1つの非常に興味深い実装です。
OpenCowebは人気のあるOT実装です。異なる言語で書かれたいくつかのサーバー実装があります。
より複雑なものを追加することで、今後数か月で改善する単純なリファレンス実装。
今それは持っています: