【応用情報技術者】学習したことのまとめ その2
前回に引き続き、個人的に学んだことを
比喩を交えて説明していきます。
・公開鍵、秘密鍵
ばらまく鍵=公開鍵(Aとする)
自分だけもっている鍵=秘密鍵(Bとする)
公開鍵暗号方式とは、
A ⇒ A’(暗号化された状態)
のものをBでしか戻すことができなくなる方式
のことを言う。
ということはつまりAの公開鍵は、他の人に
ばれてしまってもよいということになります
(Bという秘密鍵がなければ、戻すことができず内容を知られることがないため)
なので、公開鍵の受け渡しは比較的容易に
おこなうことができます。
※共通鍵方式
暗号化と復号に同じ鍵をつかいます。
例えると、金庫を手渡しするとします。
この金庫の中身はだれにも知られたくない
ものがあるとします。
誰にも知られないようにまず金庫を鍵で
閉めます(これが暗号化です)
つぎに金庫を相手に渡しますが、
空いてもその合鍵を持っている必要があります。
その受け渡し場所も、バレバレだと盗まれてしまうので注意する必要があります。(鍵が盗まれたら終わりなので。)
・フェールセーフ、フェールソフト
フェールセーフは、誤操作や誤作動があった時に、その被害を最小限に食い止めるように制御
することを言います。
身近な例でいうと、ブレーカーです。
機器の製品や配線からの漏電を検知すると、
通電を停止します。
故障しても安全を第一にするという考え方です。
フェールソフトは障害発生時に機能を縮小してでも機能を継続することです。
具体例を出すと、エンジン付きの航空機です。
2つエンジンがついているかと思いますが、
1つ故障しても1つのエンジンで飛べるように
なっています。これは、(命にかかわるので)飛行機が落ちてしまうので何としてでも機能を継続させないといけない、
ということから来ているのだと思います。
・モジュール強度
各モジュール(ソフトウェアを構成するプログラムの単位)の役割の関連性のつよさのこと。
もっとも強いのが「機能的強度」
モジュールが一つの機能のみを提供する場合
(2つのモジュールで1つの機能しか提供しないのだから当然ながら強度は強いとみる)
次に高いのが「情報的強度」
特定の同じデータを扱うための機能を1つのモジュールにまとめたもの
(同じデータを参照するので当然ながら強度は強い)
次に高いのが「連絡的強度」
モジュール内の機能間でデータの受け渡しをする。とあるモジュールで作成された結果(例えば、勤怠打刻機能から出力された時刻が、給与計算機能に渡されるなど)
次に高いのが「手順的強度」
必ず順番に実行される機能を一つのモジュールにまとめたもの(例:食事機能⇒皿洗い機能など)
次に高いのが「時間的強度」
実行時のある時点で利用される複数の機能に
1つのモジュールにまとめる
例:洗顔機能、歯磨き機能
次に高いのが「論理的機能」
論理的に関連のある機能を一つのモジュールに
まとめる。引数を使用する
例: 掃除 → ゴミ袋機能、掃除機機能
もっとも弱いのが「暗号的強度」
(単にプログラムを分割して複数の機能を1つにまとめた状態。関連性はほとんどない)
・2相コミット
2つのフェーズで更新処理を行う方式のこと。
複数のトランザクションの中から指揮者となるものを選びます。残りは参加者になります。
フェーズ1で,指揮者は参加者に「更新可能でしょうか?」とおうかがいをたてます。
そして、すべての参加者から「はい、更新可能です」という答えをもらった指揮者は、フェーズ2として,「更新を実行してください」と指示出しをします。 このようなやりかたのことを言います。