17章データと空間:ネットワーク

時間はすべてのことが一度に起きないようにするための自然の手段であり、

空間はすべてのことが私にふりかからないようにしてくれるものである。

──時間についての名言(https://bit.ly/wiki-time

 15章では、同時に複数の仕事をするための並行処理について学んだ。この章では、複数の場所で仕事をするための分散コンピューティングネットワーキングについて学ぶ。時間と空間の可能性を追求していくことには、もっともな理由がある。

パフォーマンス

プログラマの目的は、遅いコンポーネントを待つことではなく、高速なコンポーネントに暇を与えないことだ。

堅牢性(ロバスト性)

数が増えると安全になる。そこで、ハードウェア、ソフトウェアのエラーを回避するために、タスクを重複して行うことが望ましい。

単純性

複雑なタスクを作りやすくわかりやすく直しやすい多くの小さなタスクに分割することがベストプラクティスである。

スケーラビリティ

負荷への対処のためにサーバを増やし、料金の節約のためにサーバを減らすことができるようにする。

 この章では、ボトムアップ方式で、ネットワーキングのプリミティブ(基本要素)から高水準の概念に向かって説明する。TCP/IPとソケットから話を始めよう。

17.1 TCP/IP

 インターネットは、接続の確立、データの交換、接続の切断、タイムアウトの処理といったことをどのようにすべきかを決めた規則を基礎としている。これらはプロトコルと呼ばれ、レイヤ(階層)に分けられている。レイヤ化されているのは、イノベーションを促し、同じことをする別の方法を作れるようにするためだ。上下のレイヤとのやり取りで慣習的なルールに従う限り、何でも好きなことができる。 ...

Get 入門 Python 3 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.