A collection of Rust libraries oriented around implementing Yjs algorithm and protocol with cross-language and cross-platform support in mind. It aims to maintain behavior and binary protocol compatibility with Yjs, therefore projects using Yjs/Yrs should be able to interoperate with each other. Project organization: lib0 is a serialization library used for efficient (and fairly fast) data exchang
キーワード 分散システム、一貫性モデル、CRDT、結果整合性 はじめに Atomエディタの共同編集機能を支える技術に関する論文1 2を読んでみました ざっくりメモを残そうと思います 理解が不十分な部分や省略があり、詳細は元ネタ要参照です Teletype (beta) for Atomとは Atom用の共同編集用プラグインです Google Docsのように、複数ユーザーが1つの文書をリアルタイムで編集できるようになります オンラインエディタの動作 オンラインエディタは内部的に下記のフェイズからなると思います 編集フェイズ ローカルでの挿入・削除 反映フェイズ リモート(別編集者のエディタ)へ反映 編集フェイズ Site1: 1が挿入され a1b に。 Site2: 2が挿入され a2b に。 各編集内容がネットワーク経由でやり取りされます 反映フェイズ Site1: 2 の挿入が反映され
From January 2023, TinyMCE no longer offers Real-Time Collaboration (RTC) for new customers. For Existing customers, we'll be in contact to discuss options. Please reach out to your Account Manager if you are a customer using RTC, and you have any questions about the plugin. This is the first in a series of blog posts documenting the TinyMCE RTC journey and decisions along the way. Next post: Coll
『Google Docs』や『Figma』といったリアルタイムな共同編集ツールの恩恵を受けている人は数多くいるでしょう。『Visual Studio Live Share』のようなエンジニアに嬉しいツールも生まれ、今日ではオンライン上でも円滑なコミュニケーションが可能になっています。 これらのツールの基礎にあるのが「共同編集」のテクノロジーです。本記事ではこの技術に焦点を当て、その仕組みと主にフロントエンドでの実用例について紹介します。 記事の前半では、リアルタイムな共同編集に用いられる技術やアルゴリズムについて、発展の歴史とあわせて紹介します。解説用のコードにはJavaScriptおよびTypeScriptを使用しますが、フロントエンドエンジニアに限らず共同編集の仕組みについて気になる読者が知識を深めるきっかけとなるはずです。 さらに後半ではフロントエンドの開発者目線で、前半で紹介した技
この記事はエンジニアと人生コミュニティのAdvent Calender2021 #2 の16日目の記事です。 マーケット・マイニング株式会社の案件でリアルタイム共同編集エディタを開発するため、技術調査として yjs を試しました。 ただ、yjsの日本語リソースが少なく、公式ドキュメントも執筆中のため、全体像の把握が難しかったり、私が欲しかったデータ保存関係のチュートリアルが作成中であったりと、必要な情報はコードやGitter等を追う必要がありました。 そこで本記事では、調査時に私が欲しかった以下の項目についてまとめます。 yjsの全体像・利用しているデータ構造 デモアプリの利用方法・アーキテクチャ yjsでのデータ保存の仕組み(サーバサイド、クライアントサイド) 今後yjsを利用される方の助けになれば幸いです。 ドキュメントが充実している箇所については概要説明にとどめ、ドキュメントへのリン
下記はスライドの講演の書き下しのようになっているので、スライドだけ見るんじゃなくて、スライドを見ながら文章を読み進めたい方向けです。 CRDTとは 今回は、CRDTというデータ構造について紹介します。CRDTはそもそも2011年にSSS(Stabilization, Safety, and Security of Distributed Systems)という国際会議で、INRIA(フランス国立情報学自動制御研究所)のMarc Shapiro博士によって発表された、比較的新しいモノです。 CRDTは"Conflict-free Replicated Data Type"の略で、日本語で言うと、__コンフリクトしない複製可能なデータ__といった感じです。 CRDTには実現方法によって2種類の呼び方が存在します(それぞれの略もまたCRDTなのでややこしいですが)。 Commutative Re
I saw Martin Kleppmann’s talk a few weeks ago about his approach to realtime editing with CRDTs, and I felt a deep sense of despair. Maybe all the work I’ve been doing for the past decade won’t be part of the future after all, because Martin’s work will supersede it. Its really good. Lets back up a little. Around 2010 I worked on Google Wave. Wave was an attempt to make collaboratively editable sp
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く