機能要件と非機能要件
機能要件→システムの機能として求められる要件。これは何が出来る?ってお話。
非機能要件→セキュリティや運用正等、機能要件以外のものを指す
アプリケーションエンジニアは機能要件を達成するために頑張るとかは一概には言えない感じなのかも。
解決したい課題にフォーカスしたのが機能要件なのかな。
ミドルウェア
サーバOS上でサーバが特定の役割を果たすための機能を持つソフトウェアのこと。
・・・後で調べ直すの必須だなぁ・・・
パブリッククラウド、プライベートクラウド
パブリッククラウドはAWSとか、IaaS、PaaS、SaaSとかのやつ。
クラウドサービスの中でも、物理的に他と共有しない独立した環境で、かつクラウド上にあるものがプライベートクラウドかな?
EC2とかで物理的に他とシェアしない専用のスペース用意するやつとかがプライベートクラウド・・・たぶん?
サイジング
トラフィック(通信量)に応じて、サーバのスペックやネットワーク帯域を見積もるの設計のこと。
このシステムだと、これくらいのスペックが必要だ!みたいなやつ。
MACアドレス、物理アドレス、イーサネットアドレス
ネットワークのチップとかに割り当てられたアドレス。前半24bitはメーカー、後半は重複しないように割り当てられてる。
つまり、各メーカーは16,777,216までしか製品を作れない・・・って十分か?十分じゃなかったら前半のメーカーのbitを複数持ったりするのかな。A社はこれとこれとか。
OSI基本参照モデル
( ゚∀゚)・∵. グハッ!!
や、やばい、これ何度も見てるのに未だ覚えられてないのマズすぎるでしょ・・・
アプリケーション層、プレゼンテーション層、セッション層、トランスポート層、ネットワーク層、データリンク層、物理層
■コードを繋いで、有線の通信(Ethernet)、インターネットでIPとか検索、ハンドシェイクで通信確立(TCP)、セッションという一括りで通信の内容を固めて、どんな形式でデータを送るかを定めて、アプリケーション層で入出力!
・・・なんかびみょーに違う感。調べ直し・・・
- 物理層→ケーブルやコネクタの形状とか。
- データリンク層→MACアドレスとかで同一ネットワーク間の通信規程。
- ネットワーク層→ルーティング。どこと通信するかとか。IPアドレスこれ
- トランスポート層→データ転送の制御。エラー検出等。
- セッション層→コネクション確立やデータ転送のタイミング規程。RequestとResponse。
- プレゼンテーション層→圧縮や文字コード等の表現形式
- アプリケーション層→HTTPとかの通信規程レベル
全然ちげええええ今すぐ消したいレベルだけどあえて残して私の戒めにしよう・・・はい・・・いい復習になりますね・・・
コードの形、ローカル通信、ネットワーク通信、ハンドシェイク等の通信形式、RequestとResponseのタイミング調整、具体的なデータの形式、データの送信形式・・・
・・・うん、もう一度勉強し直さなきゃ・・・
ここまで
この本のP14までで気になったものメモ。少しずつ読み進めよう。
プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化(WINGSプロジェクト阿佐志保 山田祥寛)|翔泳社の本