こんぶにのブログ

エンジニアという職業を通して学んだことを発信するブログです。

【2024/2/14】応用情報学習メモ

ウォークスルー

作成者・開発者と、外部の人間でレビューをすること。

サンドイッチテスト

またの名を折衷テスト。トップダウンテストとボトムアップテストを組み合わせる。
とっぷだうんてすとは上位モジュールからテストしてく。その際に下位モジュールは出来ていなかったりするので、そうした場合はスタブというものを使う。
ボトムアップテストは下位モジュールからテストしていく。その際に上位モジュールが出来ていなかったりする、そうしたときはドライバを使う。

デルファイ法

複数の人に個別にアンケート調査を行う。で、その結果をアンケートした全員に見せて、もう一回アンケートを行う。
というのを繰り返し、答えが収束していくようにする。 それで答えを出す。

親和図

別名KJ法。川喜多次郎?みたいな人が作ったからイニシャルを取ってKJ。
ブレーンストーミンなどで出し合った意見をカード化する。それを共通点などからグループ化する。

整流作用

電気を一方向にしか流さない性質。ダイオードが持つ。
ちなみにコンデンサは電気を蓄える。

加重総和法

値に特定の重みを乗ずる(掛け算する)。その値を全て総和(足し算)する。これで一番大きいものとか小さいものを求める。

コンティンジェンシープラン

災害とか緊急事態が起きた起きた時に備える計画のこと。

UDPを使っているのは?

NTP、FTPTELNET, POP3 それぞれのプロトコルの説明も。
UDPなのはNTP(ネットワークタイムプロトコル)。
ネットワークの機器時間の同期に使うプロトコルなので、信頼性は不要。
FTPは転送用と制御用でportが分かれている。
TELNETは別のパソコンにログインするやつ
POP3はメールを受信するやつ。

保守の種類

適応保守

環境に合わせて何かを修正する。問題は起きていないが、OSとかバージョンアップでこれから問題起きるかもしれないから修正 しとく。

完全化保守

潜在的なバグが故障として現れる前に修正するのが完全化。
バグを発見するのは予防。
こっちは既に発見済み。(ってことだよな?)

予防保守

何か起きる前にバグを発見する保守。
完全化との違いは発見するかしないか。

是正保守

問題が見つかってから解決する。
バグが起きて問題になってから対応するもの。あんまやりたくないもの。

プロジェクトマネジメントにおけるコンティンジェンシー計画

プロジェクトにおける緊急事態の対応策の計画書。こういうことが起きた時にどう対応するか、というのが書いてある。
緊急事態の対応

アムダールの法則

プロセッサ(処理をする部分って意味なのでCPUのこと)を増やせば増やすほど、処理が早くなるのではないか?と思ってしまうがそうではない。
プロセッサは増やせば増やすほど並列処理できる数が増える。
ここで出てくるのが並列処理できない処理。
こいつが存在する限り、どんなにプロセッサを増やしても、処理能力の向上には限界がある。

フラグメンテーション

主記憶上にデータがバラバラに保存されてる状態。シーク時間(アームを動かす時間)がかかるし、サーチ時間(ディスクが回るのを待ってる時間)もかかる。
データの読み込みがめっちゃ遅くなる。
可変長だと発生する。データの量ごとに領域を割り当てるから、間が抜けるとかがあり得る。
固定長なら長さが全部決まってるから、その中に全部収まって発生しない。

解決法は

主記憶でガーベージコレクション(メモリコンパンション)を行う。間が空いちゃってるのを整理整頓する。ただしこれもそれなりに時間がかかる行為。

キャッシュの割り当て方式

ダイレクトマッピング

主記憶の番号からキャッシュメモリのブロックを除算した余りで求める。
余りは普通に値が被るので、データがよく追い出される。キャッシュのヒット率は低くなる。

フルアソシアティブ

主記憶のブロックから、キャッシュの任意の空いている場所にデータを入れる。
ただし、これだとキャッシュの中からデータを探すときに何がどこにあるか分からない。
ダイレクトマッピングみたいに、除算した余りのところにあるんだね~っていう目印がないから。
その結果全件検索することになり、時間がかかる。

セットアソシアティブ

ダイレクトマッピングと古アソシアティブのいいところを取った感じ。
キャッシュの中にグループがある。その中にいくつかブロックがある。(この数によってNウェイセットアソシアティブと呼ばれる。)
で、主記憶のブロック番号からまた除算して余りのグループ番号の中の空いているところにキャッシュデータを入れる。
そうすると、検索するときに目印として、グループ番号がある。なので、そのグループの中のどこかにはキャッシュがあるよね~という感じにできる。
今使われているのはこれみたい。

IPV6

128ビットで表されたIP。
16ビット区切りの8セクション。
なので8 * 16で128ビット。
しかも16進数なのでめっちゃ多い。2桁で表せる数が尋常じゃない(16*16)。2進数なら(2 * 2)。1ビットで0~15まで表せる。
0000が続くところは::で省略可能。ただし、一回だけしか使えない。
19::18::みたいに2個あるのは×。

リーダーシップ論

SL理論

situational leadership
状況に応じて、リーダーシップを変える。
部下の成熟度合いで取るべきリーダーシップなんて変わるもんだよという理論

PM理論

Performance と Maintenance。
目標と集団維持(メンテ)。
この二つに焦点を当てたリーダーシップ理論。
キタミ式には載っていない。

https://www.kaonavi.jp/dictionary/pm-riron/#:~:text=PM%E7%90%86%E8%AB%96%E3%81%A8%E3%81%AF%E3%80%81%E3%83%AA%E3%83%BC%E3%83%80%E3%83%BC,%E3%81%8C%E6%8F%90%E5%94%B1%E3%81%97%E3%81%9F%E7%90%86%E8%AB%96%E3%81%A7%E3%81%99%E3%80%82

データリンクのコネクション確立

PPP

Point to Point Protocol
電話線を使ってインターネットにつなげたり、コンピュータを1vs1でつなげるプロトコル。 北見式には載ってない。

PPPoE

Point to Point over Ethernet
イーサネット上でPPPを用いた通信を行えるようにしたプロトコル
IPの割り当てだったりをこれで行っている。

タスクの多重度

複数のクライアントから接続されるサーバがある。このサーバのタスクの多重度が2以下の場合,タスク処理時間は常に4秒である。このサーバに1秒間隔で4件の処理要求が到着した場合,全ての処理が終わるまでの時間はタスクの多重度が1のときと2のときとで,何秒の差があるか。

配列とポインタ

配列のいいところ・悪いところ

添え字でアクセスできるから0から順番にアクセスしなくていい。
欲しいデータがすぐ取れる
簡単に要素を削除して順番入れ替えができない

ポインタのいいところ・悪いところ

途中要素の削除が簡単。次の要素の宛先アドレスに書き換えればいいだけ。
データの挿入も簡単。アドレスを書き換えるだけでOK
ただし順番通りじゃないとアクセスが出来ない
値にアクセスするには順番にアクセスしないといけない

再配置可能、再使用可能、再入可能

再配置可能

リロケータブル。主記憶のどこに配置してもそれを実行できること。
普通は主記憶上のあどれすが変わると、プログラムの場所がわからなくなっちゃうが、、それを適宜補正している。

再使用可能

主記憶上にある終了したタスクを再ロードすることなくもう一度使える。
そして同じ結果を返せる。
繰り返し処理で使われている模様。 変数の初期化がこれに当たるっぽい。

再入可能

複数のプログラムから再使用可能タスクにアクセスしても、それぞれで正しい結果を返せること。
複数サーバから同じプログラムにアクセスしても、別の値を返してくれるように。