otokichi
otokichi-doc
技術文書の置き場。図で構造を追えるように書いている。
Documents
-
Linux カーネルの仕組みから理解するコンテナの正体
コンテナは仮想マシンではなく、1 つのカーネルの上で動くふつうのプロセスです。名前空間・cgroup・OverlayFS の 3 つがカーネルの中でどう動いているかを、用語を 1 つずつ説明しながら見ていきます。
-
SaaS のマルチテナントをどう実現するか
SaaS で複数の顧客(テナント)のデータを 1 つのアプリで預かるとき、何を共有して何を分け、境界をどこで守るかを説明します。Silo / Pool / Bridge の分類とデータ層の 4 つの分け方から始め、テナントの判定・境界の守り方・境界をまたぐ正規の経路・運用の目安を順に見ます。最後に、Firestore 上の be-hero-karte の構成を例に読みます。
-
HTTP の条件付きリクエスト — ETag と Last-Modified
Cloudflare Workers のアプリを題材に、no-store・max-age・no-cache の使い分けと、304 が返る仕組みを説明します。workers.dev が HTML の ETag を消すこと、Last-Modified を何から作るか、グローバルスコープの Date.now() が 0 を返す落とし穴も扱います。
-
マラソンの予想タイムを出す 3 つの方式
Riegel 式・Tanda 式・VDOT 式の 3 つを、何を材料にして何を仮定しているかで並べて説明します。式の記号の読み方から、考え方、使える範囲、実装での落とし穴までを扱います。
-
Amazon Cognito と OAuth 2.0
OAuth 2.0 と OpenID Connect の登場人物と手順を説明し、Amazon Cognito のユーザープール・ID プール・3 種類のトークン・エンドポイントが規格のどこに当たるかを図で対応づけます。
-
Lucene Internals
OpenSearch の検索を担う Apache Lucene の内部構造を、書き込みから検索、削除まで 9 枚の図で説明します。