ありえんHip-Hopスマートフォン用の表示で見るありえんHip-Hopこの広告は、90日以上更新していないブログに表示しています。versionYayakaプロトコルは分散SNSのためのプロトコルです。この記事では、これがなぜ作られて、なぜ良いのかを説明します。脱中央集権は自由を得るための最初のステップです。独占プラットフォームはあなたの自由を奪うことがあります。民主化は自由を得るための第2ステップです。Yayakaプロトコルは独占プラットフォームを複数の独裁プラットフォームには分割しません。小さなサーバーでのネットワークへの参加はそれぞれのサーバーが分散SNSのすべての機能を実装する必要がないことを意味します。それぞれのサーバーは最低限の機能だけを実装します。階層化されたプロトコルによる高い拡張性は同じ目標をもつサーバー同士で協力しながら独自に拡張することが可能ということを意味します。前述した目的を達成するためにYayakaプロトコルは以下の特徴を持ちます。サーバー間を自由に移住できる。それぞれのサーバーは分散SNSの一部分を実装する。サーバー間の通信の方法はソケット通信やHTTPSなど任意のものが使える。追加のプロフィール属性やユーザーによるイベントの種類、コンテンツの種類は上層のプロトコルで定義される。Graphサービス、Presentationサービスの4つあります。それぞれのユーザーはIdentityサービスで登録を行い、他のサービスを認可します。Repositoryサービスはユーザーによる投稿やお気に入り、リポストなどのイベントを保存します。Graphサービスはユーザー同士の関係を保持し、イベントを配信します。PresentationサービスはウェブフロントエンドやAPIを提供します。Graphサービスにイベントを配信し、用途に合わせて複数のPresentationサービスを利用することができます。Repositoryサービスが不当な検閲を行ったり、PresentationサービスがUIやAPIの改悪を行ったらすぐに離れることができます。分散ウェブアプリケーションのためのメッセージングプロトコルです。それぞれのサーバーはYMPの上層プロトコルとして複数のConnectionプロトコルやMessageプロトコルを実装します。Connectionプロトコルはどのようにしてサーバー間で通信を行うかを定義し、Messageプロトコルはアプリケーションがメッセージの交換によりどのように動作するかを定義します。YayakaプロトコルはYMPのMessageプロトコルの一つです。登録ユーザーがどのサーバーで登録するかを決める。ユーザーはそのサーバーに信頼されたPresentationサービスの一つにユーザー登録のための情報を入力する。Presentationサービスは登録を行うサーバーのIdentityサービスにメッセージを送信する。Identityサービスはユーザーを作成する。フォローユーザーがPresentationサービス上でフォロー操作をする。Graphサービスの一つにメッセージを送信する。Graphサービスにメッセージを送信する。Graphサービスはフォロー関係を保存する。イベントの作成ユーザーがPresentationサービス上でイベント作成操作をする。Presentaitionサービスはそのユーザーが認可したRepositoryサービスの一つにメッセージを送信する。Repositoryサービスはイベントを保存する。Graphサービスにイベントを配信する。Graphサービスも自分を購読しているサービスにイベントを配信する。現状YMPの定義はほとんど完成しています。現在はYayakaプロトコルとElixirによるリファレンス実装を同時進行で進めています。以下が今後の計画です。最初のConnectionプロトコルを作る。YMPの上層プロトコルを登録する分散レジストリのMessageプロトコルを作成する。分散GitホスティングサービスのためのMessageプロトコルを作成する。Organizationがあります。気軽にIssueを立ててください。あと、「作った」という...2017-02-19ReduxでのRoutingはこれでやっていこうと思います。Reduxでの理想のRoutingライブラリを求めて作ったredux-pagesの...2016-10-06何故いまさら新しいSNSを作ったのかこの前の10/2にwww.agoraful.comを公開しました。入れた10万のラップトップに乗りかえたけど快適すぎる。一時停止リマインダーをやるためにグッズを作った。月別アーカイブ参加グループプログラミングはてなブログをはじめよう!ryo12redstoneさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。