応用情報技術者試験の参考書を読むのメモ
掛け算とか割り算はどうやって実現しているか?
-> シフト演算を使って掛け算や割り算を行っている。
シフト演算...ビットの並びをまとめて左にずらしたり、右にずらしたりすることで元の値の2倍や1/2倍という計算を実現している。
テストケース設計手法:
同値分割 これはテストデータを自分で用意してそのデータを選んでテストして実際の結果を確認する手法なのだろう。テストデータは有効範囲のデータ、有効範囲外のデータを準備する。
UMLについて
参考:https://www.itsenka.com/contents/development/uml/
UML(Unified Modeling Language)は、様々な開発現場で使用されている設計書の書式を統一する目的で規定された言語で、1997年にOMG ( Object Management Group ) により標準化されました。 但し、UMLによる標準化はあくまで表記方法であって、開発手法の方法論ではありません。
表記種類 | 名前 | 説明 |
---|---|---|
構造に関する表記 | クラス図(Class Diagram) | クラス構造を表現します。 |
構造に関する表記 | オブジェクト図(Object Diagram) | クラスをより具体化したオブジェクトで表現します。 |
構造に関する表記 | パッケージ図(Package Diagram) | クラスなどをグループ化し整理された関係を表現します。 |
構造に関する表記 | コンポジット構造図(Composite Structure Diagram) | クラスやコンポーネントの内部構造を表現します。 |
構造に関する表記 | コンポーネント図(Component Diagram) | コンポーネントの内部構造ならびにコンポーネント間の依存関係を表現します。 |
構造に関する表記 | 配置図(Deployment Diagram) | システムの物理的な構成を表現します。 |
振る舞いに関する表記 | ユースケース図(Use Case Diagram) | ユーザなど外部からの要求に対するシステムの振る舞いを表現します。 |
振る舞いに関する表記 | アクティビティ図(Activity Diagram) | システムの実行における処理の流れや状態遷移を表現します。 |
振る舞いに関する表記 | 状態マシン図(State Machine Diagram) | イベントにより引き起こされるオブジェクトの状態遷移を表現します。 |
振る舞いに関する表記 | シーケンス図(Sequence Diagram) | クラスやオブジェクト間の応答を時系列で表現します。 |
振る舞いに関する表記 | コミュニケーション図(Communication Diagram) | クラスやオブジェクト間の関連と応答を視覚的に表現します。 |
振る舞いに関する表記 | 相互作用概要図(Interaction Overview Diagram) | 相互作用図(ユースケース図やシーケンス図など)を構成要素として、より広域な処理の流れを表現します。 |
振る舞いに関する表記 | タイミング図(Timing Diagram) | クラスやオブジェクトの状態遷移を時系列で表現します。 |
回路について
回路には組み合わせ回路と順序回路という2種類が存在する。
半加算器と全加算器 |加算器|説明| |------|-----| |半加算器|下位からの桁上りを考慮しない| |全加算器|下位からの桁上りを考慮する|
プロキシサーバの役割:
プロキシサーバは、内部ネットワーク内の端末からの要求に応じてインターネットへのアクセスを代理する装置です。単にプロキシともいいます。プロキシサーバを設置すると、キャッシュ機能によるレスポンス向上、認証やフィルタリングによるセキュリティ、内部ネットワークの秘匿化などの効果を期待できます。
NAPT
NAPT(Network Address Port Translation)は、プライベートIPアドレスとグローバルIPアドレスの相互変換するNATの考え方にポート番号を組み合わせた技術です。
ファジング
ファジング(fuzzing)とは、検査対象のソフトウェア製品に「ファズ(英名:fuzz)」と呼ばれる問題を引き起こしそうなデータを大量に送り込み、その応答や挙動を監視することで(未知の)脆弱性を検出する検査手法
ユーザインタフェースのユーザビリティを評価:
RDBMSのロック: 2種類ある。共有ロック、専有ロック。
種類 | 説明 |
---|---|
共有ロック | データを読込むときに使うロックで、資源がこの状態の場合は他のトランザクションによる更新処理ができなくなる(読込みは可能)。 |
専有ロック | データを更新するときに使うロックで、資源がこの状態の場合は他のトランザクションによる読込みや更新ができなくなる。 |
DB
主キーとするために列は制約(条件)を満たす必要がある。
制約種類 | 説明 |
---|---|
一意制約 | データに重複がなく必ず位置であること |
NOT NULL制約 | NULL値を許容しない |
外部キーに関する制約
制約種類 | 説明 |
---|---|
参照制約 | 外部キーに含まれる値は、参照先となる表の列内に必ず存在しなければならない |
これは何かというと、外部キーの値が存在しないものを他のテーブルで参照するために外部キーを登録したり、外部キーの値が他のテーブルで使われているにも関わらず、当該外部キー値を削除するような行為を制限するということである。
正規化
正規化の目的...データに矛盾や重複を生じさせないこと
正規形種類 | 説明 |
---|---|
第一正規形 | 繰り返し部分を分離させて、独立したレコードとした表 |
第二正規形 | 部分関数従属している列を切り出した形の表 |
第三正規形 | 繰り返し部分を分離させて、独立したレコードとした表 |
関数従属と部分関数従属の用語
用語 | 説明 |
---|---|
関数従属 | 主キーが決まれば列の値が一意に定まる関係 |
部分関数従属 | 複合キーの一部の項目だけで列の値が一意に定まる関係 |
ノイマン型コンピュータとは
ノイマン型(ノイマンがた、英: von Neumann architecture)は、コンピュータの基本的な構成法のひとつである。
ノイマン型コンピュータでは、記憶部に計算手続きのプログラムが内蔵され、逐次処理方式で処理が行われる。中央演算部、制御部、記憶機構、入力部、出力部の5つの部分からなり、プログラム実行時には、主記憶装置から演算制御装置へ命令やデータが記憶レジスタを経由して転送され、命令は、命令アドレスレジスタにセットされたアドレスに沿って逐次的に実行される。今日の一般的なコンピュータシステムのほとんどが、このノイマン型である。
レジスタとは
レジスタとは、マイクロプロセッサ(MPU/CPU)内部にある、演算や実行状態の保持に用いる記憶素子。最も高速な記憶装置だが、一般的なCPU製品で数個から数十個(容量に換算して数十バイト程度)と数が限られる。GPUなど特殊なプロセッサでは数万個(数百キロバイト)のレジスタを内蔵するものもある。
つまりCPU内部にある記憶装置。
で、レジスタって一言で言っても色んな種類がある。
プログラムカウンタはプログラムレジスタと呼んだり、命令ポインタとも呼ぶことがあるらしい。
命令レジスタは実行中の処理を記憶するレジスタ。 インストラクションレジスタ(IR)とも言うらしい。 プログラムカウンタから次にやることが書いてあるメモリの場所を取得して、やることをメモリから読み出して記憶する。メモリからやることを読み出すことをフェッチと呼び、メモリからフェッチしたやることを解析することをデコードと言う。
コンピュータの命令実行順序
- 命令フェッチ
- 命令の解読
- オペランド読み出し
- 命令の実行