大分類 | 概要 | 対象物の例 | 分類名 |
主にマシン上の話 | アプリケーション(プログラム本体) | java等 | アプリケーション系 |
フレームワーク | struts等 | ||
アプリサーバ | tomcat等 | - | |
WEBサーバ | apache等 | - | |
DBサーバ | postgres等 | データベースに関するもの | |
仮想マシン的な話 | KVM等 | クラウドや仮想化に関するもの | |
OSや物理的な話 | PCI等 | ハードウェアやOS、周辺機器に関するもの | |
複数マシン間の話 | 冗長化 | postgres等 | 冗長化や負荷分散に関するもの |
NW通信 | FW等 | 通信に関するもの |
スタブ | ソフトウェア開発のときに上位モジュールをテストするときに作られる下位モジュールの代わり |
ドライバ | ソフトウェア開発のときに下位モジュールをテストするときに作られる上位モジュールの代わり |
リファクタリング | プログラムの外部から見た挙動を変えずに、内部に変更を加えること |
RAID | 複数のハードディスクをまとめて1枚のハードディスクとして管理する技術。RAID0~RAID5[または6]まである |
RASIS | Reliability, Availability, Serviceability, Integrity, Securityの頭文字をとっており、コンピュータの信頼性を表す |
フォールトトレラント | 故障に耐える。複数機器を用意、故障した場合は切り替えて使用。 |
フォールトアボイダンス | 故障を避ける。機器の信頼性を高める。 |
フェールセーフ | システムを安全な状態で停止 |
フェールソフト | 故障した場合、正常な部分だけで処理継続 |
フォールバック | 縮退運転。フェールソフトの考え方を元にフォールバックするという使い分け |
フールプルーフ | 単純な操作ミスでの問題発生を防ぐ |
ストレージ | データやプログラムを記憶するための装置のこと。オンラインストレージとかは便利。 |
GRID | ネットワークでコンピュータを仮想的に結ぶことで高性能コンピュータを生み出すもの。関連キーワード:クラウド |
MTBF,MTTR | Mean Time Between Failure(失敗の間の時間→平均故障間隔)。 Mean Time To Repair(修理までの時間→平均修復時間)。ソフトウェアの信頼性を表す指標 |
SPOF | Single Point Of Failure。その箇所が壊れると、システム全体が障害を受ける、いわゆるボトルネックになる箇所のことを指す。 |
スケーラビリティ | システムの利用者や負荷が増大したときにできる拡張の柔軟性を示す。大規模なものに対応できるかなど |
SOA | ervice-Oriented Architecture。サービスの組み合わせでシステム作る |
SQUBOK | ソフトウェア品質 |
REBOK | 要求工学 |
コンパイラ | プログラム言語を機械語に翻訳するもの。 |
インタープリタ | プログラミング言語で書かれたソースを逐語解釈しながら実行するもの。処理遅いが、コンパイル不要。 |
ニーモニック | アセンブラコード。機械語を人間に分かりやすいようにした簡略化した英数字の組み合わせ。 |
オプティマイザ | 最適化処理を行うソフトとその機能。 |
ヒープ領域 | 動的なメモリ確保の領域を指す |
リカーシブコール | 再帰呼び出し。関数などで自分自身を呼び出すこと |
シリアライズ | クラスの情報などをバイナリ列などファイルに保存し、永続的なデータとすること |
サニタイジング | webの入力データから、javascriptやSQLに関する記述を、文字列変換により無効化すること |
スタック | FILO(First In Last Out)のデータ構造。pushで挿入、popで取り出し。 |
ヒープ | 木構造の一つ。 |
木構造 | 上が根(root)、下が葉(leaf)なデータ構造 |
ソート | データを順番に並べ替えること |
二分探索 | ソート済みのデータを探すときなどに中央の値を見て、それより大きいかどうかで探索していく方法。バイナリサーチ |
キュー | FIFO(First In First Out)のデータ構造。enqueueで挿入、dequeueで取り出し。 |
ハッシュ | ハッシュ法もしくは連想配列。データとキー(データを特定するもの)を対応させたもの。 尚、ハッシュ生成に当たって、異なるデータにも関わらず同じハッシュ値を生成してしまうことがある。 これをコリジョンやシノニムと言う。 データとキーの1対1対応を図るための施策として、対象を複数に分割してハッシュ値を取ったり、 データからCRCを生成しハッシュ値とあわせて比較する等の方法がある。こちらも参考にしたい。 |
ハッシュ法 | データをハッシュ値に変えることでデータを探す、データ探索アルゴリズム。 |
待ち行列(M/M/1モデル) | Tr=Tw+Ts Tw=ρ/(1-ρ) ρ=λ/μ Tw=L/λ Tr:平均応答時間、Tw:平均待ち時間、Ts:平均サービス時間、 ρ:利用率、λ:平均到着率(仕事の量,個数)=仕事の回数/時間、 μ:平均サービス量(仕事のスピード)<=>1/μ:サービス率(単位時間に処理したサービス件数)、 L:平均待ち行列長とする。 |
待ち行列(M/M/s/sモデル) | 到着率=到着件数/時間,サービス率=処理件数/時間。ちなみにsは窓口数を表している。 |
エントロピー | ある事象が起きたときのその事象の起こりにくさ |
逆ポーランド記法 | 演算数、被演算数、演算子の順に数式を記述する形式 |
丸め誤差 | 桁数の切り上げ、切捨てによる誤差 |
情報落ち | 絶対値が非常に大きい値と小さい値で計算した場合、小さい値が無視されること |
けた落ち | 引き算による有効けた数の減少 |
打ち切り誤差 | 循環小数等計算を打ち切ることによる誤差 |
スーパースカラ | パイプラインによる複数命令の同時実行を可能にすることで高速化を図る |
VLIW | 1つの命令で複数命令を同時に実行することで高速化を図る |
言語 | java | javascript | python | php |
パッケージ管理 | maven,ant,gradle等 | npm,bower等 | pip(virtual env) | phing |
タスクランナー(ビルド等を助ける) | npmscript,gulp,grunt | |||
単体テスト | junit | mocha,jasmine,jest | unittest | |
自動テスト | jenkins | |||
フレームワーク | Struts,JSF,DIコンテナ[spring,seasar2] |
angular,jquery,react,vue | javascriptで動的にhtml等を生成を助けるライブラリ |
bootstrap,onsenui,skeleton | 良いCSSデザインを楽に作れるフレームワーク。CSSを一から作成しないで済む |
webpack | 複数のjavascriptを一つにまとめてくれたりするモジュール版ドラー |
pmd-cmd | ソースコード中の重複部分を表示してくれる |
git,subversion | ソースコード管理 |
qt | 複数のOSに対応したマルチプラットフォームのアプリケーション開発を実現するもの。 |
Elastic search | NoSQLのDBに近い。RestAPIを使って管理できる辺りは違いとなる |
nagios,zabbix | 監視サーバー |
terraform,Cloudify,Heat | 環境構築ツール |
docker | コンテナ。ホストマシンのカーネルを利用し、プロセスやユーザなどを隔離することで、あたかも別のマシンが動いているかのように動かす |
kubernetes | コンテナ管理ツール |
データセット | データベースなどにおいてデータ構造を持ったデータのセット |
データマッピング | 異なるデータ間の関連づけ |
スキーマ | データベースの構造 |
2層コミット | 分散データベースシステムにおいて、複数サイトの整合性を取るために全てのサイトからの更新可能応答を確認してから更新処理を行う方式。 |
ストアドプロシージャ | データベースへの処理を1つのプログラムにまとめることで、ネットワークのトラッフィックを削減すること。 |
コミット | トランザクション終了確定。ログファイルの更新等。 |
チェックポイント | データベースを更新するタイミング |
ロールフォワード | バックアップファイルの回復後にログファイルの更新後イメージを用いてより最新の状態を回復すること。 過去のバックアップの状態から徐々に未来に向かってログファイルで更新するあたりがフォワード。 |
ロールバック | 途中でトランザクションが異常終了した場合に更新前ファイルを用いてトランザクション実行前の状態に戻すこと。過去の状態に戻すあたりがバック |
2相コミットメント | 分散データベースシステムにおいて、複数サイトの整合性を取るために全てのサイトからの更新可能応答を確認してから更新処理を行う方式。 |
デッドロック | お互いのプロセスがお互いのプロセスからの処理が終わるのを待ち続けて、両方のプロセスが進行しない状態 |
CouchDB,mongo DB | ドキュメント志向データベース(no sql) |
DBUnit | データベースを試験するためのフレームワーク |
分散KVS(key value store) | keyとvalueを対応づけるNoSQLなデータベース環境。負荷分散等が容易になるが、ACID特性の維持は苦手 |
KVM | サーバー仮想化テクノロジー。カーネル上にKVMモジュールを読み込むことで仮想化している。 |
kemari | フォールトトレラントを実現するための仮想マシン技術 |
VM-Ware,Xen,Hyper-v | ハイパーバイザ方式の仮想化技術 |
Openstack | クラスタリングを用いてクラウドコンピューティングを実現するためのシステム |
CBoc | NTT版クラウドサービス |
Encalypus | クラスタリングを用いてクラウドコンピューティングを実現するためのシステム |
Docker | コンテナ型で仮想化環境を提供するもの |
チップセット | バス(CPUやRAM等のデータをやり取りする経路)を制御するもの |
PCIスロット | 拡張バスとして使え、つないだPCIカードとマザーボード間でデータのやり取りができる。PCの拡張用スロット。 |
シリアルATA | PCとハードディスクなどを結ぶ企画の一つで、シリアル転送方式のケーブル等がある |
RS232C | PCと周辺機器を接続するためのシリアル方式インタフェース |
SCSI(スカジー) | ハードディスク接続インターフェース規格 |
カーネル | OSのベース。ハードとソフト間の抽象化を行う。プロセス管理やファイルシステムなどのデバイス管理もカーネルの機能の一つ。 |
シェル | プログラムの起動や制御を行う。ユーザーからのコマンドをカーネルが分かるように伝達する |
ノイマン型コンピュータ | プログラムをメモリに記憶し、命令を順次実行していくコンピュータ |
スループット | 単位時間あたりの処理能力 |
キャッシュ | 頻繁に使用するデータを保存する記憶装置。これにより高速化をはかることができる。 |
クロック周波数 | コンピュータ内部で回路が同期を取るテンポ |
ムーアの法則 | 半導体の集積密度は18~24ヶ月で倍になるという経験則 |
RAM | RandomAccessMemory。メインメモリで、電源を切ると内容が消える。読み書き可能 |
ROM | ReadOnlyMemory。内容は読み専用で書き込みはできない |
DRAM | SRAMに対して回路が単純で安価。記憶保持にダイナミックにリフレッシュを行う。主に主記憶に使われる |
SRAM | 高コストだが高速。リフレッシュは必要ないが、小容量。主にキャッシュメモリに使われる |
デーモン | UNIX系OSでバックグラウンドにおいてサービスを提供するプロセス・プログラムのこと |
クーロン | Linuxなどで、定期的にプログラムを実行する仕組み |
半加算器 | AND回路とXOR回路を組み合わせたもの。これを二つ組み合わせることで加算を再現できる |
RISC | 制御命令を減らして単純な加算減算の処理を増やしたもの。ハードウェアで制御ユニットを構成することにより、高速化を図っている |
CISC | 豊富なアドレッシング機能を備えている |
アーキテクチャ | プログラマから見たハードウェアの属性 |
ダイレクトマップ方式 | キャッシュのブロック格納方式の1つ。 主メモリの各ラインがキャッシュのどの部分に入るか事前に決まっている方式。 アドレスにより一意に配置が決まるため、タグの構造が単純。 一つのメモリブロックをキャッシュ内の単一のロケーションに割り当てる。 |
フルアソシアティブ方式 | キャッシュのブロック格納方式の1つ。全てのラインが検索対象となるためキャッシュ内のどこにおいても良い方式。 メモリブロックをキャッシュ内の任意のロケーションに割り当てる。 |
セットアソシアティブ方式 | 各ラインの置かれる場所はセットに限定されるが、その集合内ならどこにおいても良い方式。 メモリブロックをキャッシュ内の二つ以上の配置可能なロケーションに割り当てる。 |
LRU | 各ブロックへのアクセスを記録し、最も長時間アクセスの無いブロックを追い出すこと |
プリエンプティブマルチタスク | 一定時間でアプリケーションに対してCPU使用権限を切り替える形式。マルチタスクの名の通り、複数の処理をこなす。 プリエンプティブとはOSがCPU使用の制御をすることでノンプリエンプティブはアプリケーションがCPU使用を制御すること |
メモリインタリーブ | メインメモリを複数のメモリバンクに分けることでメモリ領域のアクセスを高速化する方式 |
ライトスルー方式 | メインメモリと同時にキャッシュに書き込む |
ライトバック方式 | 処理の空き時間が出来てからメインメモリーに書き込む |
仮想記憶 | メモリ管理手法。実装されている主記憶の容量よりもはるかに大きな論理アドレス空間を提供する仕組み。 不連続なメモリ領域をプロセスなどから見て連続的に見せる。ページング方式とセグメント方式がある。 |
ページング | 仮想記憶方式の一つ。ページという単位に主記憶とプログラムを分割して効率良い管理を行う。 |
ページフォルト | プログラムが主記憶(物理メモリ)にマップされていない仮想ページにアクセスしたときに起こる割り込み |
スワップアウト | メモリが足りなくなったときに、物理メモリをあけるためハードディスクに書き出すこと。 |
スラッシング | 物理メモリが不足し、ハードディスクの入出力が頻繁になり、処理がそれらに集中してしまった状態 |
スプーリング | 磁気ディスクを入出力装置としてCPUとデータのやり取りを行うこと。 |
ブロック | ディスクにおけるデータの格納単位 |
セクタ | ディスクのデータの読み書きの最少単位 |
トラック | 同心円状にセクタが集まったもの |
シリンダ | 中心から同じ位置にあるトラックの集まり |
クラスタ | いくつかのセクタをまとめたもの |
RJ45 | コネクタ形状の一種で、Ethernetケーブル等をつなぐ際に使用する。 |
solaris | BSD系のOS |
meego | Linuxベースの携帯向けOS |
フェールオーバー | サーバが障害などで停止した際に代替サーバに引き継ぐこと。 |
レプリケーション | 高可用性を実現するために、サーバーやデータを複製しておくこと。 |
DRBD | リアルタイムにバックアップを取って、フェールオーバ等に備える |
ステートフルとステートレス | ステートフルとはサーバ等のやり取りの状態を記憶している。ステートレスはやり取りの状態を記憶していない。 |
スケールアウト | サーバ台数を増やすことによって、処理向上を図ること |
mapreduce | クラスター上で分散コンピューティングを実現するためのフレームワーク。 mapというデータを分割する処理とreduceというデータをまとめて結果を取得するフェーズがある。 |
hadoop | mapreduceに影響されて、yahooが作ったとされる分散コンピューティングを実現するフレームワーク |
HDFS | Hadoopの分散ストレージのこと |
PaceMaker | アプリケーションの監視・制御が可能で、フェイルオーバー等を柔軟に実施できる |
ultra monkey | ハードウェアとしてロードバランサを用意するのでなく、パソコンの中にロードバランサを設けるイメージ |
LVS&keepalive | Linuxをロードバランサーとして動作させるソフトウェア |
ターンアラウンドタイム | システムに要求を行ってから結果が返るまでの時間 |
レスポンスタイム | システムが入力を受け取ってから、反応までにかかる時間 |
ベーシック手順 | 伝送制御手順。ホストコンピュータと端末との通信を想定。文字符号を伝送する。誤り検出にはパリティチェック方式を使用。 |
HDLC | 伝送制御手順。高速高品質な大容量通信プロトコル。任意のビットパターンの転送可能。誤り検出にはCRC方式を採用。 |
CSMA/CD方式 | データの送信権は早いもの勝ち。 コリジョン(信号の衝突)が発生することがある。 コリジョンが見つかった場合はパケットを再送する。 スイッチングハブだとコリジョンは発生しないので、CSMA/CD方式でなくこちらを使うケースが多い。 |
CSMA/CA方式 | 無線LAN用の通信プロトコル。 |
トークンパッシング | トークンが自分のノードに来た時のみデータ送信可能 |
ACID特性 | トランザクション処理の特性。原子性(Atomicity),一貫性(Consistency),独立性(Isolation),耐久性(Durability)の頭文字をとっている。 |
パリティチェック | 0と1の2進数符号に垂直または水平方向に1ビット付加し、1の個数が偶数または奇数になることにより誤り検出をする方式 |
CRC形式 | 生成多項式による助産の余りを検出用の冗長ビットとして付加。誤りを検出する方式。 |
ハミング符号 | 情報ビットに冗長ビットを付加する方式。2ビットの誤り検出と1ビットの誤り訂正ができる。 |
リトルエンディアン、ビッグエンディアン | データを送信する際に最下位のバイトから送信することをリトルエンディアン。最上位から送信することをビッグエンディアンと言う |
シンクライアント | クライアント端末の処理を最小限(thin)にして、処理をサーバー側に集中させるシステムのこと |
IPS,IDS | 不正侵入等を検知するためのシステム |
WAF | Webアプリケーション(HTTP,HTTPS)の脆弱性を悪用した攻撃など(SQLインジェクション等)から守るFirewall。 |
URI | http://で始まるWebページの場所を示すことで有名なURLも包含する仕組み。URIではfile://等の別のプロトコルの指定や、//で始まるUNCパス等も含んでいる。 |
KJ法、オプション思考、何故何故5回、ロジックツリー(決定木分析)、回帰分析、演繹法、帰納法 | 問題分析 |
ECRS | ECRS |
IDEAL | プロセス改善の典型的パターンを開始(initiating)、診断(diagnosing)、確立(establishing)、行動(acting)、学習(learning)の5つのフェイズに分けて表現したもの |
SECIモデル | SECIモデル |
ファンクションポイント法、デルファイ法、EVM、COCOMOなど | 見積もり手法 |
QC7つ道具、新QC7つ道具 | QC7つ道具 |
ウォークスルー、インスペクション、ラウンドロビン | レビューの仕方 |
PIマトリックス | PIマトリックス |
TRM、RACI図 | 人員管理 |
WBS、ガントチャート、PERT図 | 進捗管理 |
CMMI | CMMI |
ゲーム理論 | ゲーム理論 |
OC曲線 | 検査特性曲線。抜き取り検査でのロットの不良率と検査合格率の関係性を示したグラフ |
サンプリング | 標本化。アナログ波形をデジタル化する処理。正弦波の周期の1/2よりも小さい値だと標本化できる(標本化定理) |
正規化 | ベクトル空間において1のベクトルにすることや基準を統一することを指す。意味合いはさまざま |
エイリアシング | ナイキスト周波数(サンプリング周波数の1/2)よりも信号が大きいときにおこる折り返し現象 |
オーバーヘッド | 何らかの処理に対してかかる負荷・無駄 |
ターミナルエミュレータ | 端末として機能するソフトウェア |
SVM | http://www.neuro.sfc.keio.ac.jp/~masato/study/SVM/index.htmが参考になりそう |
スクレイピング | サイト等から必要な情報だけを抽出すること |
ライブマイグレーション | 仮想サーバで稼動しているOSやソフトウェアを停止することなく、別の物理サーバへ移す技術 |
inode | ファイルのリンクみたいな物。unixファイルシステム系において、ファイルはそれぞれinode番号を持っている。 |
solr,senna | 全文検索エンジン |
amanda | バックアップソフトウェア |
セマンティックweb | web上のデータにタグをつけて意味付けし、単なるデータではなく、データレベルでの検索を可能にするようなweb |
ORマッピング | リレーショナルデータベースのレコードとオブジェクトを対応づけることでデータベースを扱いやすくする。Hibernate等がある。 |
netcommons | 国立情報研究所が中心となって形成しているCMS。アンケートや質問サイトが簡単にできる。 |
moodle | イーラーニング用のOSS |
wordpress | ブログが簡単にできる。CMSより |
XOOPS Cube | ユーザ参加型サイトを簡単に作れる |
openid oauth | シングルサインオン。OpenIDが誰かを特定する認証部分で、oAuthが許可部分(アクセストークンを与える) |
restfulAPI | http://xxx/リソース名等、URIの形で情報のやり取りを行えるようにするAPIのこと。HTTPメソッドがPOSTなら追加、PUTなら更新、DELETEなら削除、GETなら情報取得のようにする。URIアクセス時のデータ形式は主にJSON等を扱う |
Elastic Search | restfulAPI型の全文検索。 |