Skip to content

Instantly share code, notes, and snippets.

View legokichi's full-sized avatar
😇
neary heaven

Legokichi Duckscallion legokichi

😇
neary heaven
View GitHub Profile
@legokichi
legokichi / damps-04.md
Created June 30, 2019 20:33 — forked from sile/damps-04.md
Distributed Algorithms for Message-Passing Systems: 第四章

第四章 リーダー選出アルゴリズム

抜粋

  • リーダー選出問題を扱った章
  • リーダー選出:
    • 分散システムを構成するプロセス群中から一つを選ぶ
    • 通常、選ばれたプロセスは、調整/制御を目的とし、特別な役割を果たすことが要求される
  • リーダー選出は分散システムの対称性を崩す
@legokichi
legokichi / damps-01.md
Created June 30, 2019 20:33 — forked from sile/damps-01.md
Distributed Algorithms for Message-Passing Systems: 第一章

第一部 分散グラフアルゴリズム

第一部は分散グラフアルゴリズムを扱う:

  • 分散システムをグラフと見立てる
    • 頂点はプロセス(ノード)に対応
    • 辺は通信チャンネルに対応

五章構成:

  • 一章: 基礎定義とネットワーク探索
@legokichi
legokichi / damps-05.md
Created June 30, 2019 20:33 — forked from sile/damps-05.md
Distributed Algorithms for Message-Passing Systems: 第五章

第五章 ネットワークを航行するモバイルオブジェクト

概要:

  • モバイルオブジェクト:
    • ユーザプロセスのリクエストに応じて、プロセスからプロセスへと移動する
  • この章では、モバイルオブジェクトがネットワークを航行するためのアルゴリズム、を扱う:
    • 性質の異なる三つの分散アルゴリズムを取り上げる
    • 全てのアルゴリズムは、以下を保証する:
  • 整合性: オブジェクトは同時に複数プロセスに存在しない
@legokichi
legokichi / damps-06.md
Created June 30, 2019 20:33 — forked from sile/damps-06.md
Distributed Algorithms for Message-Passing Systems: 第六章

第二部 分散システムでの論理時間とグローバル状態

第二部は四章からなり、以下の内容を扱っている:

  • 分散計算の、イベント/ローカル状態/グローバル状態、の概念
  • それらに関連した論理時間について
  • => __信頼可能な__分散システム上での非同期分散計算の性質を考察する上で基礎となる概念

六章:

  • プロセスのイベント群の部分順序によって、分散計算を表現する方法
@legokichi
legokichi / damps-08.md
Created June 30, 2019 20:33 — forked from sile/damps-08.md
Distributed Algorithms for Message-Passing System: 第八章

第八章 非同期分散チェックポイント

  • 非同期分散システム上でのチェックポイントを扱う章
  • 最初に以下を提示:
    • ローカル及びグローバルチェックポイントの概念
    • 同じ一貫グローバルチェックポイントに属するローカルチェックポイント群のための必要条件と十分条件を述べた定理
  • 次に、ローカルチェックポイントによって拡張された分散計算に関連する 以下の二つの一貫性条件を考える (後者の方が強い):
      1. Zサイクルフリーダム: 任意のローカルチェックポイントが、一貫グローバルチェックポイントに属することを保証する
    1. ロールバック依存追跡性: 一貫グローバルチェックポイントが、オンザフライで各ローカルチェックポイントに紐付け可能なことを示す
@legokichi
legokichi / damps-12.md
Created June 30, 2019 20:33 — forked from sile/damps-12.md
Distributed Algorithms for Message-Passing System: 第十二章

第四部 ハイレベル通信抽象

第四部の内容:

  • メッセージの非同期送受信に基づく分散システムに、ハイレベルな通信抽象を付与する
  • 12章:
    • メッセージ配送順序が特定の性質を満たすようにするための抽象群を扱う
    • 因果メッセージ配送、が一番重要
  • 13章:
  • ランデブー通信抽象、および、論理的に即時な通信、を扱う
@legokichi
legokichi / main.md
Created June 30, 2019 20:32 — forked from sile/main.md
『Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services』の要約

要約: 『Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services』

概要

  • 著者: Seth Gilbert、Nancy Lynch、発行年: 2002
  • いわゆる"CAP定理"の話:
    • 「分散環境では 一貫性(Consistency)可用性(Availability)分断耐性(Partition tolerance) の三つを同時に達成することはできない」
  • その不可能性の証明と、その制限を非同期環境および部分的同期環境でどう緩和するか、が述べられている
@legokichi
legokichi / webrtc_quic.js
Created February 2, 2019 09:20 — forked from voluntas/webrtc_quic.js
RTCQuicTransport の動作サンプル
// Chrome Canary M74
// chrome://flags で Experimental Web Platform features を有効にすれば使えるようになる
// https://developers.google.com/web/updates/2019/01/rtcquictransport-api
// https://github.com/shampson/RTCQuicTransport-Origin-Trial-Documentation
const iceTransport1 = new RTCIceTransport;
const iceTransport2 = new RTCIceTransport;
const quicTransport1 = new RTCQuicTransport(iceTransport1);
@legokichi
legokichi / rfc_2113.md
Created September 14, 2018 16:13 — forked from sile/rfc_2113.md
Rustの『RFC 2113: dynトレイト構文』の要約メモ
@legokichi
legokichi / ssrf_in_cybozu.md
Created September 13, 2018 17:23 — forked from atsunoda/ssrf_in_cybozu.md
サイボウズ脆弱性報奨金制度で認定されたSSRF

サイボウズ脆弱性報奨金制度で認定されたSSRF

2017年11月に開催された「サイボウズ バグハンター合宿」への参加を機に、サイボウズの脆弱性報奨金制度に挑戦した。2017年度に認定されたcybozu.com共通管理でのSSRFの詳細をサイボウズと合意の上で開示する。

サイボウズの報奨金制度では、クラウドサービスの本番環境での脆弱性調査が禁止されている。調査希望者には cybozu-dev.com 上で動作する検証環境が提供される。以降の調査は全て検証環境で実施している。

cybozu.com共通管理の概要

サイボウズが企業向けに提供するOfficeやGaroon、kintoneなどのクラウドサービスは、共通のドメイン cybozu.com 上で動作する。各サービスのアカウントやセキュリティ設定などはサービスごとに管理せず、「cybozu.com共通管理」で一元管理する仕様となっている。利用企業の管理者はcybozu.com共通管理から社員のアカウントを発行し、権限などを設定できる。