キタミ式イラストIT塾 応用情報技術者 令和04年
書籍情報
発売日 : 2021年12月13日
著者/編集 : きたみりゅうじ
出版社 : 技術評論社
発行形態 : 単行本
ページ数 : 872p
書籍説明
内容紹介
きたみりゅうじ氏による情報処理技術者試験本「キタミ式イラストIT塾」の応用情報技術者試験本です。「ITパスポート」、「基本情報技術者試験」同様キタミ式の特徴である,すべての解説をイラストベースで行っており,とてもわかりやすい解説となっているため,試験範囲が広く、かつ深い理解度が必要とされる応用情報技術者試験にとって,まず大切となる「試験範囲の内容をひととおり理解して,試験の内容を理解し対策すること」ができる書籍となっています。過去問の解説は金子則彦氏,監修は放送大学元大学長の岡部洋一先生です。
目次
はじめに
目次
本書の使い方
応用技術者試験とは?
■■Chapter 1 基礎理論(離散数学)
1-1 2進数とn進数
2進数と各基数との関係
基数と桁の重み
n進数と10進数間の基数変換
2進数と8進数・16進数間の基数変換
1-2 2進数の計算と数値表現
2の補数と負の数のあらわし方
固定小数点数
浮動小数点数
よく使われる浮動小数点数
1-3 シフト演算と2進数のかけ算わり算
論理シフト
算術シフト
あふれ(オーバーフロー)
シフト演算を用いたかけ算とわり算
1-4 誤差
けたあふれ誤差
丸め誤差
打切り誤差
けた落ち
情報落ち
1-5 集合と論理演算
集合とベン図
集合演算
式の変形とド・モルガンの法則
命題と論理演算
真理値表
カルノー図法
■■Chapter 2 基礎理論(応用数学)
2-1 思い出しておきたい数値計算たち
平方根(√)
対数(log)
数列の和(Σ)
階乗(n!)
2-2 確率
確率と場合の数
順列と組合せ
確率の基本性質
確率変数と期待値
確率の加法定理と乗法定理
マルコフ過程
2-3 統計
正規分布と標準偏差
2-4 グラフ理論
ノードとエッジ
グラフの種類
グラフのデータ構造
重み付きグラフ
■■Chapter 3 情報に関する理論
3-1 情報量
平均情報量(エントロピー)
3-2 符号化とデータ圧縮
平均情報量で見るデータ量の理論値
ハフマン符号化
ランレングス符号化
3-3 オートマトン
有限オートマトン
正規表現によるパターン表現
3-4 形式言語
文脈自由文法
形式言語の定義って,なぜ必要?
BNF記法(バッカス・ナウア記法)
■■Chapter 4 ディジタルデータのあらわし方
4-1 ビットとバイトとその他の単位
1バイトであらわせる数の範囲
様々な補助単位
4-2 文字の表現方法
文字コード表を見てみよう
文字コードの種類とその特徴
UnicodeとUTF-8
4-3 画像など,マルチメディアデータの表現方法
画像データは点の情報を集めたもの
音声データは単位時間ごとに区切りを作る
■■Chapter 5 コンピュータの回路を知る
5-1 論理回路
代表的な論理回路
フリップフロップ回路
5-2 半加算器と全加算器
半加算器は,どんな理屈で出来ている?
全加算器は,どんな理屈で出来ている?
5-3 ビット操作とマスクパターン
ビットを反転させる
特定のビットを取り出す
5-4 論理回路とLSI
システムLSI
カスタムICとFPGA
5-5 組込みシステムにおけるコンピュータ制御
センサとアクチュエータ
機器の制御方式
■■Chapter 6 CPU(Central Processing Unit)
6-1 CPUとコンピュータの5大装置
5大装置とそれぞれの役割
6-2 ノイマン型コンピュータ
主記憶装置のアドレス
6-3 CPUの命令実行手順とレジスタ
レジスタの種類とそれぞれの役割
命令の実行手順その①「命令の取り出し(フェッチ)」
命令の実行手順その②「命令の解読」
命令の実行手順その③「対象データ(オペランド)読み出し」
命令の実行手順その④「命令実行」
6-4 機械語のアドレス指定方式
即値アドレス指定方式
直接アドレス指定方式
間接アドレス指定方式
インデックス(指標)アドレス指定方式
ベースアドレス指定方式
相対アドレス指定方式
主記憶装置上のバイトオーダ
6-5 CPUの性能指標
クロック周波数は頭の回転速度
1クロックに要する時間
CPI(Clock cycles Per Instruction)
MIPS(Million Instructions Per Second)
命令ミックス
6-6 CPUの高速化技術
パイプライン処理
分岐予測と投機実行
スーパーパイプラインとスーパースカラ
VLIW(Very Long Instruction Word)
CISCとRISC
6-7 並列処理(Parallel Processing)
フリンの分類
マルチプロセッサと主記憶装置
アムダールの法則
■■Chapter 7 メモリ
7-1 メモリの分類
RAMの種類いろいろ
ROMの種類いろいろ
7-2 主記憶装置と高速化手法
キャッシュメモリ
プログラムの局所参照性
主記憶装置への書き込み方式
ヒット率と実効アクセス時間
キャッシュメモリの割り当て方式
メモリインターリーブ
■■Chapter 8 ハードディスクとその他の補助記憶装置
8-1 ハードディスクの構造と記録方法
セクタとトラック
ハードディスクの記憶容量
ファイルはクラスタ単位で記録する
データへのアクセスにかかる時間
8-2 フラグメンテーション
デフラグで再整理
8-3 RAIDはハードディスクの合体技
RAIDの種類とその特徴
8-4 ハードディスク以外の補助記憶装置
光ディスク
光磁気ディスク(MO: Magneto Optical Disk)
磁気テープ
フラッシュメモリ
SSD(Solid State Drive)
■■Chapter 9 バスと入出力デバイス
9-1 バスアーキテクチャ
パラレル(並列)とシリアル(直列)
入出力制御方式
9-2 入出力インタフェース
システムバスのインタフェース
パラレル方式の外部バスインタフェース
シリアル方式の外部バスインタフェース
無線インタフェース
9-3 入出力デバイス
キーボードとポインティングデバイス
読み取り装置とバーコード
ディスプレイの種類と特徴
解像度と,色のあらわし方
VRAM(ビデオRAM)の話
プリンタの種類と特徴
プリンタの性能指標
■■Chapter 10 オペレーティングシステム
10-1 OSの仕事
ソフトウェアの分類
基本ソフトウェアは3種類のプログラム
代表的なOS
ソフトウェアによる自動化(RPA)
10-2 ジョブ管理
ジョブ管理の流れ
スプーリング
10-3 タスク管理
タスクの状態遷移
ディスパッチャとタスクスケジューリング
マルチプログラミング
割込み処理
リアルタイムOS
10-4 タスクの排他/同期制御
排他制御が必要な理由
セマフォ
デッドロック
同期制御とイベントフラグ
タスク間の通信
10-5 実記憶管理
固定区画方式
可変区画方式
フラグメンテーションとメモリコンパクション
オーバーレイ方式
スワッピング方式
10-6 再配置可能プログラムとプログラムの4つの性質
再配置可能(リロケータブル)
再使用可能(リユーザブル)
再入可能(リエントラント)
再帰的(リカーシブ)
10-7 仮想記憶管理
なんで仮想記憶だと自由なの?
実記憶の容量よりも大きなサイズを提供する仕組み
ページング方式
ページの置き換えアルゴリズム
ページングとスワッピング
10-8 UNIX系OS
ファイルシステムの特徴
標準ストリーム
リダイレクションとパイプ
■■Chapter 11 プログラムの作り方
11-1 プログラミング言語とは
代表的な言語とその特徴
11-2 言語プロセッサ
インタプリタとコンパイラ
特殊な言語プロセッサ
11-3 コンパイラ方式でのプログラム実行手順
コンパイラの仕事
コンパイラの最適化手法
リンカの仕事
ローダの仕事
11-4 構造化プログラミング
制御構造として使う3つのお約束
11-5 変数は入れ物として使う箱
たとえばこんな風に使う箱
変数の記憶期間と関数
関数の呼び出しと変数の関係
11-6 アルゴリズムとフローチャート
フローチャートで使う記号
試しに1から10までの合計を求めてみる
11-7 データ構造
配列
リスト
キュー
スタック
スタックと逆ポーランド記法
11-8 木(ツリー)構造
2分木というデータ構造
完全2分木
2分探索木
ヒープ
AVL木
2分木の走査順序
11-9 データを探索するアルゴリズム
線形探索法
2分探索法
ハッシュ法
各アルゴリズムにおける探索回数
11-10 データを整列させるアルゴリズム
基本交換法(バブルソート)
基本選択法(選択ソート)
基本挿入法(挿入ソート)
より高速な整列アルゴリズム
11-11 オーダ記法
各アルゴリズムのオーダ
11-12 再帰法
階乗の計算に見る再帰呼び出しの流れ
■■Chapter 12 データベース
12-1 DBMSと関係データベース
関係データベースは表,行,列で出来ている
表を分ける「正規化」という考え方
関係演算とビュー表
データベースの設計
スキーマ
12-2 主キーと外部キー
主キーは行を特定する鍵のこと
外部キーは表と表とをつなぐ鍵のこと
インデックス
12-3 正規化
非正規形の表は繰り返し部分を持っている
第1正規形の表は繰り返しを除いたカタチ
関数従属と部分関数従属
第2正規形の表は部分関数従属している列を切り出したカタチ
第3正規形の表は主キー以外の列に関数従属している列を切り出したカタチ
12-4 SQLでデータベースを操作する
SELECT文の基本的な書式
特定の列を抽出する(射影)
特定の行を抽出する(選択)
条件を組み合わせて抽出する
その他の条件指定方法
同一データを重複させずに抽出する
表と表を結合する(結合)
データを整列させる
関数を使って集計を行う
データをグループ化する
グループに条件をつけて絞り込む
12-5 副問合せ
INを用いた副問合せ
EXISTSを用いた副問合せ
12-6 表の定義や行の操作を行うSQL文
表の定義
行の挿入・更新・削除
ビューの定義
更新可能なビュー
12-7 トランザクション管理と排他制御
トランザクションとは処理のかたまり
排他制御とはロックする技
トランザクションに求められるACID特性
ストアドプロシージャ
12-8 データベースの障害管理
コミットとロールバック
データベースを復旧させるロールフォワード
チェックポイント
分散データベースと2相コミット
■■Chapter 13 ネットワーク
13-1 LANとWAN
データを運ぶ通信路の方式とWAN通信技術
LANの接続形態(トポロジー)
現在のLANはイーサネットがスタンダード
イーサネットはCSMA/CD方式でネットワークを監視する
トークンリングとトークンパッシング方式
線がいらない無線LAN
クライアントとサーバ
13-2 プロトコルとパケット
プロトコルとOSI基本参照モデル
なんで「パケット」に分けるのか
ネットワークの伝送速度
13-3 ネットワークを構成する装置
LANの装置とOSI基本参照モデルの関係
NIC(Network Interface Card)
リピータ
ブリッジ
ハブ
ルータ
ゲートウェイ
13-4 データの誤り制御
パリティチェック
水平垂直パリティチェック
CRC(巡回冗長検査)
ハミング符号
ビット誤り率
13-5 TCP/IPを使ったネットワーク
TCP/IPの中核プロトコル
IPアドレスはネットワークの住所なり
グローバルIPアドレスとプライベートIPアドレス
IPアドレスは「ネットワーク部」と「ホスト部」で出来ている
IPアドレスのクラス
ブロードキャスト
サブネットマスクでネットワークを分割する
MACアドレスとIPアドレスは何がちがう?
TCP/IPとパケットヘッダ
MACアドレスとIPアドレスの変換
DHCPは自動設定する仕組み
NATとIPマスカレード
ドメイン名とDNS
ネットワークを診断するプロトコル
ネットワークを管理するプロトコル
13-6 ネットワーク上のサービス
代表的なサービスたち
サービスはポート番号で識別する
13-7 WWW(World Wide Web)
Webサーバに,「くれ」と言って表示する
WebページはHTMLで記述する
URLはファイルの場所を示すパス
Webサーバと外部プログラムを連携させる仕組みがCGI
13-8 電子メール
メールアドレスは,名前@住所なり
メールの宛先には種類がある
電子メールを送信するプロトコル(SMTP)
電子メールを受信するプロトコル(POP)
電子メールを受信するプロトコル(IMAP)
MIME
電子メールは文字化け注意!!
13-9 ビッグデータと人工知能
ビッグデータ
人工知能(AI : Artificial Intelligence)
機械学習
■■Chapter 14 セキュリティ
14-1 ネットワークに潜む脅威
セキュリティマネジメントの3要素
セキュリティポリシ
個人情報保護法とプライバシーマーク
14-2 ユーザ認証とアクセス管理
ユーザ認証の手法
アクセス権の設定
ソーシャルエンジニアリングに気をつけて
不正アクセスの手法と対策
rootkit (ルートキット)
14-3 コンピュータウイルスの脅威
コンピュータウイルスの種類
ウイルス対策ソフトと定義ファイル
ビヘイビア法
ウイルスの予防と感染時の対処
14-4 ネットワークのセキュリティ対策
ファイアウォール
パケットフィルタリング
アプリケーションゲートウェイ
WAF(Web Application Firewall)の設置位置
ペネトレーションテスト
14-5 暗号化技術とディジタル署名
盗聴・改ざん・なりすましの危険
暗号化と復号
盗聴を防ぐ暗号化(共通鍵暗号方式)
盗聴を防ぐ暗号化(公開鍵暗号方式)
改ざんを防ぐディジタル署名
なりすましを防ぐ認証局(CA)
代表的な暗号アルゴリズム
■■Chapter 15 システム開発
15-1 ソフトウェアライフサイクルと共通フレーム
共通フレーム2013のプロセス体系
システム開発のV字モデル
システム開発の調達を行う
開発コストの見積り
15-2 システムの代表的な開発手法
ウォータフォールモデル
プロトタイピングモデル
スパイラルモデル
開発の大まかな流れと対になる組み合わせ
基本計画(要件定義)
設計
プログラミング
テスト
レビュー
CASEツール
プロセス成熟度モデル
15-3 システムの様々な開発手法
RAD(Rapid Application Development)
アジャイルとXP(eXtreme Programming)
リバースエンジニアリング
マッシュアップ
15-4 業務のモデル化
DFD
E-R図
15-5 ユーザインタフェース
CUIとGUI
GUIで使われる部品
画面設計時の留意点
帳票設計時の留意点
ユニバーサルデザイン
ユーザビリティの評価手法
15-6 コード設計と入力のチェック
コード設計のポイント
チェックディジット
コードの種類
入力ミスを判定するチェック方法
15-7 モジュールの分割
モジュールに分ける利点と留意点
モジュールの分割技法
モジュールの独立性を測る尺度
15-8 オブジェクト指向プログラミング
オブジェクト指向の「カプセル化」とは
クラスとインスタンス
クラスには階層構造がある
汎化と特化( is a関係)
集約と分解( part of関係)
多態性(ポリモーフィズム)
15-9 UML(Unified Modeling Language)
UMLのダイアグラム(図)
クラス図
ユースケース図
アクティビティ図
シーケンス図
15-10 テスト
テストの流れ
ブラックボックステストとホワイトボックステスト
テストデータの決めごと
ホワイトボックステストの網羅基準
テスト支援ツール…
トップダウンテストとボトムアップテスト
リグレッションテスト
バグ管理図と信頼度成長曲線
■■Chapter 16 システム構成と故障対策
16-1 コンピュータを働かせるカタチの話
シンクライアントとピアツーピア
3層クライアントサーバシステム
オンライントランザクション処理とバッチ処理
クラスタリングシステム
グリッドコンピューティング
16-2 システムの性能指標
スループットはシステムの仕事量
レスポンスタイムとターンアラウンドタイム
16-3 システムを止めない工夫
デュアルシステム
デュプレックスシステム
16-4 システムの信頼性と稼働率
RASIS(ラシス)
平均故障間隔(MTBF:Mean Time Between Failure)
平均修理時間(MTTR:Mean Time To Repair)
システムの稼働率を考える
直列につながっているシステムの稼働率
並列につながっているシステムの稼働率
「故障しても耐える」という考え方
バスタブ曲線
システムに必要なお金の話
16-5 転ばぬ先のバックアップ
バックアップの方法
■■Chapter 17 システム周りの各種マネジメント
17-1 プロジェクトマネジメント
作業範囲を把握するためのWBS
17-2 スケジュール管理とアローダイアグラム
アローダイアグラムの書き方
全体の日数はどこで見る?
最早結合点時刻と最遅結合点時刻
クリティカルパス
スケジュール短縮のために用いる手法
17-3 ITサービスマネジメント
SLA(Service Level Agreement)
サービスサポート
サービスデスクの組織構造
サービスデリバリ
ファシリティマネジメント
17-4 システム監査
システム監査人と監査の依頼者,被監査部門の関係
システム監査の手順
システムの可監査性
監査報告とフォローアップ
■■Chapter 18 業務改善と分析手法
18-1 PDCAサイクルとデータ整理技法
ブレーンストーミング
バズセッション
KJ法
決定表(デシジョンテーブル)
18-2 グラフ
レーダチャート
ポートフォリオ図
18-3 QC七つ道具と呼ばれる品質管理手法たち
層別
パレート図
散布図
ヒストグラム
管理図
特性要因図
チェックシート
■■Chapter 19 企業と法務
19-1 企業活動と組織のカタチ
代表的な組織形態と特徴
CIOとCEO
19-2 電子商取引(EC:Electronic Commerce)
取引の形態
EDI
カードシステム
19-3 経営戦略と自社のポジショニング
SWOT分析
プロダクトポートフォリオマネジメント(PPM:Product Portfolio Management)
コアコンピタンスとベンチマーキング
19-4 外部企業による労働力の提供
請負と派遣で違う,指揮命令系統
19-5関連法規いろいろ
著作権
産業財産権
法人著作権
著作権の帰属先
製造物責任法(PL法)
労働基準法と労働者派遣法
不正アクセス禁止法
刑法
19-6 費用と利益
費用には「固定費」と「変動費」がある
損益分岐点
変動比率と損益分岐点
19-7 在庫の管理
先入先出法と後入先出法
19-8 財務諸表は企業のフトコロ具合を示す
貸借対照表
損益計算書
過去問に挑戦!
索引
目次
本書の使い方
応用技術者試験とは?
■■Chapter 1 基礎理論(離散数学)
1-1 2進数とn進数
2進数と各基数との関係
基数と桁の重み
n進数と10進数間の基数変換
2進数と8進数・16進数間の基数変換
1-2 2進数の計算と数値表現
2の補数と負の数のあらわし方
固定小数点数
浮動小数点数
よく使われる浮動小数点数
1-3 シフト演算と2進数のかけ算わり算
論理シフト
算術シフト
あふれ(オーバーフロー)
シフト演算を用いたかけ算とわり算
1-4 誤差
けたあふれ誤差
丸め誤差
打切り誤差
けた落ち
情報落ち
1-5 集合と論理演算
集合とベン図
集合演算
式の変形とド・モルガンの法則
命題と論理演算
真理値表
カルノー図法
■■Chapter 2 基礎理論(応用数学)
2-1 思い出しておきたい数値計算たち
平方根(√)
対数(log)
数列の和(Σ)
階乗(n!)
2-2 確率
確率と場合の数
順列と組合せ
確率の基本性質
確率変数と期待値
確率の加法定理と乗法定理
マルコフ過程
2-3 統計
正規分布と標準偏差
2-4 グラフ理論
ノードとエッジ
グラフの種類
グラフのデータ構造
重み付きグラフ
■■Chapter 3 情報に関する理論
3-1 情報量
平均情報量(エントロピー)
3-2 符号化とデータ圧縮
平均情報量で見るデータ量の理論値
ハフマン符号化
ランレングス符号化
3-3 オートマトン
有限オートマトン
正規表現によるパターン表現
3-4 形式言語
文脈自由文法
形式言語の定義って,なぜ必要?
BNF記法(バッカス・ナウア記法)
■■Chapter 4 ディジタルデータのあらわし方
4-1 ビットとバイトとその他の単位
1バイトであらわせる数の範囲
様々な補助単位
4-2 文字の表現方法
文字コード表を見てみよう
文字コードの種類とその特徴
UnicodeとUTF-8
4-3 画像など,マルチメディアデータの表現方法
画像データは点の情報を集めたもの
音声データは単位時間ごとに区切りを作る
■■Chapter 5 コンピュータの回路を知る
5-1 論理回路
代表的な論理回路
フリップフロップ回路
5-2 半加算器と全加算器
半加算器は,どんな理屈で出来ている?
全加算器は,どんな理屈で出来ている?
5-3 ビット操作とマスクパターン
ビットを反転させる
特定のビットを取り出す
5-4 論理回路とLSI
システムLSI
カスタムICとFPGA
5-5 組込みシステムにおけるコンピュータ制御
センサとアクチュエータ
機器の制御方式
■■Chapter 6 CPU(Central Processing Unit)
6-1 CPUとコンピュータの5大装置
5大装置とそれぞれの役割
6-2 ノイマン型コンピュータ
主記憶装置のアドレス
6-3 CPUの命令実行手順とレジスタ
レジスタの種類とそれぞれの役割
命令の実行手順その①「命令の取り出し(フェッチ)」
命令の実行手順その②「命令の解読」
命令の実行手順その③「対象データ(オペランド)読み出し」
命令の実行手順その④「命令実行」
6-4 機械語のアドレス指定方式
即値アドレス指定方式
直接アドレス指定方式
間接アドレス指定方式
インデックス(指標)アドレス指定方式
ベースアドレス指定方式
相対アドレス指定方式
主記憶装置上のバイトオーダ
6-5 CPUの性能指標
クロック周波数は頭の回転速度
1クロックに要する時間
CPI(Clock cycles Per Instruction)
MIPS(Million Instructions Per Second)
命令ミックス
6-6 CPUの高速化技術
パイプライン処理
分岐予測と投機実行
スーパーパイプラインとスーパースカラ
VLIW(Very Long Instruction Word)
CISCとRISC
6-7 並列処理(Parallel Processing)
フリンの分類
マルチプロセッサと主記憶装置
アムダールの法則
■■Chapter 7 メモリ
7-1 メモリの分類
RAMの種類いろいろ
ROMの種類いろいろ
7-2 主記憶装置と高速化手法
キャッシュメモリ
プログラムの局所参照性
主記憶装置への書き込み方式
ヒット率と実効アクセス時間
キャッシュメモリの割り当て方式
メモリインターリーブ
■■Chapter 8 ハードディスクとその他の補助記憶装置
8-1 ハードディスクの構造と記録方法
セクタとトラック
ハードディスクの記憶容量
ファイルはクラスタ単位で記録する
データへのアクセスにかかる時間
8-2 フラグメンテーション
デフラグで再整理
8-3 RAIDはハードディスクの合体技
RAIDの種類とその特徴
8-4 ハードディスク以外の補助記憶装置
光ディスク
光磁気ディスク(MO: Magneto Optical Disk)
磁気テープ
フラッシュメモリ
SSD(Solid State Drive)
■■Chapter 9 バスと入出力デバイス
9-1 バスアーキテクチャ
パラレル(並列)とシリアル(直列)
入出力制御方式
9-2 入出力インタフェース
システムバスのインタフェース
パラレル方式の外部バスインタフェース
シリアル方式の外部バスインタフェース
無線インタフェース
9-3 入出力デバイス
キーボードとポインティングデバイス
読み取り装置とバーコード
ディスプレイの種類と特徴
解像度と,色のあらわし方
VRAM(ビデオRAM)の話
プリンタの種類と特徴
プリンタの性能指標
■■Chapter 10 オペレーティングシステム
10-1 OSの仕事
ソフトウェアの分類
基本ソフトウェアは3種類のプログラム
代表的なOS
ソフトウェアによる自動化(RPA)
10-2 ジョブ管理
ジョブ管理の流れ
スプーリング
10-3 タスク管理
タスクの状態遷移
ディスパッチャとタスクスケジューリング
マルチプログラミング
割込み処理
リアルタイムOS
10-4 タスクの排他/同期制御
排他制御が必要な理由
セマフォ
デッドロック
同期制御とイベントフラグ
タスク間の通信
10-5 実記憶管理
固定区画方式
可変区画方式
フラグメンテーションとメモリコンパクション
オーバーレイ方式
スワッピング方式
10-6 再配置可能プログラムとプログラムの4つの性質
再配置可能(リロケータブル)
再使用可能(リユーザブル)
再入可能(リエントラント)
再帰的(リカーシブ)
10-7 仮想記憶管理
なんで仮想記憶だと自由なの?
実記憶の容量よりも大きなサイズを提供する仕組み
ページング方式
ページの置き換えアルゴリズム
ページングとスワッピング
10-8 UNIX系OS
ファイルシステムの特徴
標準ストリーム
リダイレクションとパイプ
■■Chapter 11 プログラムの作り方
11-1 プログラミング言語とは
代表的な言語とその特徴
11-2 言語プロセッサ
インタプリタとコンパイラ
特殊な言語プロセッサ
11-3 コンパイラ方式でのプログラム実行手順
コンパイラの仕事
コンパイラの最適化手法
リンカの仕事
ローダの仕事
11-4 構造化プログラミング
制御構造として使う3つのお約束
11-5 変数は入れ物として使う箱
たとえばこんな風に使う箱
変数の記憶期間と関数
関数の呼び出しと変数の関係
11-6 アルゴリズムとフローチャート
フローチャートで使う記号
試しに1から10までの合計を求めてみる
11-7 データ構造
配列
リスト
キュー
スタック
スタックと逆ポーランド記法
11-8 木(ツリー)構造
2分木というデータ構造
完全2分木
2分探索木
ヒープ
AVL木
2分木の走査順序
11-9 データを探索するアルゴリズム
線形探索法
2分探索法
ハッシュ法
各アルゴリズムにおける探索回数
11-10 データを整列させるアルゴリズム
基本交換法(バブルソート)
基本選択法(選択ソート)
基本挿入法(挿入ソート)
より高速な整列アルゴリズム
11-11 オーダ記法
各アルゴリズムのオーダ
11-12 再帰法
階乗の計算に見る再帰呼び出しの流れ
■■Chapter 12 データベース
12-1 DBMSと関係データベース
関係データベースは表,行,列で出来ている
表を分ける「正規化」という考え方
関係演算とビュー表
データベースの設計
スキーマ
12-2 主キーと外部キー
主キーは行を特定する鍵のこと
外部キーは表と表とをつなぐ鍵のこと
インデックス
12-3 正規化
非正規形の表は繰り返し部分を持っている
第1正規形の表は繰り返しを除いたカタチ
関数従属と部分関数従属
第2正規形の表は部分関数従属している列を切り出したカタチ
第3正規形の表は主キー以外の列に関数従属している列を切り出したカタチ
12-4 SQLでデータベースを操作する
SELECT文の基本的な書式
特定の列を抽出する(射影)
特定の行を抽出する(選択)
条件を組み合わせて抽出する
その他の条件指定方法
同一データを重複させずに抽出する
表と表を結合する(結合)
データを整列させる
関数を使って集計を行う
データをグループ化する
グループに条件をつけて絞り込む
12-5 副問合せ
INを用いた副問合せ
EXISTSを用いた副問合せ
12-6 表の定義や行の操作を行うSQL文
表の定義
行の挿入・更新・削除
ビューの定義
更新可能なビュー
12-7 トランザクション管理と排他制御
トランザクションとは処理のかたまり
排他制御とはロックする技
トランザクションに求められるACID特性
ストアドプロシージャ
12-8 データベースの障害管理
コミットとロールバック
データベースを復旧させるロールフォワード
チェックポイント
分散データベースと2相コミット
■■Chapter 13 ネットワーク
13-1 LANとWAN
データを運ぶ通信路の方式とWAN通信技術
LANの接続形態(トポロジー)
現在のLANはイーサネットがスタンダード
イーサネットはCSMA/CD方式でネットワークを監視する
トークンリングとトークンパッシング方式
線がいらない無線LAN
クライアントとサーバ
13-2 プロトコルとパケット
プロトコルとOSI基本参照モデル
なんで「パケット」に分けるのか
ネットワークの伝送速度
13-3 ネットワークを構成する装置
LANの装置とOSI基本参照モデルの関係
NIC(Network Interface Card)
リピータ
ブリッジ
ハブ
ルータ
ゲートウェイ
13-4 データの誤り制御
パリティチェック
水平垂直パリティチェック
CRC(巡回冗長検査)
ハミング符号
ビット誤り率
13-5 TCP/IPを使ったネットワーク
TCP/IPの中核プロトコル
IPアドレスはネットワークの住所なり
グローバルIPアドレスとプライベートIPアドレス
IPアドレスは「ネットワーク部」と「ホスト部」で出来ている
IPアドレスのクラス
ブロードキャスト
サブネットマスクでネットワークを分割する
MACアドレスとIPアドレスは何がちがう?
TCP/IPとパケットヘッダ
MACアドレスとIPアドレスの変換
DHCPは自動設定する仕組み
NATとIPマスカレード
ドメイン名とDNS
ネットワークを診断するプロトコル
ネットワークを管理するプロトコル
13-6 ネットワーク上のサービス
代表的なサービスたち
サービスはポート番号で識別する
13-7 WWW(World Wide Web)
Webサーバに,「くれ」と言って表示する
WebページはHTMLで記述する
URLはファイルの場所を示すパス
Webサーバと外部プログラムを連携させる仕組みがCGI
13-8 電子メール
メールアドレスは,名前@住所なり
メールの宛先には種類がある
電子メールを送信するプロトコル(SMTP)
電子メールを受信するプロトコル(POP)
電子メールを受信するプロトコル(IMAP)
MIME
電子メールは文字化け注意!!
13-9 ビッグデータと人工知能
ビッグデータ
人工知能(AI : Artificial Intelligence)
機械学習
■■Chapter 14 セキュリティ
14-1 ネットワークに潜む脅威
セキュリティマネジメントの3要素
セキュリティポリシ
個人情報保護法とプライバシーマーク
14-2 ユーザ認証とアクセス管理
ユーザ認証の手法
アクセス権の設定
ソーシャルエンジニアリングに気をつけて
不正アクセスの手法と対策
rootkit (ルートキット)
14-3 コンピュータウイルスの脅威
コンピュータウイルスの種類
ウイルス対策ソフトと定義ファイル
ビヘイビア法
ウイルスの予防と感染時の対処
14-4 ネットワークのセキュリティ対策
ファイアウォール
パケットフィルタリング
アプリケーションゲートウェイ
WAF(Web Application Firewall)の設置位置
ペネトレーションテスト
14-5 暗号化技術とディジタル署名
盗聴・改ざん・なりすましの危険
暗号化と復号
盗聴を防ぐ暗号化(共通鍵暗号方式)
盗聴を防ぐ暗号化(公開鍵暗号方式)
改ざんを防ぐディジタル署名
なりすましを防ぐ認証局(CA)
代表的な暗号アルゴリズム
■■Chapter 15 システム開発
15-1 ソフトウェアライフサイクルと共通フレーム
共通フレーム2013のプロセス体系
システム開発のV字モデル
システム開発の調達を行う
開発コストの見積り
15-2 システムの代表的な開発手法
ウォータフォールモデル
プロトタイピングモデル
スパイラルモデル
開発の大まかな流れと対になる組み合わせ
基本計画(要件定義)
設計
プログラミング
テスト
レビュー
CASEツール
プロセス成熟度モデル
15-3 システムの様々な開発手法
RAD(Rapid Application Development)
アジャイルとXP(eXtreme Programming)
リバースエンジニアリング
マッシュアップ
15-4 業務のモデル化
DFD
E-R図
15-5 ユーザインタフェース
CUIとGUI
GUIで使われる部品
画面設計時の留意点
帳票設計時の留意点
ユニバーサルデザイン
ユーザビリティの評価手法
15-6 コード設計と入力のチェック
コード設計のポイント
チェックディジット
コードの種類
入力ミスを判定するチェック方法
15-7 モジュールの分割
モジュールに分ける利点と留意点
モジュールの分割技法
モジュールの独立性を測る尺度
15-8 オブジェクト指向プログラミング
オブジェクト指向の「カプセル化」とは
クラスとインスタンス
クラスには階層構造がある
汎化と特化( is a関係)
集約と分解( part of関係)
多態性(ポリモーフィズム)
15-9 UML(Unified Modeling Language)
UMLのダイアグラム(図)
クラス図
ユースケース図
アクティビティ図
シーケンス図
15-10 テスト
テストの流れ
ブラックボックステストとホワイトボックステスト
テストデータの決めごと
ホワイトボックステストの網羅基準
テスト支援ツール…
トップダウンテストとボトムアップテスト
リグレッションテスト
バグ管理図と信頼度成長曲線
■■Chapter 16 システム構成と故障対策
16-1 コンピュータを働かせるカタチの話
シンクライアントとピアツーピア
3層クライアントサーバシステム
オンライントランザクション処理とバッチ処理
クラスタリングシステム
グリッドコンピューティング
16-2 システムの性能指標
スループットはシステムの仕事量
レスポンスタイムとターンアラウンドタイム
16-3 システムを止めない工夫
デュアルシステム
デュプレックスシステム
16-4 システムの信頼性と稼働率
RASIS(ラシス)
平均故障間隔(MTBF:Mean Time Between Failure)
平均修理時間(MTTR:Mean Time To Repair)
システムの稼働率を考える
直列につながっているシステムの稼働率
並列につながっているシステムの稼働率
「故障しても耐える」という考え方
バスタブ曲線
システムに必要なお金の話
16-5 転ばぬ先のバックアップ
バックアップの方法
■■Chapter 17 システム周りの各種マネジメント
17-1 プロジェクトマネジメント
作業範囲を把握するためのWBS
17-2 スケジュール管理とアローダイアグラム
アローダイアグラムの書き方
全体の日数はどこで見る?
最早結合点時刻と最遅結合点時刻
クリティカルパス
スケジュール短縮のために用いる手法
17-3 ITサービスマネジメント
SLA(Service Level Agreement)
サービスサポート
サービスデスクの組織構造
サービスデリバリ
ファシリティマネジメント
17-4 システム監査
システム監査人と監査の依頼者,被監査部門の関係
システム監査の手順
システムの可監査性
監査報告とフォローアップ
■■Chapter 18 業務改善と分析手法
18-1 PDCAサイクルとデータ整理技法
ブレーンストーミング
バズセッション
KJ法
決定表(デシジョンテーブル)
18-2 グラフ
レーダチャート
ポートフォリオ図
18-3 QC七つ道具と呼ばれる品質管理手法たち
層別
パレート図
散布図
ヒストグラム
管理図
特性要因図
チェックシート
■■Chapter 19 企業と法務
19-1 企業活動と組織のカタチ
代表的な組織形態と特徴
CIOとCEO
19-2 電子商取引(EC:Electronic Commerce)
取引の形態
EDI
カードシステム
19-3 経営戦略と自社のポジショニング
SWOT分析
プロダクトポートフォリオマネジメント(PPM:Product Portfolio Management)
コアコンピタンスとベンチマーキング
19-4 外部企業による労働力の提供
請負と派遣で違う,指揮命令系統
19-5関連法規いろいろ
著作権
産業財産権
法人著作権
著作権の帰属先
製造物責任法(PL法)
労働基準法と労働者派遣法
不正アクセス禁止法
刑法
19-6 費用と利益
費用には「固定費」と「変動費」がある
損益分岐点
変動比率と損益分岐点
19-7 在庫の管理
先入先出法と後入先出法
19-8 財務諸表は企業のフトコロ具合を示す
貸借対照表
損益計算書
過去問に挑戦!
索引
著者情報
きたみりゅうじ
きたみりゅうじ
もとはコンピュータプログラマ。本職のかたわらホームページで4コマまんがの連載などを行う。この連載がきっかけで読者の方から書籍イラストをお願いされるようになり、そこからの流れで何故かイラストレーターではなくライターとしても仕事を請負うことになる。
本職とホームページ、ライター稼業など、ワラジが増えるにしたがって睡眠時間が過酷なことになってしまったので、フリーランスとして活動を開始。本人はイラストレーターのつもりながら、「ライターのきたみです」と名乗る自分は何なのだろうと毎日を過ごす。
自身のホームページでは、遅筆ながら現在も4コマまんがを連載中。
平成11年 第二種情報処理技術者取得
平成13年 ソフトウェア開発技術者取得
https://oiio.jp