#author("2018-11-13T12:57:39+00:00","default:admin","admin") #author("2018-11-13T13:05:51+00:00","default:admin","admin") -[[過去問題(第一次試験):https://www.engineer.or.jp/c_categories/index02021.html]] --[[平成28年度:https://www.engineer.or.jp/c_topics/004/attached/attach_4716_7.pdf]] --[[平成27年度:https://www.engineer.or.jp/c_topics/004/attached/attach_4135_7.pdf]] --[[平成26年度:https://www.engineer.or.jp/c_topics/003/attached/attach_3512_7.pdf]] --[[平成25年度:https://www.engineer.or.jp/c_topics/002/attached/attach_2753_7.pdf]] --[[平成24年度:https://www.engineer.or.jp/c_topics/002/attached/attach_2074_6.pdf]] --[[平成23年度:https://www.engineer.or.jp/c_topics/001/attached/attach_1616_6.pdf]] -[[技術士試験(情報工学部門)の解説:http://fast-macro.com/Johokogaku.html]] ... 平成16年度以降の問題と解説が載っている -[[技術士 第一次試験 専門科目(情報工学部門)対策:http://pe.hpeo.jp/entry/pe/1s]] -[[技術士1次試験(情報工学部門)の合格に向けて行ったこと:http://darumaexcel.uijin.com/about_daruma/gizyutushi_1zi.html]] -[[平成26年度 技術士1次試験 - 敏腕の山ちゃんのITと投資のブログ:http://bin-one.jp/blog/2014/10/gijutsushi1ji/]] -[[技術士試験はどう変わる?(2018年の制度変更):http://pe.hpeo.jp/entry/pe/amend2018]] ... 2018年からは、情報処理技術者試験高度試験及び情報処理安全確保支援士合格者に対して、情報工学部門第一次試験専門科目を免除するそうな *選択科目 [#c88199c5] **コンピュータ工学 [#qc51086c] -ディジタル論理 -コンピュータのアーキテクチャ及び構成 -回路設計 -ディジタル信号処理 -オペレーティングシステム -組み込みシステム(設計、実装、評価、保守等) **ソフトウェア工学 [#s2383a90] -要求工学 -ソフトウェアのモデリング及び分析 -ソフトウェアの設計 -構築及び進化 -テスト(理論、検証と確認、自動化等) -ソフトウェアと品質 -ソフトウェアメトリクス -プロジェクトマネジメント **情報システム [#ea1db510] -システム理論 -組織の課題及び解決 -システムライフサイクル -情報システムの設計 -情報システムの運営 -データ管理及びデータベース -人とコンピュータのインタラクション -プログラムマネジメント **情報基盤 [#p00aae13] -ネットワーク通信技術(伝送理論、暗号化等) -ネットワークとシステム管理 -情報セキュリティ -システム統合技術 -基盤の構築及びアーキテクチャ -ウェブシステム及び関連技術 *コンピュータ工学 [#sa64797b] **アルゴリズムと計算量 [#z66e3187] -[[開発新卒に捧ぐ、基本のアルゴリズムと計算量:http://www.techscore.com/blog/2016/08/08/%E9%96%8B%E7%99%BA%E6%96%B0%E5%8D%92%E3%81%AB%E6%8D%A7%E3%81%90%E3%80%81%E5%9F%BA%E6%9C%AC%E3%81%AE%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%E3%81%A8%E8%A8%88%E7%AE%97%E9%87%8F/]] -時間計算量 --コンピュータが特定の手順に従って与えられた問題を解く際に必要とする時間。実際にかかる時間はコンピュータの性能に左右されるため、必要な実行ステップ数(命令数)により表される。これが少ないほど、より短い時間で問題を解くことができる。 -空間計算量(領域計算量) --コンピュータが特定の手順に従って与えられた問題を解く際に必要とする記憶領域の容量。これが少ないほど、より少ないメモリ容量で問題を解くことができる。 ***ソート [#ofe53b6a] -[[ITエンジニアなら知っておきたい、今更聞けないアルゴリズムの種類一覧:http://paiza.hatenablog.com/entry/2015/10/19/IT%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AA%E3%82%89%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E3%80%81%E4%BB%8A%E6%9B%B4%E8%81%9E%E3%81%91%E3%81%AA%E3%81%84%E3%82%A2]] -ソートアルゴリズム --ソートに関しては、O(n log n)より早く処理出来るアルゴリズムは、特定の条件などを除き、存在しないということが証明されている --クイックソート ... 平均計算量は O(n log n)、最悪計算量は O(n^2) --マージソート ... はじめに分解する際に2つに切り分けていくのでO(log n)、並び替えの際に要素の数だけ比較をするのでO(n)かかります。平均・最悪共に計算量は O(n log n) --シェルソート ... 平均計算量はO(n^1.25)、最悪計算量は O(n log n)? O(n ^ 3/2) --バブルソート ... 要素を並び替えるためにn回比較をし、さらに、その比較をすべての要素で行う必要があるので、計算量はO(n^2) --挿入ソート ... データの数だけ挿入する回数が増えるので、計算量はO(n^2) --選択ソート ... 計算量はO(n^2) ***探索 [#uc64895f] -リニアサーチ(線形探索)... データ量の増加に比例して、比較する要素も増えるので、計算量は O(n) -バイナリサーチ(二分探索)... 1回比較を行うごとに探索の範囲が半分になるので計算量は O(log n) --平均の計算量は O(log n) であり、最悪の計算量は O(n) --領域計算量は O(n) ***ハッシュ [#neb016a6] -オープンアドレス法 --[[C言語アルゴリズム-オープンアドレス法:http://capm-network.com/?tag=C%E8%A8%80%E8%AA%9E%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0-%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E6%B3%95]] --[[アルゴリズムとデータ構造編【探索】 第7章 ハッシュ探索②(オープンアドレス法):http://ppp-lab.sakura.ne.jp/ProgrammingPlacePlus/algorithm/search/007.html]] **2の補数 [#l0a3faa2] -[[2の補数についてわかりやすく:http://qiita.com/YamadaTakahito/items/79693ce08cad8baf130b]] **グラフ理論 [#x9c95d41] -[[グラフ理論の用語:http://zellij.hatenablog.com/entry/20110912/p1]] -孤立点 --辺がない点(次数が0の点) -単純閉路グラフ --自分自身と交差していない閉路グラフ -無向完全グラフ --全ての点同士が辺で結ばれているグラフ --頂点の数が n であれば、辺の数は n (n-1)/2 本 **行列 [#l1c7a0a0] -[[行列:http://www.sist.ac.jp/~kanakubo/research/hosoku/gyoretu.html]] -[[【基本】よく出る0度から180度までの三角比の値:http://math.nakaken88.com/textbook/basic-trigonometric-functions-0-180/]] -回転 --x' = x cos θ - y sin θ --y' = x sin θ + y cos θ -平行移動 --x' = x + m --y' = y + n **フリップフロップ [#j2aa3d60] -二進法の基本である1ビットの情報を一時的に"0"または"1"の状態として保持する(記憶する)ことができる論理回路で、順序回路の基本要素 -コンピュータの主記憶装置やキャッシュメモリ、レジスタを構成する基本回路の一つ -組合わせ回路を単なる組合わせ論理を実現する回路としてでなく、入力に対して遅延した出力を入力側へフィードバックすることで情報の保持に用いるところに特徴がある -フリップフロップはその構造上揮発性である。即ち情報は通電中のみ保持され、電源が遮断されると保持していた情報は失われる。 -フリップフロップで構成するRAMをSRAMと呼ぶ ***RS型フリップフロップ [#p511eca7] -[[論理回路:RSフリップフロップ回路:https://toshiba.semicon-storage.com/jp/design-support/e-learning/micro_intro/chap1/1274779.html]] **メモリ領域 [#vc593425] -スタック領域 --CPUのレジスタを一時的に退避していたり、返り値を格納したりする --プリミティブ型データやポインタアドレスを確保 -ヒープ領域 --動的に管理される領域の格納(malloc関数やnew演算子による管理) --必ずポインタアドレスから実態を参照するので、スタック領域に比べて若干速度は落ちる **アドレス指定方式 [#h170200e] -[[アドレス指定方式:http://www.kogures.com/hitoshi/webtext/hs-cpu-address/index.html]] -[[アドレス指定方式:http://mt-net.vis.ne.jp/ADFE_mail/0499.htm]] -直接アドレス方式 ... 命令のアドレス部に格納されている値を実行アドレスとする -間接アドレス方式 ... 命令のアドレス部に格納されている値で示されている番地に実行アドレスが格納されている -指標アドレス方式 ... 命令のアドレス部に格納されている値に、インデックス(指標)レジスタの値を加えた値を実行アドレスとする -基底アドレス方式 ... 命令のアドレス部に格納されている値に、ベースレジスタの値を加えた値を実行アドレスとする -相対アドレス方式 ... 命令のアドレス部に格納されている値に、プログラムカウンタの値を加えた値を実行アドレスとする -即値アドレス方式 ... 命令のアドレス部に格納されている値をオペランドとする。このオペランドは定数として扱われる。 **CPU [#y4166410] -スピンロック --複数のCPUが同期を取るための待ち処理 ***割込み処理 [#n3db6702] -[[ハードウェアの仕組みとソフトウェア処理 ―― マイコンの動作を理解する:http://www.kumikomi.net/archives/2009/11/post_23.php?page=5]] -ビジーウェイト ... 入出力を待つ処理 -割込みは、割込みベクタに割込みハンドラのアドレスを格納し、割込みが発生すると、そのアドレスにジャンプする -割り込みベクタを参照し、割り込みハンドラにアクセスする **プロセッサ [#z6b59b32] -プロセッサ製造時のシリコンに含まれる放射性同位元素を除去することで、誤動作の発生頻度を改善できる -CISCは複雑な操作を実行する命令を処理するためにパイプラインなどの技術を駆使し性能を向上させた技術を確立しており、近年、この技術をフルに利用することでRISCは命令数の追加を行うなど、両者の融合が進み技術的な差は解消しつつある **仮装記憶 [#y0bfbc0f] -スラッシング --仮装記憶装置において、ページインとページアウトを繰り返す現象 --発生要因は、用意される主記憶装置に対し、投入されるプロセスが過大な場合 --主記憶装置を増やすか、プロセスを減らす **Java [#veeddca5] -クラス変数 --「static」つきで宣言 --コンパイル時点で作成される --newでインスタンスが生成されなくても使える --クラスに1つしか存在しない -インスタンス変数 --「static」なしで宣言 --コンパイル時点では作成されない --newでインスタンスが生成されるまで存在しない --生成されたインスタンスごとに存在する *ソフトウェア工学 [#i0d052a3] **UML [#rb3b0ef5] -[[はじめようUML!:https://thinkit.co.jp/series/4720]] -[[UMLまでの道:https://qiita.com/devopsCoordinator/items/7d460008177b318129ea]] ***UMLのダイアグラム [#z27f3004] -構造を表現するダイアグラム --クラス図 ... クラスの構造やクラス間の関係、役割を表現 --オブジェクト図 ... 特定下におけるオブジェクト同士の関係を表現 --コンポジット構造図 ... クラスやコンポーネント等の内部構造と関係を表現 --コンポーネント図 ... ソフトウェアコンポーネントの構成を表現 --配置図 ... ハードウェア、ディレクトリなどどうプログラムを配置するかを表現 --パッケージ図 ... クラスが、どのパッケージにグループ化されているかを表現 --ユースケース図 ... 機能と、利用者や他システムなどの外部との関係を表現 -振る舞いを表現するダイアグラム --シーケンス図 ... 相互作用するオブジェクト間メッセージ送受信を、時間系列で表現 --コミュニケーション図 ... 相互作用するオブジェクト間メッセージ送受信を、オブジェクト間の接続関係に焦点を当てて表現 --タイミング図 ... リアルタイムのような短時間での状態遷移や時間制約、メッセージ送受信などを表現 --相互作用概要図 ... 相互作用図どうしの関係の概要図。シーケンス図、アクティビティ図等で表現 --ステートマシン図 ... 1つのクラスに着目し、そのオブジェクトの生成から破棄までの状態遷移を表現 --アクティビティ図 ... システム(や業務)のアクティビティ、データの流れ、アクティビティ実施の条件分岐などを表現 ***ユースケース図 [#l30bdb92] ***ステートマシン図 [#j819ae14] -[[ステートマシン図の説明&書いてみよう編〜:https://qiita.com/devopsCoordinator/items/289f77fc83813ba7cc76]] -[[ステートマシン図 & 状態遷移表 チュートリアル:http://www.changevision.co/tutorial-statemachine-japanese.html]] -[[状態マシン図(State Machine Diagram):http://www.itsenka.com/contents/development/uml/state_machine.html]] **ソフトウェアテスト [#j56dac00] ***テストカバレッジ [#i6fee369] -[[ソフトウェアテストにおけるカバレッジ(C0/C1/C2):http://replication.hatenablog.com/entry/2016/05/26/071409]] -C0カバレッジ:命令語網羅 -C1カバレッジ:分岐網羅 -C2カバレッジ:複合条件網羅 ***テスト手法 [#z026d5f0] -[[テストの種類と技法:https://qiita.com/ktarow/items/8c3d94d6c21a0c86b799]] -ホワイトボックステスト --[[ホワイトボックステスト~概要、技法、テスト観点について~:https://webrage.jp/techblog/white_box_testing/]] --主に単体テストで用いられる --制御フローテスト --データフローテスト -ブラックボックステスト --ホワイトボックステストを用いた単体テストの後に行う,システムの内部構造を意識しないテストを指す --機能テスト --システムテスト **ソフトウェア品質 [#g1ea8746] ***ソフトウェアの残存不具合数の予測 [#ka6fc220] -指数型分布モデル -探針テスト -遅延S字型モデル -ロジスティック曲線 **プロジェクトマネジメント [#t25b9476] ***ファンクションポイント法 [#l8afed00] -[[ファンクションポイント法の流れ:https://www.yodoq.com/2255.html]] -未調整ファンクションポイント --データファンクション ---ILF(内部論理ファイル) ---EIF(外部インタフェースファイル) --トランザクショナルファンクション ---EI(外部入力) ---EO(外部出力) ---EQ(外部照会) ***EVM (Earned Value Management) [#a3d44544] -プロジェクトマネジメントにおいて、進捗状況の把握・管理を行う手法の一つ -作業の到達度について、EV (Earned Value) という概念によって、コストとスケジュールを管理する -AC (Actual Cost) ... ある時点までに投入した実コスト -EV (Earned Value) ... ある時点までに完了した予算コスト -PV (Planned Value) ... 計画時点で見積もった予算コスト -BAC (Budget at Conpletion) ... 完了までの当初予算 -CPI (Cost Performance Index) ... コスト効率指数。EV / AC。 -SPI (Schedule Performance Index) ... スケジュール効率指数。EV / PV。 -ETC (Estimate To Complete) ... 残作業コスト予測。(BAC-EV) / CPI。 -EAC (Estimate At Completio) ... 完了時コスト予測。AC + ETC。 ***PMBOK [#j36159c7] -[[みんなのプロジェクトマネジメント:http://ksk-2g.hatenablog.jp]] -[[PMBOKの知識エリアとプロセス:https://qiita.com/kenji-yokoi/items/f9509ce3cdda97cae268]] ... 知識エリアとプロセス群の関係がわかる -知識エリア --プロジェクト統合マネジメント ---他の9つの知識エリアを統合する。 ---プロジェクト全体に関わる、キックオフやプロジェクト終結などが含まれる。 --プロジェクト・スコープ・マネジメント ---プロジェクトの作業範囲を定義する。 ---WBSとか、変更管理とか。 --プロジェクト・タイム・マネジメント ---プロジェクトを期間内に終わらせるための方法を定義。 ---スケジュール作成、進捗管理など。 --プロジェクト・コスト・マネジメント ---プロジェクトを予算内で終わらせるための方法を定義。 ---見積もり、EVMなど。 --プロジェクト品質マネジメント ---成果物の品質を確保するための活動を定義。 ---品質計画や、品質チェックなど。 --プロジェクト人的資源マネジメント ---チームメンバに関する活動を定義。 ---チームビルディングやモチベーション、育成など。 --プロジェクト・コミュニケーション・マネジメント ---ステークホルダー(プロジェクトの関係者、スポンサー、ユーザなど)とのコミュニケーションの進め方を定義。 --プロジェクト・リスク・マネジメント ---プロジェクトを進める上で、プラス・マイナスの影響を与える事象を管理する方法を定義する。 --プロジェクト調達マネジメント ---プロダクトを外部から調達するための手順を定義する。 ---RFI、RFP、契約形態など。 --プロジェクト・ステークホルダー・マネジメント ---ステークホルダーを特定し、どのように関わるかを管理する。 -プロセス群 --10個の知識エリアに定められているプロセスは、5つのプロセス群のいずれかに属している。 --すなわち、プロセスをいつ実行するか、5つのプロセス群によって決められている。 --立ち上げ ---プロジェクトの開始に必要な情報を定義するプロセス。 --計画 ---プロジェクトの目標を達成するための作業計画を立案するプロセス。 --実行 ---立案した計画に沿って、プロジェクトを実行するプロセス。 --監視・コントロール ---実施中の作業について、計画と差異が発生していないかをチェックし、必要に応じて差異の是正を行うプロセス。 --終結 ---成果物を納品し、プロジェクトを終結するプロセス。 **ITIL v3 [#v2143d99] -サービス・ライフサイクル --[[ITIL V3における5つのライフサイクル:http://www.itmedia.co.jp/im/articles/0803/17/news126_3.html]] --サービス戦略(Service Strategy) --サービス設計(Service Design) --サービス移行(Service Transition) --サービス運用(Service Operation) --継続的サービス改善(Continual Service Improvement) **規格・定義 [#cc9e2d30] ***JIS X 0001 [#pb7742c6] -システム ... 1つ以上の明記された目的を達成するために編成された相互に影響する要素を組み合わせたもの -情報システム ... 情報処理システムと、これに関連する人的資源、技術的資源、財的資源などの組織上の資源からなり、情報を提供し配布するもの -情報処理システム ... データ処理システム及び装置であって情報処理を行うもの。事務機器、通信装置などを含む。 -応用ソフトウェア ... ある適用業務問題の解決に特有のプログラム -ソフトウェア ... 情報処理システムのプログラム、手続き、規則及び関連文書の全体または一部分 ***JIS X 25010:2013 [#bcf885c1] -[[JIS X 25010:2013 システム及びソフトウェア製品の品質要求及び評価(SQuaRE)-システム及びソフトウェア品質モデル 2013制定:http://www.ny.ics.keio.ac.jp/db/jxjaq0hi.htm]] -有効性 ... 明示された目標を利用者が達成する上での正確さ及び完全さの度合い -効率性 ... 利用者が特定の目標を達成するための正確さ及び完全さに関連して,使用した資源の度合い -満足性 ... 製品又はシステムが明示された利用状況において使用されるとき,利用者ニーズが満足される度合い -使用性 ... 有効性、効率性及び満足性をもって目標を達成するために、利用者が製品又はシステムを利用することができる度合い -信頼性 ... 明示された条件で、システム、製品などが明示された機能を実行できる度合い -保守性 ... 製品やシステムを修正できる有効性や効率性の度合い -機能適合性 ... 明示・暗黙に関わらずニーズを満足させる機能を、製品又はシステムが提供する度合い -互換性 ... 同じハードウェア環境又はソフトウェア環境を共有する間、製品、システム又は構成要素が他の製品、システム又は構成要素の情報を交換することができる度合い、及び/又はその要求された機能を実行することができる度合い。 -セキュリティ ... 人間、製品若しくはシステムが認められた権限に応じたデータアクセスができ、情報及びデータを保護する度合い -性能効率性 ... 明記された状態 (条件) で使用する資源の量に関係する性能の度合 -ユーザインタフェース快美性 ... ユーザインタフェースが,利用者にとって楽しく,満足のいく対話を可能にする度合い -アクセシビリティ ... 製品又はシステムが,明示された利用状況において,明示された目標を達成するために,幅広い範囲の心身特性及び能力の人々によって使用できる度合い ***IEEE Std 830-1998 [#pdbf6b99] -正当性 ... 開発するソフトウェアが満たすべきでない内容が要求仕様に含まれていないこと。関連する他システムの仕様書との整合性の確保も含む。 -検証容易性 ... ソフトウェア製品がその要求を満たしていることをチェックできる、有限で費用効果性のあるプロセスが存在すること -一貫性 ... 要求仕様書内で、一方を実現するともう一方が実現できない要求が存在しないこと -無曖昧性 ... 要求仕様書内のすべての要求に解釈の異なるものがなく、一意である -完全性 ... 要素や抜けがないこと。要求仕様書中の図表のキャプションや相互参照などの形式的な不備がないことも含む。 ***要求仕様が満たすべき性質 [#o583fdc0] -正当性(Correct) ... ソフトウェアが持つべきすべての要求がSRSにふくまれており、それ以外の要求をSRSがふくまないこと -無あいまい性(Unambiguous) ... SRSのすべての要求の意味が一意に識別されること -完全性(Complete) ... SRSが、次をすべて含んでいること --すべての必要な要求 --すべての入力データと状況に関する応答の定義 --用語および図表の説明 -一貫性(Consistent) ... SRSに含まれる要求間で矛盾がないこと -順位付け(Ranked for importance and/or stability) ... 要求が重要性や安定性に関して順位付けられていること -検証容易性(Verifiable;) ... SRSに含まれるすべての要求に対して有限のコストで評価可能な手続きが存在して検証できること -修正容易性(Modifiable) ... 要求の変更に対して、容易かつ完全で一貫性を保ってSRSを修正できるような構造を持つこと -追跡性(Traceable) ... 要求の根拠が明確で、開発工程全体で参照できること **故障解析 [#c4a9d611] -FMEA(Failure Mode and Effects Analysis) --設計の不完全や潜在的な欠点を見出すために構成要素の故障モードとその上位アイテムへの影響を解析する技法 --部品・材料などの故障モードを出発点として、製品の想定外の故障、事故を漏れなく洗い出す「ボトムアップ」の解析ツール -FTA(Fault Tree Analysis) --製品の故障や事故をトップ事象に、中間事象、基本事象と掘り下げ、発生確率を予測し対策する「トップダウン」の解析ツール **CMMI(Capability Maturity Model Integration,能力成熟度モデル統合) [#q66e2256] -[[CMM/CMMIとは:http://www.compita-japan.com/kaisetsu/what-cmmi-1.html]] ***組織習熟度 [#c4f91e59] -Lv.1:初期 --ソフトウェアプロセスは場当たり的、時には混沌としたものと特徴付けられる。ほとんどのプロセスは定義されておらず、成功は個人の努力に依存する。 -Lv.2:反復できる --コスト、スケジュール、機能充足性を確認するために、基本的なプロジェクト管理プロセスが確立されている。同様のアプリケーションのプロジェクトに関しては、以前の成功経験を反復するためのプロセス規律がある。 -Lv.3:定義された --管理およびエンジニアリングの活動に対するソフトウェアプロセスが、「組織の標準ソフトウェアプロセス」として文書化、標準化、そして統合化されている。ソフトウェアの開発と保守において、承認されテーラーリングされたバージョンの「組織の標準ソフトウェアプロセス」をすべてのプロジェクトが使用する。 -Lv.4:管理された --ソフトウェアプロセスおよび成果物品質に関する詳細な計測結果が収集されている。ソフトウェアプロセスも成果物も、定量的に理解され制御される。 -Lv.5:最適化する --革新的なアイディアや技術の試行、およびプロセスからの定量的フィードバックによって、継続的なプロセス改善が可能になっている。 **マンマシンインタフェース [#j99c6200] -フィッツの法則 --ポインタの移動にかかる時間と,ポインタで指し示す対象物の大きさ及び対象物までの距離の関係を示した法則 --関連するボタンの距離は近い方が使いやすく、ボタンのサイズが大きい方が使いやすい -ヒックの法則 --意思決定に必要な時間と,選択肢の個数との関係を示した法則 -ゲシュタルトの法則 --個々の図形の配置と,人間がグループとして認識する図形との関係を示した法則 -フェヒナーの法則 --視覚や聴覚などの感覚器官を通じて感じる感覚と,それらに与える物理的刺激の大きさの関係を示した法則 -ミラーの法則 --人間が一度に記憶できる情報のかたまり(チャンク)の数を示した法則 *情報システム [#c7c62a2e] **データベース [#o0007b3b] ***正規形 [#ec8e479c] -第1正規形 ... フィールドにおいて繰り返しがない -第2正規形 ... 全ての非キーフィールドが主キーに対し完全関数従属となる形式 -第3正規形 ... 第2正規形で、かつ全ての非キーフィールドが推移的に関数従属でいない形式 -関数従属 ... あるフィールドの値が決まると、別のフィールドの値も一意に決まる関係 -完全従属 ... あるフィールドが、主キーに関数従属 -推移従属 ... あるフィールドが、主キー以外のフィールドに関数従属 ***分散型DB [#qbe9ce38] -重要なポイント --分散は透過的である ---ユーザーはそれが1つの論理システムであるかのように対話できる必要がある。これは、性能やアクセス方法など様々な面に適用される。 --トランザクションは透過的である ---各トランザクションは、複数のデータベースに渡って一貫性を保証する必要がある。 ---トランザクションは一般に複数のサブトランザクションに分割され、個々のサブトランザクションは1つのデータベースに対応する。 -利点 --組織構造の反映 ... 企業などの部門ごとにデータベースを置き、それらを統合して分散データベースとすることができる。 --局所自律性 ... 各部門は自身の持つデータを制御できる。 --重要なデータの保護 ... 火事などの災害が発生したとき、データが分散配置されていれば、全部を一度に失うことがない。 --性能向上 ... よく使うデータは近い場所にあり、しかも全体が並列動作するため、データベースの負荷分散が可能である。一部が高負荷になっても分散データベース全体が受ける影響が小さい。 --経済性 ... 巨大な高性能コンピュータよりも、同程度の性能を発揮する小型コンピュータのネットワークの方が安価である。 --モジュール性 ... 分散データベースの他のモジュール(システム)には影響を与えずに、個々のシステムを更新・追加・削除することができる。 --高信頼なトランザクション ... レプリケーションによる -欠点 --複雑さ ... 透過性を保証するため、構築には単純なデータベースよりも技量を要する。接続が切れた際の動作も考慮する必要がある。例えば結合を複数システム間で行う場合、性能低下が予想される。 --コスト ... システムの規模と複雑さが増大するにしたがって、管理コストも増大する。 --セキュリティ ... 個々のサイトのセキュリティを確保し、サイト間のネットワークのセキュリティも確保しないと、全体がセキュアとは言えない。 --完全性の保証の難しさ ... 分散データベースで完全性を保証するには、多大なネットワークリソースを必要とする。 --未成熟な技術 ... 分散データベースは未成熟な分野であり、経験的知識の蓄積が少ない。 --標準の欠如 ... 集中型DBMSを分散型DBMSに変換するためのツールや方法論はまだ存在しない。 --データベース設計の複雑さ ... 通常のデータベース設計に加えて、データを各サイトにどう配置するか、レプリケーションをどうするかなど、設計時に考慮すべきことが増える。 **暗号化 [#q2462057] ***電子証明書 [#k444ecd0] -クライアントがサーバからサーバの(X.509に基づく)電子証明書を受け取ったときに,その電子証明書が正しいことを確認するためにクライアント側で行う手続き(平成27年度 III-18) --サーバの電子証明書の中の[署名値を認証局の公開鍵で復号化した値]と,サーバの電子証明書の中のサーバの公開鍵を [含む部分]をハッシュ関数にかけた値とが同一であることを確認する。 **文字コード [#h9641d9b] -Unicode -CJK統合漢字 -BMP ... 16ビットで表せる範囲内の文字(U+0000〜U+FFFF) -UTF-8 --1文字を1〜6バイトの可変長の数値に変換 -UTF-16 --BMPは2バイト、それ以外は4バイト -UTF-32 --すべての文字は固定長(4バイト)で表現される **sandbox [#x267b411] -コンピュータセキュリティ技術において、 サンドボックス(sandbox)は、外部から受け取ったプログラムを保護された領域で動作させることによってシステムが不正に操作されるのを防ぐセキュリティ機構のことをいう。 -実行されるプログラムは保護された領域に入り、ほかのプログラムやデータなどを操作できない状態にされて動作するため、プログラムが暴走したりウイルスを動作させようとしてもシステムに影響が及ばないようになっている。 ***chroot [#mc92557a] -chrootとは、UNIXオペレーティングシステムにおいて、現在のプロセスとその子プロセス群に対してルートディレクトリを変更する操作である。 -ルートディレクトリを別のディレクトリに変更されたプロセスは、その範囲外のファイルにはアクセスできなくなるため、この操作をchroot監獄などとも呼ぶ。 ***sandboxの他の例 [#e40ca8b2] -Javaアプレット -Adobe Flash -VMwareやMicrosoft Virtual PCなどの仮想マシン **データマイニング [#yaa74a28] -サポートベクタマシン ... クラス予測モデルとして、超平面の内一番近いサンプル点までの距離を最大とする分類学習手法の一種 *情報基盤 [#fa65973d] **TCP/IP [#y3c78820] ***IPv4のTCPパケット [#sb457e33] -TCPヘッダには16ビットのチェックサムフィールドがある -送信ポート番号フィールドと受信ポート番号フィールドは、それぞれ16ビット長 -3ウェイハンドシェイクは、TCPでコネクションを確立するための手順。接続元がSYNビットを1にして送り、接続先がACKビットを1にして返し、もう一度接続元がSYNビットを0、ACKビットを1にしてコネクションを確立する。 -フロー制御において、TCPヘッダのウィンドウフィールドの値を0に設定することで、送信の一時停止を要求する ***IPv6 [#e4fb3e82] -[[インターネット10分講座:IPv6アドレス~技術解説~:https://www.nic.ad.jp/ja/newsletter/No32/090.html]] -IPアドレスは128ビット -“::” は16ビットの0が複数連続していることを示す -“::” は、どこでも使用できるが、省略できるのは1カ所のみ -IPv6アドレスにはプライベートアドレスはない -IPv6アドレスは次の3種類に分類される --ユニキャストアドレス ---単一インタフェースの識別番号で、 ユニキャストアドレス宛のパケットはそのアドレスを持つインタフェースに配送されます。 ユニキャストアドレスに関しては、 「ユニキャストアドレスについて」の章で詳説します。 --エニーキャストアドレス ---インタフェースの集合の識別番号で、 普通は複数の別機器に付与されます。 エニーキャストアドレス宛のパケットは、 そのアドレスを持つ「一番近くにある」機器のインタフェースに配送されます。 エニーキャストアドレスはユニキャストアドレス空間から割り当てられ、 表記上、 エニーキャストアドレスとユニキャストアドレスの区別はつきません。 --マルチキャストアドレス ---インタフェースの集合の識別番号です。 通常は別の機器となります。 マルチキャストアドレス宛のパケットはそのアドレスを持つすべてのインタフェースに配送されます。 -IPv6におけるMTU(最大伝送単位)は1280バイト以上 -通信経路にあるルータや端末などの最小MTUを用いて通信を行うため、通信途中でのパケット分割は行われない **無線通信 [#j2459e87] -以下の2つの問題は、ネットワーク通信の分野において、ALOHAや、CSMA、IEEE 802.11などのプロトコルで発生する有名な問題 -MACプロトコル(媒体アクセス制御)を設計する際には、隠れ端末問題とさらし端末問題、すなわち、いかにコリジョンを回避し、いかにスループットを低下させないか、は必ず考慮すべき重要なテーマとなる。 ***隠れ端末問題 [#e074d8d4] -端末同士が互いの信号の到達範囲外にあることは、それらの端末は隠れ状態にあると表現する -隠れ状態にあるせいで、CSMA/CAの衝突回避の制御を行いながらも衝突が発生してしまう問題 ***さらし端末問題 [#f98f3d0e] -端末(ノード)同士が互いの信号の到達範囲内にある場合は、それらの端末はさらし状態にあると表現する -隣接する端末のデータ通信の影響で、ある端末が他端末へ送信するタイミングが抑制されてしまい、スループットが低下する問題 -さらし端末問題では、あるノードが隣接するノードのデータ通信を傍受してしまったため、他のノードへの送信を抑制されてしまい、結果的にスループット(ネットワークにおける単位時間当りのデータ転送量)が低下してしまうことが問題となる。 ***反射波干渉 [#r7a5ccbc] -フェージング --無線通信において、時間差をもって到達した電波の波長が干渉し合うことによって電波レベルの強弱に影響を与える現象のことである。 --フェージングは、電波が地上の障害物や大気中の電離層などによって反射することによって生じる。あるいは移動体通信においては、送受信する端末そのものが移動することでもフェージングが生じる。時間差を持った波長は合成される際に互いに電波レベルを強めあったり弱めあったりする効果を生む。そのため、AM放送や携帯電話では音声が大きくなったり小さくなったりする現象が頻繁に発生する。 --フェージングを抑えるための方法としては、複数の周波数によって伝送された複数の通信波から、受信状態が良いものを選択して利用する「ダイバーシティ法」などがある。 ***QAM (Quadrature Amplitude Modulatio) [#p7139f6d] -直行する2つの搬送波の振幅と位相によりデータ信号を表す **ネットワークセキュリティ [#l773e4c5] ***脆弱性 [#db2f104d] -クロスサイトリクエストフォージェリ -クロスサイト・スクリプティング -SQLインジェクション -セッションIDのお膳立て -UTF-7を利用したクロスサイト・スクリプティング -ディレクトリ・トラバーサル -OSコマンド・インジェクション -セッションハイジャック -HTTPヘッダ・インジェクション -バッファオーバーフロー -アウトバウンドポート25ブロッキング ***SSL [#i42b7c09] -PKI (Public Key Infrastructure) の仕組みを利用して通信相手の公開鍵の正当性を認証しながら、セッション鍵方式で暗号化通信を行う ***電子証明書 [#q788b7b8] ***DMZ [#a171be51] **RTP(Real-time Transport Protocol) [#e0c123d7] -音声や動画などのデータストリームをリアルタイムに配送するためのデータ通信プロトコル