タグ

2020年10月30日のブックマーク (8件)

  • A Look at Conflict-Free Replicated Data Types (CRDT)

    You may have heard about CRDTs in the past few years if you are into distributed systems. In this post I will give a brief summary of what they are and what kind of guarantees they provide. In short, CRDTs are objects that can be updated without expensive synchronization/consensus and they are guaranteed to converge eventually if all concurrent updates are commutative (see below) and if all update

    A Look at Conflict-Free Replicated Data Types (CRDT)
  • 名前付きパイプによるプロセス間通信をやってみる - Ayumu's I/O

    Windowsにおいてプロセス間通信(IPC)に使われる名前付きパイプについて調べました。 名前付きパイプ(Named Pipe)とは CreateNamedPipe関数 パイプに関連する他の関数 名前付きパイプのアクティビティの確認方法 プログラム サーバ側のソースコード クライアント側のソースコード 実行結果 名前付きパイプ(Named Pipe)とは 名前付きパイプとは、プロセス間のデータ転送のためのプログラミングAPI。メールスロットと異なり、信頼される双方向通信を実現できる。ファイルのようにアクセスでき、Windows I/Oの標準関数であるCreateFile関数、ReadFile関数、WriteFile関数、CloseHandle関数を使って扱うことができる。生成時に作成するインスタンスの個数を指定できるため、1つのサーバが複数のクライアントと通信することもできる。また、サー

    名前付きパイプによるプロセス間通信をやってみる - Ayumu's I/O
  • Atom の 共同編集機能 を支える技術について調べてみた - Qiita

    キーワード 分散システム、一貫性モデル、CRDT、結果整合性 はじめに Atomエディタの共同編集機能を支える技術に関する論文1 2を読んでみました ざっくりメモを残そうと思います 理解が不十分な部分や省略があり、詳細は元ネタ要参照です Teletype (beta) for Atomとは Atom用の共同編集用プラグインです Google Docsのように、複数ユーザーが1つの文書をリアルタイムで編集できるようになります オンラインエディタの動作 オンラインエディタは内部的に下記のフェイズからなると思います 編集フェイズ ローカルでの挿入・削除 反映フェイズ リモート(別編集者のエディタ)へ反映 編集フェイズ Site1: 1が挿入され a1b に。 Site2: 2が挿入され a2b に。 各編集内容がネットワーク経由でやり取りされます 反映フェイズ Site1: 2 の挿入が反映され

    Atom の 共同編集機能 を支える技術について調べてみた - Qiita
  • テキストエディタの共同編集機能はどのように実装されているのか - GIGAZINE

    Webページに簡単に埋め込むことができるオープンソースのテキストエディタであるCKEditorの開発元が、リアルタイム共同編集機能を実装するにあたってのこだわりや工夫について公式ブログに投稿しています。 Lessons learned from creating a rich-text editor with real-time collaboration https://ckeditor.com/blog/Lessons-learned-from-creating-a-rich-text-editor-with-real-time-collaboration/ CKEditorは以下のような見た目のツールです。 共同編集機能を実装するにあたり、CKEditorでは以下の点にこだわったとのこと。 ・コンテンツをロックしない 同時に複数人が同じ段落や表、リストなどを編集できるようにする。 ・

    テキストエディタの共同編集機能はどのように実装されているのか - GIGAZINE
  • DocBaseの同時編集機能を実現しているアルゴリズム – KRAY Inc.

    はじめに 皆さんはGoogleドキュメントやHackMDを使ったことはあるでしょうか。これらのツールは「ネット越しに同時に複数の人で1つのドキュメントを編集できる」という特徴を持っています。お互いの編集がリアルタイムに反映されるので、相手が何を書くのかを意識することなく、簡単にドキュメントを複数人で編集することができます。これを実現するためには、同時編集に参加しているユーザ全員の編集内容がネットワークの延滞に影響されることなく、それぞれの編集内容をうまい具合にマージして反映してくれるような賢いアルゴリズムが必要になります。今回はこのアルゴリズムに関して書きます。 編集内容のマージとは 編集内容をうまい具合にマージしなければいけないケースを考えてみます。 AさんとBさんが次のドキュメントを同時編集するとします。最初は、お互いブラウザ上では次のように見えています。当然、この状態ではお互いに見え

    DocBaseの同時編集機能を実現しているアルゴリズム – KRAY Inc.
  • iPhone 12、Pixel 5発売で改めて考える「5G」「ミリ波」とは何か

    iPhone 12が発売になり、その前にはGoogleのPixel 4 (5G) 、Pixel 5が発売になったこともあり、改めて5Gに注目が集まっている。 特に話題になることが多いのが、iPhone 12において、アメリカ版ではサポートしたにもかかわらず、日を含む他国ではサポートしなかった「ミリ波」の存在だ。 iPhone 12・iPhone 12 Proの5Gミリ波帯対応は米国モデルのみ 日iPhone 12でミリ波がサポートされていなかったことから、「日iPhoneは偽物の5Gだ」という極論まで聞こえてくる。 もちろん実際には、そうではない。現実問題として、今年発売されるスマートフォンのほとんどは、まだミリ波に対応していない。「今年(2020年)発売される5Gスマートフォンの場合、ミリ波対応が必須というわけではない」と筆者は考えている。 今回は改めて、ミリ波の事情から「5G

    iPhone 12、Pixel 5発売で改めて考える「5G」「ミリ波」とは何か
  • マネジメントの現場 ――良いチームを作るために必要なこと 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    マネジメントの現場 ――良いチームを作るために必要なこと 記事一覧 | gihyo.jp
  • 構造化例外処理と UnhandledExceptionFilter

    上記、「例外ハンドラを探し続ける」 というのはどういうことでしょうか。これを簡単に説明します。 try-except や try-finally はネストすることが可能です。すなわち、次のように書くことが出来ます。 __try { __try { __try { } __except ( フィルター ) { } } __except( フィルター ) { } } __except( フィルター ) { } たとえこのように直接 try-except が記述されていなくても、次のように 関数の中で try-except が使用され、結果的に try-except がネストすることもあります。 (次のコードでは Foo の try にて Bar が呼び出され、その中でさらに try-except が存在している) void Bar() { __try { } __except ( フィルター

    構造化例外処理と UnhandledExceptionFilter