2021-07-01から1ヶ月間の記事一覧

Learning Go Chapter 11. The Standard Library

The Standard Library Go の標準ライブラリは Python の "batteries included" の哲学と同じで、アプリケーション開発に必要なライブラリを標準装備している io とその仲間たち Goの入出力哲学の中心は、ioパッケージにある Reader と Writer インタフェース…

データ指向アプリケーションデザイン第9章: 一貫性と合意

ch09 一貫性と合意 耐障害性をもつシステムを構築する最も最善の方法は、有益な保証をもつ汎用的な抽象概念を見出し、それを一度だけ実装し、アプリケーションをその保証に依存させること 例えば、トランザクション アプリケーションはクラッシュすることな…

データ指向アプリケーションデザイン第8章分散システムの問題

プロセスの一時停止 分散システムにおけるクロックの危険な使い方例 パーティションごとに 1 つのリーダーをもつデータベース 書き込みを受け付けられるのはリーダーのみ 自分が書き込まれても安全であるとノードが知る方法 例: 他のノードからリースを取得…

Learning Go Chapter 10 Concurrency in Go

Concurrency in Go はじめに Go の並行処理モデルは他の言語と少し違う CSP (Communicating Sequential Process) という理論に基づいた並行処理モデル 並行処理いつ使うのか 並行処理を行うと必ず実行速度が速くなると誤認している人が多いが実際は違う 並行…