| コンピュータサイエンス |
|---|
このコンピュータ サイエンスの用語集は、ソフトウェア、データ サイエンス、コンピュータ プログラミングに関連する用語を含む、コンピュータ サイエンス、そのサブ分野、関連分野で使用される用語と概念の定義の一覧です。
あ
- 抽象データ型(ADT)
- データ型の数学的モデル。データ型は、データの利用者の視点から、その動作(セマンティクス)によって定義されます。具体的には、取り得る値、その型のデータに対する可能な操作、そしてそれらの操作の挙動について定義されます。これは、利用者ではなく実装者の視点からデータを具体的に表現するデータ構造とは対照的です。
- 抽象メソッド
- シグネチャのみを持ち、実装本体を持たないメソッド。サブクラスがメソッドの実装を提供しなければならないことを指定するためによく使用されます。抽象メソッドは、一部のコンピュータ言語においてインターフェースを指定するために使用されます。[ 1 ]
- 抽象化
- 1.ソフトウェア工学とコンピュータサイエンスにおいて、オブジェクトやシステムの研究において、物理的、空間的、時間的な詳細[ 2 ]または属性を削除して、他の関心のある詳細に注意を払うプロセス。 [ 3 ]また、一般化のプロセスと性質が非常によく似ています。
- 2. このプロセスの結果:抽象的な概念、つまり様々な具体的な対象や研究体系に共通の特徴や属性を持たせることで作成されたオブジェクト。 [ 3 ]
- エージェントアーキテクチャ
- ソフトウェアエージェントおよびインテリジェント制御システムのコンポーネント配置を描いた青写真。インテリジェントエージェントによって実装されるアーキテクチャは、認知アーキテクチャと呼ばれる。[ 4 ]
- エージェントベースモデル(ABM)
- 自律エージェント(個体、または組織やグループなどの集団)の行動と相互作用をシミュレートし、それらがシステム全体に与える影響を評価するための計算モデルの一種。ゲーム理論、複雑系、創発、計算社会学、マルチエージェントシステム、進化計画法の要素を組み合わせたもの。ランダム性の導入にはモンテカルロ法が用いられる。
- 集計関数
- データベース管理において、複数の行の値をグループ化して、合計、カウント、最大値などのより重要な意味または測定値を持つ単一の値を形成する機能。 [ 5 ]
- アジャイルソフトウェア開発
- 自己組織化され機能横断的なチームとその顧客/エンドユーザーの共同作業を通じて要件とソリューションが進化するソフトウェア開発のアプローチ。[ 6 ]適応型計画、進化型開発、早期提供、継続的な改善を提唱し、変化への迅速かつ柔軟な対応を奨励します。[ 7 ]
- アルゴリズム
- ある種の問題を解決する方法を明確に規定したもの。アルゴリズムは、計算、データ処理、自動推論といったタスクを実行できる。コンピューティング技術において広く用いられている。
- アルゴリズム設計
- 問題解決やアルゴリズム工学のための手法、あるいは数学的プロセス。アルゴリズムの設計は、動的計画法や分割統治法など、オペレーションズ・リサーチの多くの解決理論の一部である。アルゴリズム設計の設計と実装のための手法は、アルゴリズム設計パターンとも呼ばれ、[ 8 ]テンプレートメソッドパターンやデコレータパターンなどである。
- アルゴリズムの効率
- アルゴリズムが使用する計算リソースの数に関連するアルゴリズムの特性。アルゴリズムはリソース使用量を決定するために分析する必要があり、アルゴリズムの効率は様々なリソースの使用量に基づいて測定できます。アルゴリズムの効率は、反復的または継続的なプロセスにおけるエンジニアリング生産性に類似したものと考えることができます。
- アメリカ標準情報交換コード(ASCII)
- 電子通信における文字エンコード規格。ASCIIコードは、コンピュータ、通信機器、その他のデバイスでテキストを表します。現代の文字エンコード方式のほとんどはASCIIに基づいていますが、多くの追加文字をサポートしています。
- アプリケーション プログラミング インターフェース(API)
- ソフトウェア構築のためのサブルーチン定義、通信プロトコル、およびツールのセット。一般的には、様々なコンポーネント間の通信方法を明確に定義したセットです。優れたAPIは、プログラマーが組み立てるすべての構成要素を提供することで、コンピュータプログラムの開発を容易にします。
- アプリケーションソフトウェア
- ユーザーの利益のために、一連の調整された機能、タスク、またはアクティビティを実行するように設計されたコンピュータソフトウェア。アプリケーションの一般的な例としては、ワードプロセッサ、スプレッドシート、会計アプリケーション、ウェブブラウザ、メディアプレーヤー、航空飛行シミュレータ、コンソールゲーム、写真編集ソフトなどが挙げられます。これは、ユーザーからの直接入力なしに、コンピュータの最も基本的な実行操作の管理を主に行うシステムソフトウェアとは対照的です。総称「アプリケーションソフトウェア」は、すべてのアプリケーションを総称して指します。 [ 9 ]
- 配列データ構造
- 要素(値または変数)の集合からなるデータ構造。各要素は少なくとも1つの配列インデックスまたはキーによって識別されます。配列は、各要素の位置をインデックスタプルから数式で計算できるように格納されます。[ 10 ] [ 11 ] [ 12 ]最も単純なデータ構造は線形配列(1次元配列とも呼ばれます)です。
- アーチファクト
- ソフトウェア開発中に生成される様々な具体的な副産物の一つ。ユースケース、クラス図、その他の統一モデリング言語(UML)モデル、要件定義書、設計書など、一部の成果物はソフトウェアの機能、アーキテクチャ、設計を記述するのに役立ちます。また、プロジェクト計画、ビジネスケース、リスク評価など、開発プロセスそのものに関係する成果物もあります。
- 人工知能(AI)
- 人間や他の動物が示す自然知能とは対照的に、機械が示す知能。コンピュータサイエンスにおいて、AI研究は「インテリジェントエージェント」の研究と定義される。インテリジェントエージェントとは、環境を認識し、目標達成の可能性を最大化する行動をとることができる装置である。[ 13 ]口語的には、「人工知能」という用語は、人間が他の人間の知能と関連付ける「認知」機能、例えば「学習」や「問題解決」を機械が模倣する場合に用いられる。 [ 14 ]
- アスキー
- 「American Standard Code for Information Interchange」を参照してください。
- 主張
- コンピュータプログラミングにおいて、述語(ブール値関数、つまり真偽式)がコード実行のその時点で常に真であるとする記述。これは、プログラマがコードを読みやすくしたり、コンパイラがコンパイルしやすくしたり、プログラム自身の欠陥を検出したりするのに役立ちます。後者の場合、一部のプログラムは実行時に述語を実際に評価することでアサーションをチェックし、それが実際には真でない場合(アサーション失敗)、プログラムは自身に欠陥があるとみなし、通常は意図的にクラッシュするか、アサーション失敗例外をスローします。
- 連想配列
- 連想配列、マップ、シンボルテーブル、または辞書は、キーと値のペアの集合で構成される抽象データ型であり、各キーは集合内に最大で1回出現する。このデータ型に関連付けられた操作により、以下の操作が可能となる。[ 15 ] [ 16 ]
- コレクションへのペアの追加
- コレクションからのペアの削除
- 既存のペアの変更
- 特定のキーに関連付けられた値の検索
- オートマトン理論
- 抽象機械とオートマトン、そしてそれらを用いて解ける計算問題の研究。理論計算機科学と離散数学(数学と計算機科学の両方の研究分野)における理論である。
- 自動推論
- コンピュータサイエンスと数理論理学の一分野。推論の様々な側面を理解することを専門とする。自動推論の研究は、コンピュータが完全に、あるいはほぼ完全に自動的に推論できるコンピュータプログラムの開発に役立つ。自動推論は人工知能の一分野と考えられているが、理論計算機科学、さらには哲学とも関連がある。
B
- 帯域幅
- 特定のパスを介したデータ転送の最大速度。帯域幅は、ネットワーク帯域幅[ 17 ] 、データ帯域幅[ 18 ]、またはデジタル帯域幅として特徴付けられる場合があります。[ 19 ] [ 20 ]
- ベイズ計画法
- 必要な情報が少ない場合に確率モデルを指定して問題を解決するための手法を持つ形式主義と方法論。
- ベンチマーク
- コンピュータプログラム、プログラムセット、またはその他の操作を実行して、オブジェクトの相対的なパフォーマンスを評価する行為。通常は、それに対していくつかの標準的なテストと試行を実行することによって行われます。 [ 21 ]ベンチマークという用語は、精巧に設計されたベンチマークプログラム自体の目的でもよく使用されます。
- 最良、最悪、平均の場合
- 与えられたアルゴリズムにおけるリソース使用量がそれぞれ、最小、最大、平均で何であるかを表す式。通常、考慮されるリソースは実行時間、すなわち時間計算量ですが、メモリやその他のリソースである場合もあります。最良のケースとは、 n要素の入力データに対して最小数のステップを実行する関数です。最悪のケースとは、サイズnの入力データに対して最大数のステップを実行する関数です。平均的なケースとは、 n要素の入力データに対して平均的な数のステップを実行する関数です。
- ビッグデータ
- 従来のデータ処理アプリケーションソフトウェアでは適切に処理できないほど大きすぎたり複雑すぎたりするデータセットを指す用語。ケース(行)数が多いデータは統計的検出力が高くなるが、複雑なデータ(属性や列が多いデータ)は偽陽性率が高くなる可能性がある。[ 22 ]
- ビッグオー記法
- 関数の引数が特定の値または無限大に向かう際の極限挙動を記述する数学表記法。ポール・バッハマン[ 23 ]、エドモンド・ランダウ[ 24 ]らによって考案された一連の表記法の一つであり、総称してバッハマン・ランダウ表記法または漸近表記法と呼ばれる。
- 2進数
- 数学とデジタル エレクトロニクスでは、 2 進数または 2 進数システムで表現される数値で、通常は0 (ゼロ)と1 (ワン)の 2 つの記号のみを使用します。
- 二分探索アルゴリズム
- ソートされた配列内の目的の値の位置を見つける検索アルゴリズム。[ 28 ]
- 二分木
- 各ノードが 最大2つの子ノードを持つツリーデータ構造。左の子と集合論のだけを用いた再帰的な定義は、(空でない)二分木は組(L、S、R)であり、LとRは二分木または空集合、Sは単集合。 [ 29 ]一部の著者は二分木が空集合であることを認めている。 [ 30 ]
- バイオインフォマティクス
- 生物学、コンピュータサイエンス、情報工学、数学、統計学を融合し、生物学的データの分析と解釈のための手法とソフトウェアツールを開発する学際分野。バイオインフォマティクスは、数学的・統計的手法を用いた生物学的クエリのin silico解析に広く利用されています。
- 少し
- コンピューティングとデジタル通信で使用される情報の基本単位。「binary digit (2進数) 」を組み合わせた造語。2進数は2つの値のいずれかを取り、物理的には2状態デバイスで表現される。これらの状態値は、通常、0または1で表される。[ 31 ]
- ビットレート(R)
- 電気通信とコンピューターにおいて、単位時間あたりに伝送または処理されるビットの数。 [ 32 ]
- ブラックリスト
- コンピューティングにおいて、禁止要素のリストに明示的に記載されているものを除き、すべての要素(メールアドレス、ユーザー名、パスワード、URL、IPアドレス、ドメイン名、ファイルハッシュなど)の通過を許可する基本的なアクセス制御メカニズム。リストに記載されている項目はアクセスを拒否されます。反対にホワイトリストは、使用されているゲートに関係なく、リストに記載されている項目のみが通過を許可され、それ以外の要素はすべてブロックされます。グレーリストには、追加の手順が実行されるまで一時的にブロックされる(または一時的に許可される)項目が含まれます。
- BMPファイル形式
- ラスターグラフィック画像ファイル形式の一つで、ビットマップデジタル画像をディスプレイデバイス(グラフィックアダプタなど)から独立して保存するために使用される。特にMicrosoft Windows [ 33 ]やOS/2 [ 34 ]オペレーティングシステムで使用される。
- ブールデータ型
- 2つの可能な値(通常はtrueとfalseで表記される)のいずれかを持つデータ型で、論理とブール代数の2つの真理値を表すことを目的としています。19世紀半ばに代数論理体系を初めて定義したジョージ・ブールにちなんで名付けられました。ブールデータ型は主に条件文に関連付けられており、プログラマが指定したブール条件が真か偽かによって制御フローを変更することで、異なるアクションを可能にします。 [ 35 ]これは、より一般的な論理データ型(命題論理を参照)の特殊なケースであり、つまり、論理は必ずしもブールである必要はありません。
- ブール式
- プログラミング言語で使用される式で、評価されるとtrueまたはfalseのいずれかのブール値を返します。ブール式は、ブール定数trueまたはfalse、ブール型変数、ブール値演算子、ブール値関数の組み合わせで構成できます。[ 36 ]
- ブール代数
- 数学および数理論理学において、変数の値が真理値trueとfalseであり、通常それぞれ 1 と 0 と表記される代数の一分野。変数の値が数値であり、主要な演算が加算と乗算である初等代数とは対照的に、ブール代数の主な演算は、論理積 and (∧ と表記)、選言 or (∨ と表記)、および否定 not (¬ と表記) である。[ 37 ]したがって、ブール代数は、初等代数が数値関係を記述するのと同じ方法で論理関係を記述するための形式主義である。
- バイト
- デジタル情報の単位で、通常は8ビットで構成され、2進数を表します。歴史的に、バイトはコンピュータ内でテキストの1文字をエンコードするために使用されるビット数でした[ 38 ] [ 39 ]。このため、多くのコンピュータアーキテクチャでは、アドレス指定可能なメモリの最小単位となっています。
- 起動中
- コンピュータまたはコンピュータ機器を起動し、使用可能になるまでの手順。ボタンの押下などのハードウェア操作、またはソフトウェアコマンドによって開始されます。電源投入後、コンピュータは比較的低機能で、読み取り専用メモリと呼ばれるストレージの一部しか読み取ることができません。そこには、ファームウェアと呼ばれる小さなプログラムが保存されています。ファームウェアは電源投入時の自己診断テストを行い、最も重要な点として、ハードディスクやメインメモリなどの他の種類のメモリへのアクセスを可能にします。ファームウェアは、より大きなプログラムをコンピュータのメインメモリに読み込み、実行します。
C
- 折り返し電話
- 特定のタイミングで引数を「コールバック」(実行)することが期待される、他のコードに引数として渡される実行可能コード。この実行は、同期コールバックのように即時に行われる場合もあれば、非同期コールバックのように後で行われる場合もあります。
- 中央処理装置(CPU)
- コンピュータ内部の電子回路。コンピュータプログラムの命令に従い、命令で指定された基本的な算術演算、論理演算、制御、入出力(I/O)操作を実行する。コンピュータ業界では、少なくとも1960年代初頭から「中央処理装置(Central Processing Unit)」という用語が使用されている。 [ 40 ]伝統的に、「CPU」という用語はプロセッサ、より具体的にはプロセッサの演算処理装置と制御装置(CU)を指し、これらのコンピュータの中核要素を、主記憶装置やI/O回路などの外部コンポーネントと区別する。[ 41 ]
- キャラクター
- 自然言語の書き言葉におけるアルファベットや音節文字などの書記素、書記素に似た単位、または記号にほぼ対応する情報単位。[ 42 ]
- CI/CD
- 参照:継続的インテグレーション (CI) /継続的デリバリー (CD)。
- 暗号
- 暗号化においては、暗号化または復号化を実行するためのアルゴリズムであり、手順として実行できる一連の明確に定義されたステップです。
- クラス
- オブジェクト指向プログラミングにおいて、オブジェクトを作成するための拡張可能なプログラムコードテンプレートであり、状態の初期値(メンバー変数)と動作の実装(メンバー関数またはメソッド)を提供します。[ 43 ] [ 44 ]多くの言語では、クラス名はクラス(テンプレート自体)の名前、クラスのデフォルトコンストラクタ(オブジェクトを作成するサブルーチン)の名前、およびクラスをインスタンス化することによって生成されるオブジェクトの型として使用されます。これらの異なる概念は簡単に混同されます。[ 44 ]
- クラスベースプログラミング
- オブジェクト指向プログラミング(OOP)のスタイル。継承は、オブジェクトのみではなく、オブジェクトの「クラス」を定義することによって行われます (プロトタイプ ベースのプログラミングと比較してください)。
- クライアント
- サーバーが提供するサービスにアクセスするコンピュータハードウェアまたはソフトウェア。サーバーは多くの場合(常にではないが)、別のコンピュータシステム上に存在し、その場合、クライアントはネットワークを介してサービスにアクセスします。[ 45 ]この用語は、クライアント・サーバー・モデルにおいてプログラムまたはデバイスが果たす役割を指します。
- クリーンルームソフトウェアエンジニアリング
- 認定可能なレベルの信頼性を備えたソフトウェアを開発することを目的としたソフトウェア開発プロセス。クリーンルームプロセスは、IBMのハーラン・ミルズとアラン・ヘブナーを含む彼の同僚数名によって最初に開発されました。[ 46 ]クリーンルームプロセスは、欠陥の除去ではなく、欠陥の予防に重点を置いています。
- 閉鎖
- 第一級関数を持つ言語において、語彙的にスコープ化された名前束縛を実装するための手法。操作的には、クロージャは関数[ a ]と環境を一緒に格納するレコードである。 [ 47 ]
- クラウドコンピューティング
- 構成可能なコンピュータシステムリソースと高レベルサービスの共有プール。最小限の管理労力で、多くの場合インターネット経由で迅速にプロビジョニングできます。クラウドコンピューティングは、公共事業と同様に、リソースの共有によって一貫性と規模の経済性を実現します。
- コードライブラリ
- コンピュータプログラムによって使用される不揮発性リソースの集合。多くの場合、ソフトウェア開発に使用されます。これらには、構成データ、ドキュメント、ヘルプデータ、メッセージテンプレート、事前に記述されたコード、サブルーチン、クラス、値、型仕様などが含まれます。IBMのOS/360およびその後継製品では、これらはパーティション・データセットと呼ばれます。
- コーディング
- コンピュータプログラミングとは、特定のコンピューティングタスクを実行するための実行可能なコンピュータプログラムを設計および構築するプロセスです。プログラミングには、分析、アルゴリズムの生成、アルゴリズムの精度とリソース消費のプロファイリング、選択したプログラミング言語でのアルゴリズムの実装(一般にコーディングと呼ばれる[ 48 ] [ 49 ] )などのタスクが含まれます。プログラムのソースコードは、1つまたは複数のプログラミング言語で記述されます。プログラミングの目的は、与えられた問題を解決するためのタスクの実行を自動化する一連の命令を見つけることです。したがって、プログラミングのプロセスでは、アプリケーションドメイン、特殊なアルゴリズム、形式論理に関する知識など、いくつかの異なる分野の専門知識が必要になることがよくあります。
- 符号理論
- 符号の特性と、それぞれの特定の用途への適合性を研究する学問。符号は、データ圧縮、暗号化、誤り検出・訂正、データ伝送、データ保存に用いられる。情報理論、電気工学、数学、言語学、コンピュータサイエンスなど、様々な科学分野において、効率的で信頼性の高いデータ伝送方式の設計を目的として研究されている。これには通常、冗長性の除去と、伝送データの誤りの訂正または検出が含まれる。
- 認知科学
- 心とそのプロセスに関する学際的な科学的研究。 [ 50 ]認知(広義)の性質、課題、機能を研究する。認知科学者は、神経系がどのように情報を表現し、処理し、変換するかに焦点を当て、知能と行動を研究する。認知科学者が関心を持つ精神的能力には、言語、知覚、記憶、注意、推論、感情などがあり、これらの能力を理解するために、認知科学者は言語学、心理学、人工知能、哲学、神経科学、人類学などの分野から知見を借用する。[ 51 ]
- コレクション
- コレクションまたはコンテナとは、解決すべき問題に対して共通の意義を持ち、制御された方法でまとめて操作する必要がある、可変数(ゼロの場合もある)のデータ項目のグループです。通常、データ項目は同じ型、または継承をサポートする言語では共通の祖先型から派生した型になります。コレクションは抽象データ型に適用可能な概念であり、具体的なデータ構造として特定の実装を規定するものではありません。ただし、多くの場合、慣例的な選択肢があります(型理論に関する議論についてはコンテナを参照してください)。
- カンマ区切り値(CSV)
- カンマで値を区切る区切りテキストファイルです。CSVファイルは、表形式のデータ(数値とテキスト)をプレーンテキストで保存します。ファイルの各行はデータレコードです。各レコードは、カンマで区切られた1つ以上のフィールドで構成されます。フィールド区切りとしてカンマを使用することから、このファイル形式の名前が付けられています。
- コンパイラ
- あるプログラミング言語(ソース言語)で書かれたコンピュータコードを別のプログラミング言語(ターゲット言語)に変換するコンピュータプログラム。コンパイラは、主にコンピュータなどのデジタル機器をサポートする一種の翻訳装置である。コンパイラという名称は、主に高水準プログラミング言語のソースコードを低水準言語(アセンブリ言語、オブジェクトコード、マシンコードなど)に変換し、実行可能プログラムを作成するプログラムに用いられる。[ 52 ]
- 計算可能性理論
- 再帰理論としても知られるこの理論は、数理論理学、計算機科学、そして計算理論の一分野であり、1930年代に計算可能関数とチューリング度に関する研究から始まりました。その後、この分野は一般化計算可能性と定義可能性の研究も含むように拡大しました。これらの分野において、再帰理論は証明理論や有効記述集合論と重なり合っています。
- 計算
- 算術的ステップと非算術的ステップの両方を含み、明確に定義されたモデル(例えばアルゴリズム)に従うあらゆる種類の計算[ 53 ] [ 54 ]。計算の研究はコンピュータサイエンスの分野において極めて重要である。
- 計算生物学
- 生物学、生態学、行動学、社会システムの研究に対するデータ分析および理論的方法、数学的モデリングおよび計算シミュレーション技術の開発と応用を伴います。 [ 55 ]この分野は広く定義されており、生物学、応用数学、統計学、生化学、化学、生物物理学、分子生物学、遺伝学、ゲノミクス、コンピュータサイエンス、進化学の基礎が含まれます。[ 56 ]計算生物学は、バイオエンジニアリングと生物学を用いてコンピュータを構築するコンピュータサイエンスとコンピュータエンジニアリングのサブフィールドである生物学的コンピューティング とは異なります。
- 計算化学
- 化学の問題解決を支援するためにコンピュータシミュレーションを利用する化学の一分野。理論化学の手法を効率的なコンピュータプログラムに組み込み、分子や固体の構造と特性を計算します。
- 計算複雑性理論
- 計算科学の一分野であり、計算問題をその固有の難しさに基づいて分類し、それらの分類を相互に関連付けることに焦点を当てています。計算問題とは、コンピュータによって解決されるタスクです。計算問題は、アルゴリズムなどの数学的手順を機械的に適用することで解決可能です。
- 計算モデル
- コンピュータシミュレーションによって複雑なシステムの挙動を研究するために膨大な計算資源を必要とする計算科学における数学モデル。[ 57 ]
- 計算神経科学
- 神経科学の一分野であり、脳の数学的モデル、理論的分析、抽象化を用いて神経系の発達、構造、生理、認知能力を支配する原理を理解しようとするものである。[ 58 ] [ 59 ] [ 60 ] [ 61 ]
- 計算物理学
- すでに定量的な理論が存在する物理学の問題を解決するための数値解析の研究と実装です。[ 62 ]歴史的に、計算物理学は科学における現代のコンピュータの最初の応用であり、現在では計算科学のサブセットとなっています。
- 計算科学
- 高度なコンピューティング能力を用いて複雑な問題を理解し解決する学際的な分野。多くの分野にまたがる科学の一分野ですが、その中核には複雑な自然システムを理解するためのコンピュータモデルとシミュレーションの開発が含まれます。
- 計算によるステアリング
- 本来は自律的に実行される計算プロセスに手動で介入して、その結果を変更する手法です。
- コンピューター
- コンピュータプログラミングによって、一連の算術演算または論理演算を自動的に実行するように指示できる装置。現代のコンピュータは、プログラムと呼ばれる一般化された演算セットに従う能力を備えています。これらのプログラムにより、コンピュータは非常に幅広いタスクを実行できます。
- コンピュータアーキテクチャ
- コンピュータシステムの機能、構成、実装を記述する一連の規則と方法。アーキテクチャの定義によっては、コンピュータの機能とプログラミングモデルを記述するものと定義され、特定の実装は記述しない。[ 63 ]他の定義では、コンピュータアーキテクチャには、命令セットアーキテクチャ設計、マイクロアーキテクチャ設計、論理設計、実装が含まれる。[ 64 ]
- コンピューターデータストレージ
- デジタルデータを保持するために使用されるコンピュータコンポーネントと記録媒体で構成される技術。データストレージは、現代のあらゆるコンピュータシステムの中核機能であり、基本的な構成要素である。[ 65 ]:15–16
- コンピュータ倫理
- コンピュータ専門家が専門的および社会的行動に関してどのように決定を下すべきかに関わる実践哲学の一部。[ 66 ]
- コンピュータグラフィックス
- コンピュータを用いて作成された画像や映画。通常、この用語は、専用のグラフィックハードウェアとソフトウェアを用いてコンピュータで生成された画像データを指します。これは、コンピュータサイエンスにおける広範かつ近年発展した分野です。
- コンピュータネットワーク
- ノード間で リソースを共有できるデジタル通信ネットワーク。コンピュータネットワークでは、コンピューティングデバイスはノード間の接続(データリンク)を介して相互にデータを交換します。これらのデータリンクは、有線や光ファイバーなどのケーブルメディア、またはWi-Fiなどの無線メディアを介して確立されます。
- コンピュータプログラム
- 特定のタスクを実行するためにコンピュータが実行できる命令の集合体[ 67 ] 。
- コンピュータプログラミング
- 特定のコンピューティングタスクを達成するための実行可能なコンピュータプログラムを設計および構築するプロセス。プログラミングには、分析、アルゴリズムの生成、アルゴリズムの精度とリソース消費のプロファイリング、選択したプログラミング言語でのアルゴリズムの実装(一般にコーディングと呼ばれる[ 48 ] [ 49 ])などのタスクが含まれます。プログラムのソースコードは、1つまたは複数のプログラミング言語で記述されます。プログラミングの目的は、与えられた問題を解決するためのタスクの実行を自動化する一連の命令を見つけることです。したがって、プログラミングのプロセスでは、アプリケーションドメイン、特殊なアルゴリズム、形式論理に関する知識など、いくつかの異なる分野の専門知識が必要になることがよくあります。
- コンピュータサイエンス
- コンピュータの設計と利用の基礎となる理論、実験、そして工学。デジタル情報を処理、保存、そして伝達するアルゴリズムの研究が含まれます。コンピュータ科学者は、計算理論と計算システムの設計を専門としています。[ 68 ]
- コンピューター科学者
- 情報と計算の理論的基礎とその応用を研究するコンピュータサイエンスの知識を習得した人。
- コンピュータセキュリティ
- コンピュータ システムを、ハードウェア、ソフトウェア、電子データの盗難や損傷から、また、コンピュータシステムが提供するサービスの中断や誤送信から保護します。
- コンピュータービジョン
- コンピュータがデジタル画像や動画から高度な理解を獲得できるようにする方法を研究する学際的な科学分野。工学の観点からは、人間の視覚システムが実行できるタスクの自動化を目指している。[ 70 ] [ 71 ] [ 72 ]
- コンピューティング
- コンピューティングとは、コンピューティング機器を必要とし、その恩恵を受け、あるいはそれらを創造する、目標指向的な活動です。アルゴリズムプロセスの研究、ハードウェアとソフトウェアの両方の開発が含まれます。科学的、工学的、数学的、技術的、そして社会的な側面を有します。主要なコンピューティング分野には、コンピュータ工学、コンピュータサイエンス、サイバーセキュリティ、データサイエンス、情報システム、情報技術、ソフトウェア工学などがあります。[ 73 ]
- 連結
- 文字通り「連鎖すること」、あるいは物事を繋ぎ合わせるプロセス。形式言語理論とコンピュータプログラミングにおいて、文字列連結とは文字列を端から端まで繋ぎ合わせる操作を指す。例えば、「snow」と「ball」を連結すると「snowball」となる。[ 74 ]連結理論(弦理論とも呼ばれる)の特定の形式化においては、文字列連結は基本的な概念である。
- 同時実行性
- プログラム、アルゴリズム、または問題の異なる部分またはユニットを、最終結果に影響を与えることなく、順序を無視して、あるいは部分的に順序付けずに実行する能力。これにより、同時実行ユニットの並列実行が可能になり、マルチプロセッサおよびマルチコアシステムにおける全体的な実行速度を大幅に向上させることができます。より専門的な用語では、並行性とは、プログラム、アルゴリズム、または問題を順序に依存しない、あるいは部分的に順序付けされたコンポーネントまたはユニットに分解できる性質を指します。[ 75 ]
- 条件付き
- プログラマが指定したブール条件が真か偽かに応じて異なる計算やアクションを実行するプログラミング言語の機能。分岐述語を除き、これは常に何らかの条件に基づいて制御フローを選択的に変更することによって実現されます。
- 容器
- クラス、データ構造、[ 76 ] [ 77 ]、または抽象データ型(ADT)であり、そのインスタンスは他のオブジェクトのコレクションです。言い換えれば、特定のアクセスルールに従ってオブジェクトを整理された方法で格納します。コンテナのサイズは、それに含まれるオブジェクト(要素)の数に依存します。様々なコンテナ型の基盤となる(継承された)実装は、サイズと複雑さが異なり、特定のシナリオに適した実装を柔軟に選択できます。
- 継続的デリバリー(CD)
- 展開を決定する際にシンプルで繰り返し可能な展開プロセスを使用して、信頼性の高いソフトウェアをいつでもリリースできるように、高速かつ高頻度で短いサイクルでソフトウェアを作成します。
- 継続的デプロイメント(CD)
- 新しいソフトウェア機能の自動展開。
- 継続的インテグレーション(CI)
- ソース コードを統合する実践は頻繁に変更され、統合されたコードベースが機能する状態であることが保証されます。
- 継続渡しスタイル(CPS)
- 関数型プログラミングのスタイルの一つで、制御が継続の形で明示的に渡される。これは、通常のプログラミングスタイルである直接スタイルとは対照的である。ジェラルド・ジェイ・サスマンとガイ・L・スティール・ジュニアは、Schemeプログラミング言語の最初のバージョンをまとめたAIメモ349(1975年)の中でこの用語を造語した。[ 78 ] [ 79 ]
- 制御フロー
- 命令型プログラムにおける個々の文、命令、または関数呼び出しが実行または評価される順序。明示的な制御フローを重視する点が、命令型プログラミング言語と宣言型プログラミング言語の違いです。
- クリエイティブ・コモンズ(CC)
- 他の人が合法的に創作し共有できる創作作品の範囲を拡大することに専念するアメリカの非営利団体。 [ 80 ]この団体はクリエイティブ・コモンズ・ライセンスとして知られるいくつかの著作権ライセンスを一般に無料で公開している。
- 暗号
- 暗号学は、敵対者と呼ばれる第三者がいる場合の安全な通信技術の実践と研究です。[ 81 ]より一般的には、暗号とは、第三者や一般の人がプライベートなメッセージを読むことを防ぐプロトコルの構築と分析です。 [ 82 ]データの機密性、データの整合性、認証、否認不可など、情報セキュリティのさまざまな側面[ 83 ]は、現代の暗号の中心です。現代の暗号は、数学、コンピュータサイエンス、電気工学、コミュニケーション科学、物理学の分野の交差点に存在します。暗号の応用には、電子商取引、ICチップベースの支払いカード、デジタル通貨、コンピュータパスワード、軍事通信などがあります。
- CSV
- カンマ区切り値を参照してください。
- ネットいじめ
- 電子的手段を用いたいじめや嫌がらせの一種。
- サイバースペース
- 広範囲に普及し、相互接続されたデジタル技術。
D
- デーモン
- マルチタスクコンピュータオペレーティングシステムにおいて、デーモン(/ ˈ d iː m ən /または/ ˈ d eɪ m ən /)[ 84 ]は、対話型ユーザーによって直接制御されるのではなく、バックグラウンドプロセスとして実行されるコンピュータプログラムです。伝統的に、デーモンのプロセス名は、プロセスが実際にデーモンであることを明確にし、デーモンと通常のコンピュータプログラムを区別するために、文字dで終わります。たとえば、syslogdはシステムログ機能を実装するデーモンであり、sshdは着信SSH接続を処理するデーモンです。
- データ
- データセンター
- コンピュータシステムおよび関連コンポーネント(通信システム、データストレージシステムなど)を収容する専用スペース。通常、冗長またはバックアップコンポーネント、電源、データ通信接続、環境制御(空調や消火設備など)、各種セキュリティデバイスなどのインフラストラクチャが含まれます。[ 85 ]
- データベース
- 体系的に整理されたデータの集合体。通常はコンピュータシステムから電子的に保存・アクセスされます。データベースがより複雑な場合は、正式な設計およびモデリング手法を用いて開発されることが多いです。
- データマイニング
- 機械学習、統計学、データベースシステムの交差点にある手法を用いて、大規模データセットからパターンを発見するプロセスです。[ 86 ]データマイニングは、コンピュータサイエンスと統計学の学際的なサブフィールドであり、データセットから(インテリジェントな手法を用いて)情報を抽出し、その情報を理解可能な構造に変換してさらに活用することを全体的な目標としています。[ 86 ] [ 87 ] [ 88 ] [ 89 ]データマイニングは、「データベースにおける知識発見」プロセス(KDD)の分析ステップです。[ 90 ]生の分析ステップとは別に、データベースとデータ管理の側面、データの前処理、モデルと推論の考慮、興味深さの指標、複雑さの考慮、発見された構造の後処理、可視化、オンライン更新も含まれます。[ 86 ]
- データサイエンス
- 科学的な方法、プロセス、アルゴリズム、システムを用いて、構造化・非構造化を問わず様々な形式のデータから知識や洞察を抽出する学際的な分野であり、 [ 91 ] [ 92 ]データマイニングに類似している。データサイエンスとは、「統計、データ分析、機械学習、およびそれらに関連する手法を統合し、データを用いて「実際の現象を理解し分析する」ための概念である。[ 93 ]数学、統計、情報科学、コンピュータサイエンスの文脈における多くの分野から得られた技術と理論を採用している。
- データ構造
- 効率的なアクセスと変更を可能にするデータの編成、管理、および保存形式。[ 94 ] [ 95 ] [ 96 ]より正確には、データ構造とは、データ値、それらの間の関係、およびデータに適用できる関数または操作の集合です。[ 97 ]
- データ型
- データの属性で、コンパイラやインタープリタにプログラマがデータをどのように使用するかを伝えるもの。ほとんどのプログラミング言語は、実数、整数、ブール値といった一般的なデータ型をサポートしている。データ型は、変数や関数などの式が取り得る値を制約する。このデータ型は、データに対して実行できる演算、データの意味、およびその型の値の格納方法を定義する。式が値を取る可能性のある値の型。[ 98 ] [ 99 ]
- デバッグ
- コンピュータソフトウェアまたはシステム全体の正常な動作を妨げるコンピュータプログラム内の欠陥や問題を発見し、解決するプロセス。デバッグ手法には、対話型デバッグ、制御フロー解析、単体テスト、統合テスト、ログファイル解析、アプリケーションレベルまたはシステムレベルでの監視、メモリダンプ、プロファイリングなどが含まれます。
- 宣言
- コンピュータプログラミングにおいて、識別子の特性を指定する言語構成要素。つまり、単語(識別子)が「何を意味するか」を宣言する。[ 100 ]宣言は、関数、変数、定数、クラスに最も一般的に使用されるが、列挙型や型定義などの他のエンティティにも使用できる。[ 100 ]名前(識別子自体)とエンティティの種類(関数、変数など)に加えて、宣言は通常、データ型(変数と定数の場合)または型シグネチャ(関数の場合)を指定する。型には、配列のように次元が含まれる場合もある。宣言は、エンティティの存在をコンパイラに通知するために使用される。これは、関数、変数、定数、およびそれらの型を使用前に宣言で指定する必要がある強い型付け言語において重要であり、前方宣言で使用される。[ 101 ]「宣言」という用語は「定義」という用語としばしば対比されるが、[ 100 ]意味と用法は言語によって大きく異なる。
- デジタルデータ
- 情報理論および情報システムにおいて、情報または作品の離散的かつ不連続な表現。数字と文字が一般的に用いられる表現。
- デジタル信号処理(DSP)
- コンピュータやより特殊なデジタル信号プロセッサなどのデジタル処理を用いて、様々な信号処理操作を実行すること。このように処理された信号は、時間、空間、周波数などの領域における連続変数のサンプルを表す数値列である。
- 離散事象シミュレーション(DES)
- システムの動作を、時間的に離散的な一連のイベントとしてモデル化する。各イベントは特定の瞬間に発生し、システムの状態変化を示す。 [ 102 ]連続するイベント間では、システムに変化が生じないと仮定されるため、シミュレーションでは、あるイベントから次のイベントへと時間的に直接ジャンプすることができる。
- ディスクストレージ
- (ドライブストレージとも呼ばれる)は、1枚以上の回転ディスクの表面層に様々な電子的、磁気的、光学的、または機械的な変化を加えることでデータを記録するストレージ機構の一般的なカテゴリです。ディスクドライブは、このようなストレージ機構を実装したデバイスです。代表的なものとしては、固定ディスクを搭載したハードディスクドライブ(HDD)、フロッピーディスクドライブ(FDD)とそのリムーバブルフロッピーディスク、そして様々な光ディスクドライブ(ODD)と関連する光ディスクメディアなどがあります。
- 分散コンピューティング
- 分散システムを研究するコンピュータサイエンスの分野。分散システムとは、ネットワークに接続された複数のコンピュータ上にコンポーネントが配置され、互いにメッセージをやり取りすることで通信し、動作を調整するシステムです。 [ 103 ]コンポーネントは共通の目標を達成するために相互に作用します。分散システムの3つの重要な特徴は、コンポーネントの同時実行性、グローバルクロックの欠如、コンポーネントの独立した障害です。[ 103 ]分散システムの例は、SOAベースのシステムから大規模多人数参加型オンラインゲーム、ピアツーピアアプリケーションまで多岐にわたります。
- 分割統治アルゴリズム
- 多分岐再帰に基づくアルゴリズム設計パラダイム。分割統治アルゴリズムは、問題を同一または関連する種類の2つ以上の部分問題に再帰的に分割し、それらが直接解けるほど単純になるまで処理します。その後、部分問題の解を組み合わせて、元の問題の解を得ます。
- DNS
- ドメイン ネーム システムを参照してください。
- ドキュメント
- コンピュータソフトウェアに付随する、またはソースコードに埋め込まれたテキストまたはイラスト。ソフトウェアの動作や使用方法を説明するものであり、役割によって意味が異なる場合があります。
- ドメイン
- コンピュータプログラムの対象分野。ソフトウェア工学で使用される用語。正式には、狭義か広義かを問わず、特定のプログラミングプロジェクトの対象となる主題を表す。[ 104 ]
- ドメインネームシステム(DNS)
- インターネットまたはプライベートネットワークに接続されたコンピュータ、サービス、その他のリソースのための、階層的かつ分散型の命名システムです。参加する各エンティティに割り当てられたドメイン名に、様々な情報を関連付けます。最も重要なのは、記憶しやすいドメイン名を、基盤となるネットワークプロトコルを用いてコンピュータサービスやデバイスを特定・識別するために必要な数値のIPアドレスに変換することです。世界規模の分散ディレクトリサービスを提供することで、ドメインネームシステムは1985年以来、インターネットの機能に不可欠な要素となっています。
- 倍精度浮動小数点形式
- コンピュータの数値形式。浮動小数点を用いて、広範囲にわたる数値を表します。
- ダウンロード
- コンピュータネットワークにおいて、リモートシステム(通常はウェブサーバー、FTPサーバー、電子メールサーバー、その他の類似システムなど)からデータを受信すること。これは、データがリモートサーバーに送信されるアップロードとは対照的である。ダウンロードとは、ダウンロード用に提供されたファイル、またはダウンロードされたファイル、あるいはそのようなファイルを受信するプロセスである。
E
- エッジデバイス
- 企業またはサービスプロバイダのコアネットワークへのエントリポイントを提供するデバイス。例としては、ルーター、ルーティングスイッチ、統合アクセスデバイス(IAD)、マルチプレクサ、そして様々なメトロポリタンエリアネットワーク(MAN)およびワイドエリアネットワーク(WAN)アクセスデバイスなどが挙げられます。エッジデバイスは、通信事業者やサービスプロバイダのネットワークへの接続も提供します。ローカルエリアネットワークを高速スイッチまたはバックボーン(ATMスイッチなど)に接続するエッジデバイスは、エッジコンセントレータと呼ばれることもあります。
- エミュレータ
- 1 つのコンピュータ システム (ホストと呼ばれる) が別のコンピュータ システムのように動作できるようにするハードウェアまたはソフトウェア。
- 暗号化
- 暗号学において、暗号化とは情報をエンコードする処理のことです。この処理では、平文と呼ばれる情報の元の表現を、暗号文と呼ばれる別の形式に変換します。理想的には、許可された当事者だけが暗号文を平文に解読して元の情報にアクセスできます。暗号化自体は干渉を防ぐことはできませんが、傍受しようとする者が理解できる内容を拒否します。技術的な理由から、暗号化方式では通常、アルゴリズムによって生成された疑似ランダム暗号化キーが使用されます。キーを持っていなくてもメッセージを復号化することは可能ですが、適切に設計された暗号化方式には、相当の計算リソースとスキルが必要です。許可された受信者は、発信者が受信者に提供したキーを使用してメッセージを簡単に復号化できますが、許可されていないユーザーには復号化できません。歴史的に、さまざまな形式の暗号化が暗号化を支援するために使用されてきました。初期の暗号化技術は、軍事メッセージングでよく使用されていました。それ以来、新しい技術が登場し、現代のコンピューティングのあらゆる分野で一般的になっています。[ 106 ]現代の暗号化方式は公開鍵と対称鍵の概念を利用しています。[ 106 ]現代のコンピュータは暗号を解読するのが非効率的であるため、現代の暗号化技術はセキュリティを確保します。
- イベント
- ソフトウェアによって認識されるアクションまたは事象。多くの場合、外部環境から非同期的に発生し、ソフトウェアによって処理される可能性があります。イベントはアクションと、そのアクションをトリガーするコンテキスト変数をカプセル化するエンティティであるため、この概念を明確にするために、「実行変数カプセル化名前付きトリガー」という頭字語がよく使用されます。
- イベント駆動型プログラミング
- プログラムの流れが、ユーザーアクション(マウスクリック、キー押下)、センサー出力、他のプログラムやスレッドからのメッセージなどのイベントによって決定されるプログラミングパラダイム。イベントドリブンプログラミングは、ユーザー入力に応じて特定のアクションを実行することを中心とするグラフィカルユーザーインターフェースやその他のアプリケーション(例:JavaScriptウェブアプリケーション)で使用される主要なパラダイムです。これはデバイスドライバーのプログラミングにも当てはまります(例:USBデバイスドライバースタックのP [ 107 ])。
- 進化コンピューティング
- 生物進化に着想を得た大域的最適化アルゴリズム群、およびこれらのアルゴリズムを研究する人工知能とソフトコンピューティングのサブフィールド。技術的には、メタヒューリスティックまたは確率的最適化の特性を持つ、集団ベースの試行錯誤型問題解決アルゴリズム群を指す。
- 実行可能
- コンピュータに「エンコードされた命令に従って指定されたタスクを実行させる」[ 108 ]。これは、プログラムによって解析されなければ意味を成さないデータファイルとは対照的である。正確な解釈は用途によって異なる。「命令」は伝統的に物理CPUの機械語命令を意味するが、文脈によってはバイトコードやスクリプト言語命令を含むファイルも実行可能ファイルとみなされる場合がある。
- 実行
- コンピュータおよびソフトウェア工学において、コンピュータまたは 仮想マシンがコンピュータプログラムの命令を実行するプロセスを指します。プログラムの各命令は、特定の問題を解決するために実行される特定のアクションの記述です。プログラムの命令、つまりそれが記述するアクションが実行マシンによって実行されると、実行される命令のセマンティクスに従って特定の効果が生成されます。
- 例外処理
- 計算中に発生した例外(特別な処理を必要とする異常な状態または例外的な状態)に対応するプロセス。例外は、プログラム実行の正常な流れをしばしば中断させる。これは、専用のプログラミング言語構造、割り込みなどのコンピュータハードウェア機構、またはシグナルなどのオペレーティングシステムのIPC機能によって提供される。
- 存在検出
- ファイルを読み取る前に存在チェックを行うことで、致命的なエラーを検出したり防止したりすることができます。
- 表現
- プログラミング言語において、1つ以上の定数、変数、演算子、関数の組み合わせ。プログラミング言語は、これらを(特定の優先順位と結合規則に従って)解釈し、計算して別の値を生成します(状態のある環境では「返す」)。このプロセスは、数式の場合と同様に、評価と呼ばれます。
F
- フォールトトレラントコンピュータシステム
- フォールトトレランスの概念に基づいて設計されたシステム。本質的には、エラーや故障が発生しても、一定の満足のいくレベルで動作を継続できなければなりません。
- 実現可能性調査
- 既存の事業や計画中の事業の長所と短所、自然環境に存在する機会と脅威、事業遂行に必要な資源、そして最終的には成功の見通しを客観的かつ合理的に明らかにすることを目的とした調査。[ 109 ] [ 110 ]簡単に言えば、実現可能性を判断する2つの基準は、必要なコストと達成される価値です。[ 111 ]
- 分野
- レコードと呼ばれる複数の部分を持つデータは、フィールドに分割できます。リレーショナルデータベースでは、データはデータベースレコードの集合、つまり行として整理されます。各レコードは複数のフィールドで構成され、すべてのレコードのフィールドが列を形成します。フィールドの例:名前、性別、髪の色など。
- ファイル名拡張子
- コンピュータファイル名の接尾辞として指定される識別子。拡張子は、ファイルの内容の特性やその用途を示します。
- フィルター(ソフトウェア)
- ストリームを処理して別のストリームを生成するコンピュータプログラムまたはサブルーチン。単一のフィルタを個別に使用することもできますが、多くの場合、複数のフィルタを連結してパイプラインを形成します。
- 浮動小数点演算
- コンピューティングにおいて、浮動小数点演算 (FP) は、範囲と精度のトレードオフをサポートするために、実数の公式表現を近似値として使用する演算です。このため、浮動小数点演算は、高速な処理時間を必要とする非常に小さい実数と非常に大きい実数を含むシステムでよく使用されます。一般に、数値は固定の有効桁数(仮数部) でおおよそ表現され、ある固定の基数で指数を使用してスケーリングされます。スケーリングの基数は通常、2、10、または 16 です。正確に表現できる数値は次の形式になります。
G
- ゲーム理論
- 合理的な意思決定者間の戦略的相互作用の数学的モデルの研究。 [ 116 ]社会科学のあらゆる分野、さらには論理学やコンピュータサイエンスにも応用されている。元々は、各参加者の利益または損失が他の参加者の利益または損失と正確に均衡するゼロサムゲームを研究対象としていた。今日では、ゲーム理論は幅広い行動関係に適用され、人間、動物、そしてコンピュータにおける論理的意思決定の科学を包括する用語となっている。
- ゴミを入れればゴミが出る(GIGO)
- 欠陥のある、あるいは意味不明な入力データから、意味不明な出力、つまり「ゴミ」が生成されるという概念を表す用語。また、プログラミングの厳しさ、つまり、下手に書かれたプログラムが意味不明な動作を引き起こす可能性があることを指す場合もあります。
- グラフィックス交換フォーマット
- ギガバイト
- デジタル情報の単位バイトの倍数。接頭辞「ギガ」は、国際単位系(SI)における10の9乗を表します。したがって、1ギガバイトは1 000 000 000バイトです。ギガバイトの単位記号はGBです。
- グローバル変数
- コンピュータプログラミングにおいて、グローバルスコープを持つ変数。つまり、シャドウイングされない限り、プログラム全体から可視(つまりアクセス可能)である変数。すべてのグローバル変数の集合は、グローバル環境またはグローバル状態と呼ばれる。コンパイル言語では、グローバル変数は一般的に静的変数であり、その有効期間はプログラムの実行時間全体である。一方、インタープリタ言語(コマンドラインインタープリタを含む)では、グローバル変数は事前に分からないため、一般的に宣言時に動的に割り当てられる。
- グラフ理論
- 数学において、グラフはオブジェクト間の対関係をモデル化するために用いられる数学的構造です。この文脈におけるグラフは、頂点(ノードまたはポイントとも呼ばれます)と、それらの頂点が辺(リンクまたはラインとも呼ばれます)によって接続された構造です。グラフには、辺が2つの頂点を対称的に接続している無向グラフと、辺が2つの頂点を非対称的に接続している有向グラフがあります。
H
- ハンドル
- コンピュータ プログラミングにおいて、ハンドルとは、アプリケーション ソフトウェアがデータベースやオペレーティング システムなどの別のシステムによって管理されるメモリブロックまたはオブジェクトを参照するときに使用される、リソースへの抽象的な参照です。
- 難しい問題
- 計算複雑性理論は、計算問題をその固有の難しさに基づいて分類し、それらのクラスを相互に関連付けることに焦点を当てています。計算問題とは、コンピュータによって解決されるタスクです。計算問題は、アルゴリズムなどの数学的手順を機械的に適用することで解決可能です。
- ハッシュ関数
- 任意のサイズのデータを固定サイズのデータにマッピングするために使用できる関数。ハッシュ関数によって返される値は、ハッシュ値、ハッシュコード、ダイジェスト、または単にハッシュと呼ばれます。ハッシュ関数は、コンピュータソフトウェアで高速なデータ検索に使用される一般的なデータ構造であるハッシュテーブルと組み合わせて使用されることがよくあります。ハッシュ関数は、大きなファイル内の重複レコードを検出することで、テーブルまたはデータベースの検索を高速化します。
- ハッシュテーブル
- コンピューティングにおいて、ハッシュテーブル(ハッシュマップ)は、連想配列抽象データ型を実装したデータ構造であり、キーを値にマッピングできる構造です。ハッシュテーブルは、ハッシュ関数を用いてバケットまたはスロットの配列のインデックスを計算し、そこから目的の値を見つけます。
- ヒープ
- 特殊なツリーベースのデータ構造で、本質的にはほぼ完全な[ 117 ]ツリーであり、ヒーププロパティを満たしています。PがCの親ノードである場合、Pのキー(値)はCのキー以上(最大ヒープの場合)または以下(最小ヒープの場合)になります。 [ 118 ]ヒープの「最上位」にあるノード(親なし)はルートノードと呼ばれます。
- ヒープソート
- 比較に基づくソートアルゴリズム。ヒープソートは、選択ソートの改良版と考えることができる。選択ソートと同様に、入力をソート済み領域と未ソート領域に分割し、未ソート領域から最大の要素を抽出してソート済み領域に移動することで、反復的に未ソート領域を縮小する。この改良点は、最大値を求める際に線形時間探索ではなく、ヒープデータ構造を用いることである。 [ 119 ]
- ヒューマンコンピュータインタラクション(HCI)
- 人間(ユーザー)とコンピュータ間のインターフェースに焦点を当て、コンピュータ技術の設計と利用を研究します。HCI分野の研究者は、人間とコンピュータのインタラクションの方法を観察するとともに、人間とコンピュータの斬新なインタラクションを可能にする技術を設計します。研究分野として、ヒューマン・コンピュータ・インタラクションは、コンピュータサイエンス、行動科学、デザイン、メディア研究、その他多くの研究分野の交差点に位置しています。
私
- 識別子
- コンピュータ言語において、識別子は言語エンティティに名前を付けるトークン(シンボルとも呼ばれる)です。識別子が表すエンティティの種類には、変数、型、ラベル、サブルーチン、パッケージなどがあります。
- IDE
- 統合開発環境。
- 画像処理
- 命令型プログラミング
- プログラムの状態を変更する文を用いるプログラミングパラダイム。自然言語における命令形が命令を表すのと同様に、命令型プログラムはコンピュータに実行させるコマンドから構成されます。命令型プログラミングは、プログラムの動作を記述することに重点を置いています。
- 増分ビルドモデル
- ソフトウェア開発手法の一つで、製品の設計、実装、テストを段階的に(少しずつ追加しながら)進め、最終的に完成させる手法です。開発と保守の両方が含まれます。製品は、すべての要件を満たした時点で完成と定義されます。このモデルは、ウォーターフォールモデルの要素と、反復的なプロトタイピングの考え方を組み合わせたものです。
- 情報空間分析
- チーム中心の取り組みのためのリソースを特定および評価するための、機械知能によって強化された決定論的方法。
- 情報視覚化
- 継承
- オブジェクト指向プログラミングにおいて、オブジェクトまたはクラスを別のオブジェクト(プロトタイプベース継承)またはクラス(クラスベース継承)に基づいて構築し、同様の実装を維持するメカニズム。また、既存のクラス(スーパークラスまたは基底クラス)から新しいクラス(サブクラス)を派生させ、それらをクラス階層に構成することも定義されます。
- 入力/出力(I/O)
- コンピュータなどの情報処理システムと外部世界(人間や他の情報処理システム)との間の通信。入力とはシステムが受信する信号またはデータであり、出力とはシステムから送信される信号またはデータです。この用語はアクションの一部としても使用されることがあります。「I/Oを実行する」とは、入力操作または出力操作を実行することを意味します。
- 挿入ソート
- 一度に 1 つの項目ずつ最終的なソートされた配列(またはリスト) を構築する単純なソート アルゴリズム。
- 命令サイクル
- 中央処理装置(CPU)が起動からシャットダウンまで命令を処理するために実行するサイクル。フェッチステージ、デコードステージ、実行ステージという3つの主要なステージで構成されます。
- 整数
- 整数データ型のデータ。整数データ型は、数学的な整数の範囲を表すデータ型です。整数データ型はサイズが異なり、負の値を含む場合と含まない場合があります。整数は通常、コンピュータでは2進数(ビット)の集合として表現されます。集合のサイズはコンピュータの種類によって異なるため、利用可能な整数サイズも異なります。仮想マシンを含むコンピュータハードウェアは、ほぼ常にプロセッサレジスタまたはメモリアドレスを整数として表現する方法を提供しています。
- 統合開発環境(IDE)
- コンピュータプログラマーにソフトウェア開発のための包括的な機能を提供するソフトウェアアプリケーション。IDEは通常、少なくともソースコードエディタ、ビルド自動化ツール、デバッガで構成されます。
- 統合テスト
- (統合テスト、略してI&Tとも呼ばれる)は、ソフトウェアテストにおいて、個々のソフトウェアモジュールをまとめてテストする段階である。統合テストは、システムまたはコンポーネントが特定の機能要件に準拠しているかどうかを評価するために実施される。[ 120 ]ユニットテストの後、検証テストの前に行われる。統合テストは、ユニットテスト済みのモジュールを入力として受け取り、それらをより大きな集合体にグループ化し、統合テスト計画で定義されたテストをそれらの集合体に適用し、システムテストの準備が整った統合システムを出力として提供する。[ 121 ]
- 知的財産(IP)
- 人間の知性による無形の創造物を含む法的財産のカテゴリー。[ 122 ] [ 123 ]知的財産には多くの種類があり、国によっては他の国よりも多くの種類を認めています。[ 124 ] [ 125 ] [ 126 ] [ 127 ] [ 128 ]最もよく知られている種類は、著作権、特許、商標、および企業秘密です。
- インテリジェントエージェント
- 人工知能において、インテリジェントエージェント(IA)とは、センサーとアクチュエーターを通じた観察に基づいて環境に対して目標達成(つまりエージェント)に向けて行動する自律的な存在を指す(つまりインテリジェントである)。 [ 129 ]インテリジェントエージェントは、目標を達成するために知識を学習したり使用したりすることもある。それらは非常に単純なものから非常に複雑なものまで様々である。サーモスタットのような反射機械は、インテリジェントエージェントの一例と考えられている。[ 130 ]
- インタフェース
- コンピュータシステムの2つ以上の独立したコンポーネントが情報を交換する共有境界。情報交換は、ソフトウェア、コンピュータハードウェア、周辺機器、人間、そしてこれらの組み合わせの間で行われる。[ 131 ]タッチスクリーンなどの一部のコンピュータハードウェアデバイスは、インターフェースを介してデータの送受信の両方を行うことができますが、マウスやマイクなどは、特定のシステムにデータを送信するためのインターフェースのみを提供する場合があります。[ 132 ]
- 内部文書
- コンピュータソフトウェアは、コードの様々な部分がどのように、そしてなぜ動作するのかに関する注釈がソースコード内にコメントとして含まれている場合、内部ドキュメントを備えていると言われます。これは、将来のプログラマーにコードの動作を理解するための手段を提供することを目的として、意味のある変数名と組み合わせて使用されることがよくあります。これは、プログラマーが注釈や説明を別のドキュメントに保存する外部ドキュメントとは対照的です。
- インターネット
- インターネットプロトコルスイート(TCP/IP)を用いて世界中のデバイスを接続する、相互接続されたコンピュータネットワークのグローバルシステム。これは、ローカルからグローバル規模まで、民間、公共、学術、企業、政府機関などのネットワークを、電子、無線、光といった幅広いネットワーク技術によって接続したネットワーク群です。
- インターネットボット
- インターネット上で自動化されたタスク(スクリプト)を実行するソフトウェアアプリケーション。[ 133 ]ボットは、通常、単純かつ構造的に反復的なタスクを、人間だけでは不可能なほど高速に実行します。ボットの最大の用途はウェブスパイダー(ウェブクローラー)であり、自動化されたスクリプトが人間の何倍もの速度でウェブサーバーから情報を取得、分析、ファイル化します。
- 通訳者
- プログラミング言語またはスクリプト言語で記述された命令を、事前に機械語プログラムにコンパイルする必要なく直接実行するコンピュータプログラム。
- 不変
- プログラムの実行中、あるいはその一部において真であると信頼できる不変条件に遭遇することがあります。これは、実行の特定のフェーズにおいて常に真であるとされる論理的な主張です。例えば、ループ不変条件とは、ループの実行開始時と終了時に常に真となる条件のことです。
- 反復
- 結果を生成するためにプロセスを繰り返すことです。シーケンスは、ある終点または最終値に近づきます。プロセスのそれぞれの繰り返しは単一の反復であり、各反復の結果は次の反復の開始点となります。数学とコンピュータサイエンスにおいて、反復(および関連する再帰技術)はアルゴリズムの標準的な要素です。
J
- ジャワ
- クラスベース、オブジェクト指向[ 134 ](ただし純粋なオブジェクト指向 言語[ 135 ]ではない)、実装依存性を可能な限り少なく設計した汎用プログラミング言語。アプリケーション開発者が「一度書けばどこでも実行可能」(WORA)[ 136 ] 、つまりコンパイルされたJavaコードは、Javaをサポートするすべてのプラットフォームで再コンパイルなしで実行できることを目的としている。[ 137 ]
K
- カーネル
- オペレーティングシステムがメモリにロードされる最初のセクション。オペレーティングシステムの中心であるカーネルは、小型で効率的であり、上書きされないようにメモリ内の保護された領域にロードされる必要があります。カーネルは、ディスクドライブ管理、ファイル管理、メモリ管理、プロセス管理などの重要なタスクを担当する場合があります。
L
- 図書館(コンピューティング)
- コンピュータプログラムによって使用される不揮発性リソースの集合。多くの場合、ソフトウェア開発に使用されます。これには、設定データ、ドキュメント、ヘルプデータ、メッセージテンプレート、事前に記述されたコードやサブルーチン、クラス、値、型仕様などが含まれます。
- 線形探索
- リスト内の要素を見つけるためのメソッド。一致するものが見つかるか、リスト全体が検索されるまで、リストの各要素を順番にチェックします。[ 138 ]
- リンクリスト
- データ要素の線形集合。その順序はメモリ上の物理的な配置によって決定されません。各要素は次の要素を指します。これは、シーケンスを表すノードの集合で構成されるデータ構造です。
- リンカ
- リンクエディタ(link editor)は、コンパイラまたはアセンブラによって生成された1つ以上のオブジェクトファイルを受け取り、それらを単一の実行ファイル、ライブラリファイル、またはその他の「オブジェクト」ファイルに結合するコンピュータユーティリティプログラムです。出力を直接メモリに書き込むより単純なバージョンはローダーと呼ばれますが、ロードは通常、別のプロセスとして扱われます。[ 139 ]
- リスト
- 可算数の順序付けられた値を表す抽象データ型。同じ値が複数回出現する可能性がある。リストのインスタンスは、有限列という数学的概念のコンピュータ表現である。リストの(潜在的に)無限の類似物はストリームである。[ 140 ]:§3.5 リストは他の値を含むため、コンテナの基本的な例である。同じ値が複数回出現する場合、それぞれの出現は異なる項目とみなされる。
- ローダ
- プログラムとライブラリのロードを担当するオペレーティングシステムの一部。プログラムをメモリに配置し、実行準備をするため、プログラム起動プロセスにおける重要な段階の一つです。プログラムのロードには、プログラム命令を含む実行可能ファイルの内容をメモリに読み込み、実行可能ファイルを実行するために必要なその他の準備作業を実行することが含まれます。ロードが完了すると、オペレーティングシステムはロードされたプログラムコードに制御を渡してプログラムを起動します。
- 論理エラー
- コンピュータプログラミングにおいて、プログラム内のバグ。プログラムの動作に誤りが生じるものの、異常終了(クラッシュ)には至らない。論理エラーは、意図しない、あるいは望ましくない出力やその他の動作を引き起こすが、すぐには認識されない場合がある。
- 論理プログラミング
- 主に形式論理に基づくプログラミングパラダイムの一種。論理型プログラミング言語で書かれたプログラムは、論理形式で記述された文の集合であり、ある問題領域に関する事実と規則を表現します。主要な論理型プログラミング言語ファミリーには、 Prolog、回答集合プログラミング(ASP)、Datalogなどがあります。
M
- 機械学習(ML)
- コンピュータシステムが明示的な指示を必要とせず、パターンと推論に基づいて特定のタスクを実行するために使用するアルゴリズムと統計モデルの科学的研究。人工知能(AI)のサブセットと見なされている。機械学習アルゴリズムは、 「トレーニングデータ」と呼ばれるサンプルデータに基づいて数学モデルを構築し、タスクを実行するように明示的にプログラムすることなく、予測や意思決定を行う。[ 141 ] [ 142 ]
- マシンビジョン(MV)
- 自動検査、プロセス制御、ロボット誘導などの用途において、画像ベースの自動検査および分析を提供するために使用される技術と方法。マシンビジョンは、多くの技術、ソフトウェアおよびハードウェア製品、統合システム、アクション、方法、専門知識を指します。システムエンジニアリング分野としてのマシンビジョンは、コンピュータサイエンスの一形態であるコンピュータビジョンとは異なると考えることができます。既存の技術を新しい方法で統合し、それを適用して現実世界の問題を解決しようとします。この用語は、産業オートメーション環境におけるこれらの機能を指す一般的な用語ですが、セキュリティや車両誘導などの他の環境でもこれらの機能に使用されています。
- 数学的論理
- 数学の一分野であり、形式論理の数学への応用を探求する。メタ数学、数学の基礎、理論計算機科学と密接な関連がある。[ 143 ]数理論理学の統一テーマには、形式体系の表現力と形式証明体系の演繹力の研究が含まれる。
- マトリックス
- 数学において、行列(マトリックス、matrix)とは、行と列に配置された数値、記号、または式の長方形の配列である[ 144 ](不規則行列を参照)。[ 145 ] [ 146 ]
- メモリ
- コンピュータデータストレージ(ストレージとも呼ばれる)は、デジタルデータを保持するために使用されるコンピュータコンポーネントと記録媒体で構成される技術です。これはコンピュータの中核機能であり、基本的な構成要素です。[ 65 ]:15–16
- マージソート
- 効率的で汎用的な比較ベースのソートアルゴリズム。ほとんどの実装では安定ソートが生成され、これは入力と出力で同じ要素の順序が同じであることを意味します。マージソートは、1945年にジョン・フォン・ノイマンによって発明された分割統治アルゴリズムです。 [ 147 ]ボトムアップマージソートの詳細な説明と分析は、1948年にゴールドスタインとフォン・ノイマンによる報告書に早くも登場しました。 [ 148 ]
- 方法
- オブジェクト指向プログラミング(OOP)において、メッセージとオブジェクトに関連付けられた手続き。オブジェクトはデータと振る舞いから構成される。データと振る舞いはインターフェースを構成し、インターフェースはオブジェクトの様々な利用者[ 149 ]がオブジェクトをどのように利用できるかを指定する。
- 方法論
- ソフトウェア工学において、ソフトウェア開発プロセスとは、ソフトウェア開発作業を明確なフェーズに分割し、設計、製品管理、プロジェクト管理を改善するプロセスです。ソフトウェア開発ライフサイクル(SDLC)とも呼ばれます。この方法論には、アプリケーションの開発または保守のためにプロジェクトチームによって作成および完了される特定の成果物や成果物の事前定義が含まれる場合があります。[ 150 ]
- モデム
- データを伝送媒体に適した形式に変換し、あるコンピュータから別のコンピュータに(歴史的には電話線を介して)送信できるようにするハードウェア デバイスです。モデムは、1つまたは複数の搬送波信号を変調して送信用のデジタル情報をエンコードし、信号を復調して送信された情報をデコードします。目的は、簡単に送信でき、確実にデコードして元のデジタル データを再現できる信号を生成することです。モデムは、発光ダイオードから無線にアナログ信号を伝送するほぼすべての手段で使用できます。一般的なタイプのモデムは、コンピュータのデジタル データを電話回線で送信するために変調された電気信号に変換し、受信側で別のモデムによって復調されてデジタル データを復元するものです。
北
- 自然言語処理(NLP)
- 言語学、コンピュータサイエンス、情報工学、人工知能の一分野。コンピュータと人間の(自然)言語との相互作用、特に大量の自然言語データを処理・分析するためのコンピュータのプログラミング方法に関心が寄せられる。自然言語処理における課題には、音声認識、自然言語理解、自然言語生成などが含まれることが多い。
- ノード
- リンクリストやツリーデータ構造などのデータ構造の基本単位です。ノードはデータを保持し、他のノードにリンクすることもできます。ノード間のリンクは、多くの場合、ポインタによって実装されます。
- 数論
- 純粋数学の分野の一つで、主に整数と整数値関数の研究に特化しています。
- 数値解析
- 数学的解析の問題(離散数学とは区別)に対して数値近似(記号操作とは対照的)を使用するアルゴリズムの研究。
- 数値法
- 数値解析において、数値法とは数値問題を解くために設計された数学的なツールです。適切な収束チェックを備えた数値法をプログラミング言語で実装したものを数値アルゴリズムと呼びます。
お
- 物体
- オブジェクトは変数、データ構造、関数、メソッドのいずれかであり、識別子によって参照されるメモリ内の値です。クラスベースのオブジェクト指向プログラミングパラダイムでは、オブジェクトはクラスの特定のインスタンスを指します。この場合、オブジェクトは変数、関数、データ構造の組み合わせです。リレーショナルデータベース管理では、オブジェクトはテーブルや列、またはデータとデータベースエンティティ(ある人の年齢を特定の人に関連付けるなど)の関連付けです。[ 151 ]
- オブジェクトコード
- コンパイラの成果物。[ 152 ]一般的な意味では、オブジェクトコードとは、コンピュータ言語([ 153 ]で記述された文または命令の列を指す。通常は機械語(バイナリ)またはレジスタ転送言語(RTL)などの中間言語)で記述された一連の文または命令を指す。この用語は、コードがコンパイル処理の目的または結果であることを示しており、初期の文献ではソースコードを「サブジェクトプログラム」と呼んでいるものもある。
- オブジェクト指向分析設計(OOAD)
- オブジェクト指向プログラミングを適用し、ソフトウェア開発プロセス全体にわたってビジュアルモデリングを使用して関係者のコミュニケーションと製品の品質をガイドすることにより、アプリケーション、システム、またはビジネスを分析および設計するための技術的アプローチ。
- オブジェクト指向プログラミング(OOP)
- 「オブジェクト」の概念に基づくプログラミングパラダイム。オブジェクトには、フィールド(属性またはプロパティと呼ばれることが多い)の形式でデータと、プロシージャ(メソッドと呼ばれることが多い)の形式でコードを含めることができます。オブジェクトの特徴は、関連付けられているオブジェクトのデータフィールドにアクセスし、多くの場合は変更できるオブジェクトのプロシージャです(オブジェクトには「this」または「 self 」の概念があります)。OOPでは、相互に対話するオブジェクトからコンピュータプログラムを作成することで設計されます。[ 154 ] [ 155 ] OOP言語は多様ですが、最も人気のある言語はクラスベースです。つまり、オブジェクトはクラスのインスタンスであり、クラスによって型も決定されます。
- オープンソースソフトウェア(OSS)
- 著作権者がユーザーにソフトウェアを研究、変更、配布する権利を付与するライセンスの下でソースコードが公開されるコンピュータソフトウェアの一種。[ 156 ]オープンソースソフトウェアは、公開された共同作業によって開発される場合がある。オープンソースソフトウェアは、オープンコラボレーションの顕著な例である。[ 157 ]
- オペレーティングシステム(OS)
- コンピュータのハードウェア、ソフトウェアリソースを管理し、コンピュータ プログラムに共通のサービスを提供するシステム ソフトウェア。
- 光ファイバー
- ガラス(シリカ)またはプラスチックを人間の髪の毛よりわずかに太い直径に引き伸ばして作られた、柔軟で透明な繊維。[ 158 ]光ファイバーは、繊維の両端間で光を伝送する手段として最もよく使用され、電気ケーブルよりも長距離および高帯域幅(データレート)での伝送を可能にする光ファイバー通信で広く使用されています。ファイバーは金属線の代わりに使用されます。信号の損失が少ないためです。さらに、ファイバーは電磁干渉の影響を受けません。電磁干渉は金属線で問題となります。[ 159 ]
P
- ペアプログラミング
- アジャイルソフトウェア開発手法の一つで、2人のプログラマーが1つのワークステーションで共同作業を行う。1人(ドライバー)がコードを書き、もう1人(オブザーバーまたはナビゲーター)が[ 160 ] 入力されたコードの各行をレビューする。2人のプログラマーは頻繁に役割を交代する。
- 並列コンピューティング
- 多くの計算やプロセスの実行が同時に行われる計算の一種。 [ 161 ]大きな問題は多くの場合、小さな問題に分割され、同時に解くことができる。並列計算には、ビットレベル並列、命令レベル並列、データ並列、タスク並列など、いくつかの異なる形式がある。
- パラメータ
- コンピュータプログラミングにおいて、サブルーチン内で使用され、サブルーチンへの入力として提供されるデータの1つを参照する特殊な種類の変数。 [ b ]これらのデータは、サブルーチンが呼び出される/起動される引数(実引数または実パラメータと呼ばれることが多い)の値[ 162 ] [ 163 ] [ 164 ]である。サブルーチンの定義には、通常、順序付けられたパラメータのリストが含まれているため、サブルーチンが呼び出されるたびに、その呼び出しの引数が評価され、結果の値が対応するパラメータに割り当てられます。
- 周辺
- コンピュータシステムに接続または統合され、コンピュータに情報を送受信するために使用される補助デバイス。入力デバイスはコンピュータにデータまたは命令を送信し、出力デバイスはコンピュータからの出力をユーザーに提供します。入出力デバイスは両方の機能を実行します。
- ポインタ
- 多くのプログラミング言語では、メモリアドレスを格納するオブジェクトです。これは、コンピュータメモリ内にある別の値のアドレス、またはメモリマップされたコンピュータハードウェアのアドレスである場合もあります。ポインタはメモリ内の位置を参照し、その位置に格納されている値を取得することをポインタの逆参照といいます。類推として、本の索引にあるページ番号は、対応するページへのポインタと考えることができます。このようなポインタの逆参照は、指定されたページ番号のページに移動し、そのページにあるテキストを読むことで行われます。ポインタ変数の実際の形式と内容は、基盤となるコンピュータアーキテクチャによって異なります。
- 事後条件
- コンピュータプログラミングにおいて、コードのあるセクションの実行直後、または形式仕様における操作の直後に常に真でなければならない条件または述語。事後条件は、コード自体のアサーションを用いてテストされる場合もあります。多くの場合、事後条件は影響を受けるコードセクションのドキュメントに単に含まれることもあります。
- 前提条件
- コンピュータプログラミングにおいて、コードの一部を実行する直前、または形式仕様における操作を実行する前に、常に真でなければならない条件または述語。前提条件に違反した場合、そのコードの一部の効果は未定義となり、意図した動作が実行されない可能性があります。 不適切な前提条件によってセキュリティ上の問題が発生する可能性があります。
- プライマリストレージ
- (メインメモリ、内部メモリ、プライムメモリとも呼ばれ、しばしば単にメモリと呼ばれる)は、CPUが直接アクセスできる唯一のメモリです。CPUはそこに保存されている命令を継続的に読み取り、必要に応じて実行します。アクティブに操作されるデータも、統一された形式でそこに保存されます。
- プリミティブデータ型
- 優先キュー
- 通常のキューやスタックデータ構造に似た抽象データ型ですが、各要素には「優先度」が関連付けられています。優先度付きキューでは、優先度の高い要素が優先度の低い要素よりも先に処理されます。実装によっては、2つの要素が同じ優先度を持つ場合、キューに登録された順序で処理されますが、同じ優先度を持つ要素の順序は定義されていません。
- 手続き型プログラミング
- 手続き型生成
- 手順
- コンピュータプログラミングにおいて、サブルーチンとは、特定のタスクを実行する一連のプログラム命令を単位としてパッケージ化したものです。この単位は、プログラム内で特定のタスクを実行する必要がある箇所であればどこでも使用できます。 サブルーチンはプログラム内で定義することも、多くのプログラムから使用できるライブラリ内で個別に定義することもできます。プログラミング言語によっては、サブルーチンはルーチン、サブプログラム、関数、メソッド、プロシージャなどと呼ばれることがあります。技術的には、これらの用語はすべて異なる定義を持っています。総称的な用語として「 呼び出し可能ユニット」が使用されることもあります。[ 165 ]
- プログラムライフサイクルフェーズ
- プログラムライフサイクルフェーズとは、コンピュータプログラムが初期作成から展開、実行に至るまでの段階を指します。これらのフェーズは、編集時、コンパイル時、リンク時、配布時、インストール時、ロード時、実行時です。
- プログラミング言語
- 様々な出力を生成する一連の命令で構成される形式言語。プログラミング言語は、コンピュータプログラミングにおいてアルゴリズムを実装するために使用されます。
- プログラミング言語の実装
- コンピュータプログラムを実行するためのシステムです。プログラミング言語の実装には、一般的に解釈とコンパイルという2つのアプローチがあります。[ 166 ]
- プログラミング言語理論
- PLT(プログラミング言語とその個々の機能の設計、実装、分析、特性評価、分類)は、コンピュータサイエンスの一分野です。コンピュータサイエンスの専門分野に属し、数学、ソフトウェア工学、言語学、さらには認知科学にも依存し、またそれらに影響を与える分野です。PLTはコンピュータサイエンスの著名な分野であり、活発な研究分野となっています。その成果は、PLT専門の多数のジャーナルや、一般的なコンピュータサイエンスおよび工学の出版物に掲載されています。
- プロローグ
- Prologは、人工知能と計算言語学に関連する論理型プログラミング言語です。[ 167 ] [ 168 ] [ 169 ] Prologは形式論理である一階述語論理 にルーツを持ち、他の多くのプログラミング言語とは異なり、主に宣言型プログラミング言語として設計されています。プログラムロジックは、事実と規則として表される関係で表現されます。計算は、これらの関係に対してクエリを実行することで開始されます。[ 170 ]
- パイソン
- Pythonは、インタプリタ型の高水準汎用プログラミング言語です。Guido van Rossumによって開発され、1991年に初めてリリースされました。Pythonの設計思想は、重要な空白の使用によるコードの可読性を重視しています。その言語構造とオブジェクト指向アプローチは、小規模プロジェクトから大規模プロジェクトまで、プログラマが明確で論理的なコードを記述できるようにすることを目指しています。 [ 171 ]
質問
- 量子コンピューティング
- 重ね合わせやエンタングルメントといった量子力学的現象を利用して計算を行うこと。量子コンピュータは、理論的にも物理的にも実装可能なこのような計算を実行するために使用される。[ 172 ] : I-5
- 列
- コレクション内のエンティティが順序どおりに保持され、コレクションに対する主な (または唯一の) 操作が、後方のターミナル位置へのエンティティの追加 (エンキュー)と、前方のターミナル位置からのエンティティの削除 (デキュー)であるコレクション。
- クイックソート
- ランダム アクセスファイルまたは配列の要素を順序どおりに配置するための体系的な方法として機能する効率的な ソートアルゴリズム。
R
- Rプログラミング言語
- Rは、統計計算とグラフィックスのためのプログラミング言語およびフリーソフトウェア環境であり、R Foundation for Statistical Computingによってサポートされています。[ 173 ] R言語は、統計ソフトウェアの開発[ 174 ]やデータ分析[ 175 ]のために、統計学者やデータマイナーの間で広く使用されています。
- 基数
- デジタル記数法において、位置記数法で数値を表すために使用される、数字の0を含む固有の桁数。例えば、10進法/10進法(現在最も一般的に使用されているシステム)では、0から9までの10桁の数字を使用し、他のすべての数値はこれらの10桁の数字の位置の組み合わせによって一意に指定されるため、基数は10です。一方、コンピューターの標準である2進法では、0と1の2桁のみを使用して各数値を一意に指定するため、基数は2です。
- 記録
- レコード(構造体、 ストラクチャ、複合データとも呼ばれる)は、基本的なデータ構造です。データベースやスプレッドシート内のレコードは通常、「行」と呼ばれます。[ 176 ] [ 177 ] [ 178 ] [ 179 ]
- 再帰
- 対象がそれ自体またはその型によって定義されるときに発生します。再帰は、言語学から論理学に至るまで、様々な分野で用いられています。再帰の最も一般的な応用分野は数学とコンピュータサイエンスであり、定義中の関数が自身の定義内に適用されます。これは一見すると無限の数のインスタンス(関数値)を定義しているように見えますが、多くの場合、無限ループや参照の無限連鎖が発生しないような方法で行われます。
- 参照
- プログラムがコンピュータのメモリやその他の記憶装置内の特定のデータ(変数の値やレコードなど)に間接的にアクセスできるようにする値です。参照はデータを参照すると言われ、データにアクセスすることは参照の逆参照と呼ばれます。
- 参照カウント
- オブジェクト、メモリブロック、ディスクスペースなどのリソースへの参照、ポインタ、またはハンドルの数を保存するプログラミング手法。ガベージコレクションアルゴリズムでは、参照カウントは不要になったオブジェクトの割り当てを解除するために使用される場合があります。
- 回帰テスト
- (まれに非回帰テスト[ 180 ] )は、機能テストと非機能テストを再実行して、以前に開発およびテストされたソフトウェアが変更後も引き続き動作することを確認することです。[ 181 ]そうでない場合は、回帰と呼ばれます。回帰テストが必要となる変更には、バグ修正、ソフトウェアの機能強化、構成変更、さらには電子部品の交換などがあります。[ 182 ]回帰テストスイートは、発見された欠陥ごとに大きくなる傾向があるため、テストの自動化が頻繁に行われます。適切なテストのサブセットを決定するために、変更影響分析が実行されることもあります(非回帰分析[ 183 ] )。
- リレーショナルデータベース
- 1970年にEF Coddによって提唱された、リレーショナルデータモデルに基づくデジタルデータベースです。 [ 184 ] リレーショナルデータベースを管理するためのソフトウェアシステムは、リレーショナルデータベース管理システム(RDBMS)です。多くのリレーショナルデータベースシステムでは、データベースのクエリと管理にSQL (構造化照会言語)を使用するオプションがあります。 [ 185 ]
- 信頼性工学
- システム工学の一分野であり、製品のライフサイクル管理における信頼性を重視する。信頼性とは、システムまたはコンポーネントが規定の条件下で指定された期間機能する能力を指す。 [ 186 ]信頼性は可用性と密接に関連しており、可用性は通常、コンポーネントまたはシステムが指定された瞬間または時間間隔で機能する能力として説明される。
- 要件分析
- システム工学とソフトウェア工学において、要件分析は、様々な利害関係者の矛盾する要件を考慮し、ソフトウェアまたはシステムの要件を分析、文書化、検証、管理しながら、新規または変更された製品やプロジェクトを満たすニーズや条件を決定するタスクに焦点を当てています。[ 187 ]
- ロボット工学
- 機械工学、電子工学、情報工学、コンピュータサイエンスなどを含む、工学と科学の学際的な分野です。ロボティクスは、ロボットの設計、構築、運用、そしてロボットの知覚、制御、感覚フィードバック、情報処理のためのコンピュータシステムの開発に携わります。ロボティクスの目標は、人間の日常生活を支援し、安全を守ることができるインテリジェントな機械を設計することです。
- 丸め誤差
- 正確な演算を用いた特定のアルゴリズムによって生成された結果と、有限精度の丸め演算を用いた同じアルゴリズムによって生成された結果との差。[ 189 ]丸め誤差は、実数の表現とそれを用いた算術演算の不正確さによって生じます。これは量子化誤差の一種です。[ 190 ]近似方程式やアルゴリズムを使用する場合、特に有限桁を使用して実数(理論上は無限桁)を表現する場合、数値解析の目標の1つは計算誤差を推定することです。[ 191 ]計算誤差(数値誤差とも呼ばれます)には、切り捨て誤差と丸め誤差の両方が含まれます。 [ 192 ]
- ルーター
- コンピュータネットワーク間でデータパケットを転送するネットワークデバイス。ルーターはインターネット上のトラフィック誘導機能を実行します。ウェブページや電子メールなど、インターネットを介して送信されるデータは、データパケットの形式です。パケットは通常、インターネットワークを構成するネットワーク(例えばインターネット)を経由して、あるルーターから別のルーターへと転送され、宛先ノードに到達します。[ 193 ]
- ルーティングテーブル
- コンピュータネットワークにおいて、ルーティングテーブル(またはルーティング情報ベース(RIB))は、ルーターまたはネットワークホストに保存されるデータテーブルであり、特定のネットワーク宛先への経路、および場合によってはそれらの経路に関連付けられたメトリック(距離)をリストします。ルーティングテーブルには、その周囲のネットワークのトポロジに関する情報が含まれています。
- 実行時間
- ランタイム、実行時間、または実行時間は、コンピュータプログラムのライフサイクルの最終段階であり、コードがコンピュータの中央処理装置(CPU)上でマシンコードとして実行される段階です。言い換えれば、「ランタイム」とはプログラムの実行段階です。
- 実行時エラー
- 実行時エラーはプログラムの実行後または実行中(実行状態)に検出されますが、コンパイル時エラーはプログラムが実行される前にコンパイラによって検出されます。型チェック、レジスタ割り当て、コード生成、およびコード最適化は通常コンパイル時に行われますが、言語やコンパイラによっては実行時に行われる場合もあります。その他多くの実行時エラーが存在し、プログラミング言語によって処理方法が異なります。たとえば、ゼロ除算エラー、ドメインエラー、配列添字の範囲外エラー、算術アンダーフローエラー、数種類のアンダーフローおよびオーバーフローエラー、および一般にソフトウェアのバグと見なされるその他の多くの実行時エラーは、特定のコンピュータ言語では検出および処理されない場合があります。
S
- 検索アルゴリズム
- 検索問題を解決するアルゴリズム。つまり、何らかのデータ構造内に格納された情報、または離散値または連続値を使用して問題ドメインの検索空間で計算された情報を取得するアルゴリズム。
- 二次記憶装置
- 外部メモリまたは補助記憶装置とも呼ばれる二次記憶装置は、CPUから直接アクセスできないという点で一次記憶装置とは異なります。コンピュータは通常、入出力チャネルを使用して二次記憶装置にアクセスし、必要なデータを一次記憶装置に転送します。二次記憶装置は不揮発性(電源を切ってもデータを保持)です。二次記憶装置は安価であるため、現代のコンピュータシステムは通常、一次記憶装置よりも2桁ほど大きな二次記憶装置を搭載しています。
- 選択ソート
- インプレース比較ソートアルゴリズムです。時間計算量はO ( n^ 2 )であるため、大規模なリストでは効率が悪く、一般的に類似の挿入ソートよりもパフォーマンスが劣ります。選択ソートは単純であることで知られており、特に補助メモリが限られている場合など、特定の状況ではより複雑なアルゴリズムよりもパフォーマンス上の利点があります。
- セマンティクス
- プログラミング言語理論において、意味論はプログラミング言語の意味を厳密な数学的研究する分野です。意味論は、特定のプログラミング言語で定義された構文的に有効な文字列の意味を評価し、それに伴う計算を示すことによって行われます。評価の結果が構文的に無効な文字列である場合、結果は非計算となります。意味論は、特定の言語でプログラムを実行する際にコンピュータが従うプロセスを記述します。これは、プログラムの入力と出力の関係を記述したり、特定のプラットフォーム上でプログラムがどのように実行されるかを説明したりすることで示され、計算モデルを作成します。
- 順序
- 数学において、数列とは、繰り返しが許可され、順序が重要な、オブジェクトの列挙されたコレクションです。集合と同様に、数列にはメンバー(要素または項とも呼ばれる) が含まれます。要素の数 (無限の場合もあります) は、数列の長さと呼ばれます。集合とは異なり、数列では同じ要素が異なる位置に複数回出現することができ、順序が重要です。正式には、数列は、定義域が自然数の集合(無限数列の場合) または最初のn個の自然数の集合(有限長nの数列の場合) である関数として定義できます。数列における要素の位置はその階数またはインデックスで、これはその要素が像となる自然数です。最初の要素のインデックスは、コンテキストまたは特定の規則に応じて 0 または 1 です。記号を使用して数列を表す場合、数列のn番目の要素は、 nを下付き文字としてこの記号で表します。たとえば、フィボナッチ数列Fのn番目の要素は、通常F n と表されます。たとえば、(M, A, R, Y) は、文字 'M' が最初で 'Y' が最後である文字のシーケンスです。このシーケンスは、(A, R, M, Y) とは異なります。また、2 つの異なる位置に数字 1 が含まれるシーケンス (1, 1, 2, 3, 5, 8) も有効なシーケンスです。シーケンスは、これらの例のように有限になることもあれば、すべての偶数の正の整数(2, 4, 6, ...)のシーケンスのように無限になることもあります。コンピューティングとコンピュータ サイエンスの分野では、有限シーケンスは文字列、ワード、またはリストと呼ばれることもあり、これらの異なる名前は一般にコンピュータ メモリ内でシーケンスを表現するさまざまな方法に対応しています。一方、無限シーケンスはストリームと呼ばれます。空のシーケンス ( ) は、ほとんどのシーケンスの概念に含まれますが、コンテキストによっては除外されることがあります。
- 直列化可能性
- データベースの同時実行制御では、[ 194 ] [ 195 ]トランザクション処理(トランザクション管理)、および集中型と分散型の両方のトランザクションアプリケーション (例:トランザクション メモリ[ 196 ]やソフトウェア トランザクション メモリ) において、トランザクション スケジュールは、その結果 (結果のデータベース状態) が、逐次的に実行されたトランザクションの結果と等しい場合、つまり時間的に重複しない場合、直列化可能です。トランザクションは通常、最も効率的な方法であるため、同時に実行されます (重複します)。直列化可能性は、同時トランザクション実行の主要な正確性基準です。これは、トランザクション間の最高レベルの分離であると考えられており、同時実行制御で重要な役割を果たします。そのため、すべての汎用データベース システムでサポートされています。強力で厳密な 2 フェーズ ロック(SS2PL) は、1970 年代の初期の頃からほとんどのデータベース システム (さまざまなバリアント) で使用されている、一般的な直列化メカニズムです。
- シリアル化
- データ構造またはオブジェクトの状態を、保存 (たとえば、ファイルまたはメモリバッファー) または転送 (たとえば、ネットワーク接続リンク経由) して後で再構築 (おそらく別のコンピューター環境で)できる形式に変換するプロセスです。 [ 197 ]結果のビット列をシリアル化形式に従って再度読み取ると、元のオブジェクトの意味的に同一のクローンを作成できます。参照を多用するオブジェクトなど、多くの複雑なオブジェクトの場合、このプロセスは簡単ではありません。オブジェクト指向オブジェクトのシリアル化には、以前にリンクされていた関連メソッドは含まれません。オブジェクトをシリアル化するこのプロセスは、状況によってはオブジェクトのマーシャリングとも呼ばれます。 [ 198 ] [ 199 ]反対の操作、つまり一連のバイトからデータ構造を抽出する操作は、デシリアライゼーション(アンシリアライゼーションまたはアンマーシャリングとも呼ばれます) です。
- サーバ
- コンピュータネットワーク上で「クライアント」と呼ばれる他のコンピュータに情報を提供するコンピュータ。[ 200 ]このアーキテクチャはクライアントサーバーモデルと呼ばれます。
- サービスレベル契約
- SLA は、サービス プロバイダーとクライアント間のコミットメントです。サービスの特定の側面 (品質、可用性、責任) は、サービス プロバイダーとサービス ユーザーの間で合意されます。[ 201 ] SLA の最も一般的な要素は、サービスは契約で合意されたとおりに顧客に提供されるべきであるというものです。たとえば、インターネット サービス プロバイダーや電話会社は、顧客との契約条件にサービス レベル契約を含め、販売されるサービスのレベルをわかりやすい言葉で定義するのが一般的です。この場合、SLA には通常、 平均故障間隔(MTBF)、平均修復時間、平均復旧時間(MTTR) の技術的な定義、障害の報告や料金の支払いの責任がある当事者の特定、さまざまなデータ レートの責任、スループット、ジッター、または同様の測定可能な詳細が含まれます。
- セット
- 特定の順序なしに一意の値を格納できる抽象データ型です。これは、有限集合という数学的概念をコンピュータに実装したものです。他の多くのコレクション型とは異なり、集合から特定の要素を取得するのではなく、通常は値が集合に属しているかどうかをテストします。
- シングルトン
- 一度だけ出現する要素を指します。オブジェクト指向プログラミングにおいて、シングルトンクラスはインスタンスを一つだけ持ちます。数学において、シングルトンとは要素を一つだけ持つ集合のことです。言語学において、ハパックス・レゴメノンとは、あるコーパスにおいて一度だけ出現する用語のことです。プログラミングにおいて、一度だけ出現するシングルトン変数は、ダミー引数、あるいはリンターによって検出可能なエラーである可能性があります。unique と対比してください。
- ソフトウェア
- コンピュータソフトウェア、または単にソフトウェアとは、コンピュータの動作を指示するデータまたはコンピュータ命令の集合です。これは、システムが構築され、実際に作業を実行する物理的なハードウェアとは対照的です。コンピュータサイエンスとソフトウェアエンジニアリングにおいて、コンピュータソフトウェアとは、コンピュータシステムによって処理されるすべての情報、プログラム、およびデータを指します。コンピュータソフトウェアには、コンピュータプログラム、ライブラリ、およびオンラインドキュメントやデジタルメディアなどの関連する非実行データが含まれます。コンピュータハードウェアとソフトウェアは互いに必要であり、どちらも単独では現実的に使用できません。
- ソフトウェアエージェント
- エージェントは、代理関係においてユーザーまたは他のプログラムのために動作するコンピュータプログラムであり、ラテン語のagere (する) に由来し、代理で動作することを約束する。このような「代理動作」は、どの動作が適切であるかを決定する権限を含む。[ 202 ] [ 203 ]エージェントは、ロボットに由来し、口語的にはボットと呼ばれる。実行がロボット本体とペアになっている場合のように具体化される場合もあれば、電話 ( Siriなど) や他のコンピューティングデバイスで実行されるチャットボットなどのソフトウェアとして具体化される場合もある。ソフトウェアエージェントは自律的である場合もあれば、他のエージェントまたは人と連携して動作する場合もある。人と対話するソフトウェアエージェント (チャットボット、人間とロボットの対話環境など) は、自然言語理解や発話、性格など、人間のような性質を持つ場合もあれば、ヒューマノイドの形を具現する場合もある ( Asimo を参照)。
- ソフトウェア構築
- ソフトウェアエンジニアリングの分野の一つです。コーディング、検証、単体テスト、統合テスト、デバッグなどを組み合わせて、実際に機能する意味のあるソフトウェアを詳細に作成します。他のすべてのソフトウェアエンジニアリング分野と関連しており、特にソフトウェア設計とソフトウェアテストと密接に関連しています。[ 204 ]
- ソフトウェアの展開
- ソフトウェアシステムを利用可能にするすべての活動です。 [ 205 ]
- ソフトウェア設計
- ソフトウェア設計とは、エージェントが一連の基本コンポーネントを使用し、制約の下で目標を達成することを目的としたソフトウェア成果物の仕様を作成するプロセスです。[ 206 ]ソフトウェア設計は、「複雑なシステムの概念化、枠組み作り、実装、運用、そして最終的には変更に関わるすべての活動」、または「要件仕様に続き、プログラミングの前に行われる活動、つまり様式化されたソフトウェアエンジニアリングプロセス」のいずれかを指します。[ 207 ]
- ソフトウェア開発
- アプリケーション、フレームワーク、またはその他のソフトウェアコンポーネントの作成と保守に関わる、構想、仕様策定、設計、プログラミング、文書化、テスト、バグ修正のプロセス。ソフトウェア開発はソースコードの作成と保守のプロセスであるが、より広い意味では、計画的かつ構造化されたプロセスにおいて、望ましいソフトウェアの構想から最終的なソフトウェアの実現に至るまでの全ての過程を含む。[ 208 ]したがって、ソフトウェア開発には、研究、新規開発、プロトタイピング、修正、再利用、リエンジニアリング、保守、あるいはソフトウェア製品を生み出すその他のあらゆる活動が含まれる。[ 209 ]
- ソフトウェア開発プロセス
- ソフトウェア工学において、ソフトウェア開発プロセスとは、ソフトウェア開発作業を明確なフェーズに分割することで、設計、製品管理、プロジェクト管理を改善するプロセスです。ソフトウェア開発ライフサイクル(SDLC)とも呼ばれます。この方法論には、アプリケーションの開発または保守のためにプロジェクトチームが作成および完了する特定の成果物や成果物の事前定義が含まれる場合があります。 [ 150 ]現代の開発プロセスのほとんどは、漠然とアジャイル と説明できます。その他の方法論には、ウォーターフォール、プロトタイピング、反復的・増分的開発、スパイラル開発、ラピッドアプリケーション開発、エクストリームプログラミングなどがあります。
- ソフトウェアエンジニアリング
- ソフトウェア開発への工学的アプローチの体系的な応用である。[ 210 ] [ 211 ] [ 212 ]ソフトウェア工学はコンピューティングの分野である。[ 213 ]
- ソフトウェアメンテナンス
- ソフトウェア工学においては、納品後にソフトウェア製品を修正し、欠陥を修正したり、性能やその他の特性を改善したりすることを指します。[ 214 ]
- ソフトウェアプロトタイピング
- ソフトウェアアプリケーションのプロトタイプ、つまり開発中のソフトウェアプログラムの不完全なバージョンを作成する活動です。これはソフトウェア開発において行われる活動であり、機械工学や製造業などの他の分野で知られているプロトタイピングに相当します。プロトタイプは通常、最終製品のいくつかの側面のみをシミュレートするもので、最終製品とは全く異なる場合もあります。
- ソフトウェア要件仕様
- ソフトウェア要件仕様(SRS)は、開発されるソフトウェア システムの記述です。ソフトウェア要件仕様は、機能要件と非機能要件を規定し、ソフトウェアがユーザーに完璧なインタラクションを提供するために提供しなければならないユーザーインタラクションを記述したユースケースのセットを含む場合があります。
- ソフトウェアテスト
- テスト対象となるソフトウェア製品またはサービスの品質に関する情報を利害関係者に提供するために実施される調査です。 [ 215 ]ソフトウェアテストは、ソフトウェアに対する客観的かつ独立した視点を提供することで、企業がソフトウェア実装のリスクを評価し理解することを可能にします。テスト技術には、ソフトウェアのバグ(エラーやその他の欠陥)を発見することを目的としてプログラムまたはアプリケーションを実行し、ソフトウェア製品が使用可能であることを検証するプロセスが含まれます。
- ソートアルゴリズム
- リストの要素を特定の順序に並べるアルゴリズムです。最もよく使われる順序は、数値順と辞書順です。効率的なソートは、入力データがソートされたリストにあることを必要とする他のアルゴリズム(検索アルゴリズムやマージアルゴリズムなど)の効率を最適化するために重要です。また、ソートはデータの正規化や人間が読める出力の生成にも役立ちます。より正式には、あらゆるソートアルゴリズムの出力は次の2つの条件を満たす必要があります。
- 出力は非減少順序です(各要素は、目的の合計順序に従って、前の要素よりも小さくなりません)。
- 出力は入力の順列(元の要素をすべて保持したまま順序を変更したもの)になります。
- ソースコード
- コンピューティングにおいて、ソースコードとは、コメントの有無にかかわらず、人間が読めるプログラミング言語を使用して、通常はプレーンテキストとして書かれたコードの集まりです。プログラムのソースコードは、コンピュータプログラマーの作業を容易にするために特別に設計されています。コンピュータプログラマーは、主にソースコードを記述することで、コンピュータに実行させる動作を指定します。ソースコードは、多くの場合、アセンブラまたはコンパイラーによって、コンピュータで実行可能なバイナリマシンコードに変換されます。その後、マシンコードは後で実行するために保存されることがあります。あるいは、ソースコードを解釈してすぐに実行することもあります。
- スパイラルモデル
- リスク駆動型のソフトウェア開発プロセスモデルです。スパイラルモデルは、プロジェクト固有のリスクパターンに基づいて、チームがインクリメンタル、ウォーターフォール、進化型プロトタイピングなどの1つ以上のプロセスモデルの要素を採用するよう導きます。
- スタック
- 要素のコレクションとして機能する抽象データ型であり、次の 2 つの主要な操作があります。
- pushはコレクションに要素を追加します。
- pop は、まだ削除されていない、最後に追加された要素を削除します。
- 州
- 情報技術とコンピュータサイエンスにおいて、システムが以前のイベントやユーザーとのやりとりを記憶するように設計されている場合、そのシステムは状態があると言われます。 [ 219 ]記憶された情報はシステムの状態と呼ばれます。
- 声明
- コンピュータプログラミングにおいて、文(ステートメント)とは、命令型プログラミング言語における構文単位であり、実行すべき何らかのアクションを表現する。[ 220 ]このような言語で書かれたプログラムは、1つ以上の文の連続によって構成される。文は内部構成要素(例えば、式)を持つ場合がある。
- ストレージ
- コンピュータデータストレージは、デジタルデータを保持するために使用されるコンピュータコンポーネントと記録媒体で構成される技術です。これはコンピュータの中核機能であり、基本的な構成要素です。[ 65 ]:15–16
- ストリーム
- ストリームとは、時間の経過とともに利用可能になるデータ要素のシーケンスです。ストリームは、ベルトコンベア上のアイテムが、大きなバッチではなく、一度に1つずつ処理される様子と考えることができます。
- 弦
- コンピュータプログラミングにおいて、文字列は伝統的に文字のシーケンスであり、リテラル定数または何らかの変数として表されます。後者の場合、要素を変更して長さを変更したり、(作成後に)固定したりできます。文字列は一般的にデータ型とみなされ、多くの場合、文字エンコーディングを使用して、通常は文字である要素のシーケンスを格納するバイト(またはワード)の配列データ構造として実装されます。文字列は、より一般的な配列やその他のシーケンス(またはリスト)データ型や構造を表すこともあります。
- 構造化ストレージ
- NoSQL(元々は「非SQL」または「非リレーショナル」を意味していた)[ 221 ]データベースは、リレーショナルデータベースで使用される表形式の関係とは異なる方法でモデル化されたデータの保存と検索のためのメカニズムを提供します。このようなデータベースは1960年代後半から存在していましたが、「NoSQL」という名称が生まれたのは21世紀初頭になってからであり、[ 222 ] Web 2.0企業のニーズがきっかけでした。[ 223 ] [ 224 ] NoSQLデータベースは、ビッグデータやリアルタイムWebアプリケーションでますます利用されています。[ 225 ] NoSQLシステムは、 SQLのようなクエリ言語をサポートしたり、多言語対応の永続的アーキテクチャでSQLデータベースと併用 できることを強調するために、「Not only SQL」と呼ばれることもあります。[ 226 ] [ 227 ]
- サブルーチン
- コンピュータプログラミングにおいて、サブルーチンとは、特定のタスクを実行する一連のプログラム命令を単位としてパッケージ化したものです。この単位は、プログラム内で特定のタスクを実行する必要がある箇所であればどこでも使用できます。 サブルーチンはプログラム内で定義することも、多くのプログラムから使用できるライブラリ内で個別に定義することもできます。プログラミング言語によっては、サブルーチンはルーチン、サブプログラム、関数、メソッド、プロシージャなどと呼ばれることがあります。技術的には、これらの用語はすべて異なる定義を持っています。総称的な用語として「 呼び出し可能ユニット」が使用されることもあります。[ 165 ]
- 記号計算
- 数学とコンピュータサイエンスにおいて、[ 228 ]コンピュータ代数は記号計算または代数計算とも呼ばれ、数式やその他の数学的オブジェクトを操作するためのアルゴリズムとソフトウェアの研究と開発を指す科学分野です。コンピュータ代数は科学計算のサブフィールドと考えることもできますが、科学計算は通常、近似浮動小数点数を使用した数値計算に基づいているのに対し、記号計算は与えられた値を持たず記号として操作される変数を含む式による正確な計算を重視するため、通常は両者は異なる分野と見なされます。
- 構文
- コンピュータ言語の構文とは、その言語において正しく構造化された文または式とみなされる記号の組み合わせを定義する規則の集合です。これは、文書がソースコードを表すプログラミング言語と、文書がデータを表すマークアップ言語の両方に適用されます。
- 構文エラー
- コンパイル時に記述される文字列またはトークンのシーケンスにおける構文エラーです。すべての構文エラーが修正されるまで、プログラムはコンパイルされません。しかし、インタープリタ型言語では、プログラム実行中に構文エラーが検出される可能性があり、インタープリタのエラーメッセージでは構文エラーと他の種類のエラーが区別されない場合があります。「構文エラー」がどのようなエラーであるかについては意見の相違があります。例えば、Javaコードで初期化されていない変数の値を使用することは構文エラーであると考える人もいますが、多くの人はこれに反対し、 [ 229 ] [ 230 ]これを(静的)意味エラーに分類します。
- システムコンソール
- システム コンソール、コンピュータ コンソール、ルート コンソール、オペレータコンソール、または単にコンソールは、システム管理メッセージ、特にBIOSまたはブートローダ、カーネル、initシステム、およびシステム ロガーからのメッセージ用のテキスト入力および表示デバイスです。これはキーボードと画面で構成される物理デバイスであり、伝統的にはテキスト ターミナルですが、グラフィカル ターミナルの場合もあります。システム コンソールはコンピュータ ターミナルに一般化されており、それぞれ仮想コンソールとターミナル エミュレータによって抽象化されています。今日、システム コンソールとの通信は、標準ストリーム( stdin、stdout、およびstderr )を介して抽象的に行われるのが一般的ですが、システム カーネルで使用されるものなど、システム固有のインターフェイスが存在する場合もあります。
T
- 技術文書
- 工学においては、技術製品、または開発中もしくは使用中の製品の取り扱い、機能、アーキテクチャを記述したあらゆる種類の文書を指します。 [ 231 ] [ 232 ] [ 233 ]製品の技術文書は、(熟練した)エンドユーザーと管理者/サービス技術者、または保守技術者の両方を対象としています。単なる「クックブック」のようなマニュアルとは異なり、技術文書は、ユーザーが製品の内部および外部の依存関係を理解するのに十分な情報を提供することを目的としています。
- 第三世代プログラミング言語
- 第三世代プログラミング言語(3GL)は、第一世代の機械語や第二世代のアセンブリ言語よりも機種非依存でプログラマフレンドリーな傾向がある高水準コンピュータプログラミング言語であるが、第四世代と第五世代にはあまり焦点を当てていない。[ 234 ]一般的な歴史的な第三世代プログラミング言語の例としては、 ALGOL、BASIC、C、COBOL、Fortran、Java、Pascalなどがある。
- トップダウンとボトムアップの設計
- 木
- 広く使用されている抽象データ型(ADT)で、ルート値と、親ノードを持つ子のサブツリーを持つ階層ツリー構造をシミュレートし、リンクされたノードのセットとして表されます。
- 型理論
- 数学、論理学、コンピュータサイエンスにおいて、型理論とは形式体系の一種であり、その一部はあらゆる数学の基礎として集合論の代替として機能し得る。型理論では、すべての「項」には「型」があり、演算は特定の型の項に限定される。
あなた
- アップロード
- コンピュータネットワークにおいて、サーバーや別のクライアントなどのリモートシステムにデータを送信し、リモートシステムがそのコピーを保存できるようにする。[ 235 ]ダウンロードと対比。
- ユニフォーム リソース ロケータ(URL)
- ウェブリソースへの参照であり、コンピュータネットワーク上の位置と、それを取得するメカニズムを指定します。URLはUniform Resource Identifier(URI)の一種ですが、 [ 237 ] [ 238 ]、多くの人がこの2つの用語を同じ意味で使用しています。[ 239 ] [ c ] URLはウェブページ(http )を参照するために最も一般的に使用されますが、ファイル転送( ftp)、電子メール(mailto)、データベースアクセス(JDBC)、その他多くのアプリケーションにも使用されます。
- 個性的
- 他の要素とは異なる要素。データベースのレコードは、一意のキーを使用して個別に保持されます。集合は、そのすべての要素が一意であることを保証します。一意の要素の存在は、一意性量化を使用してモデル化されます。シーケンスまたはリスト内の一意の要素を見つけるには、データの重複排除が必要です。シングルトンと対比してください。
- ユーザー
- コンピュータやネットワークサービスを利用する人。コンピュータシステムやソフトウェア製品のユーザーは、一般的に、それらの仕組みを完全に理解するために必要な技術的専門知識を欠いている。[ 242 ]パワーユーザーは、必ずしもコンピュータプログラミングやシステム管理の能力を備えているわけではないが、プログラムの高度な機能を利用する。
- ユーザーエージェント
- ユーザーに代わって動作するソフトウェア(ソフトウェアエージェント)。例えば、Webブラウザは「Webコンテンツを取得、レンダリングし、エンドユーザーとWebコンテンツのやりとりを容易にする」。[ 243 ]電子メールリーダーはメールユーザーエージェントである。
- ユーザーインターフェース(UI)
- 人間と機械の相互作用が生じる空間。この相互作用の目的は、人間側から機械を効果的に操作・制御すると同時に、機械側からオペレータの意思決定を支援する情報をフィードバックすることです。この広範なユーザーインターフェースの概念の例としては、コンピュータオペレーティングシステム、ハンドツール、重機のオペレータ制御、プロセス制御などのインタラクティブな側面が挙げられます。ユーザーインターフェースを作成する際に考慮すべき設計上の考慮事項は、人間工学や心理学といった分野に関連、あるいは関与しています。
- ユーザーインターフェースデザイン
- コンピュータ、家電製品、モバイル機器、その他の電子機器などの機械やソフトウェアのユーザーインターフェースの設計。使いやすさとユーザーエクスペリエンスの最大化に重点を置いています。ユーザーインターフェース設計の目標は、ユーザーの目的を達成するという観点から、ユーザーのインタラクションを可能な限りシンプルかつ効率的にすることです(ユーザー中心設計)。
V
- 変数
- コンピュータプログラミングにおいて、変数またはスカラーとは、記憶場所(メモリアドレスで識別)とそれに関連付けられた記号名(識別子)のペアであり、値と呼ばれる既知または未知の情報量が含まれます。変数名は、コンテキストに応じて変数自体を参照することに加えて、格納された値を参照するための通常の方法です。名前と内容を分離することで、名前はそれが表す正確な情報とは独立して使用できます。コンピュータソースコード内の識別子は実行時に値にバインドすることができ、そのため変数の値はプログラム実行の過程で変化する可能性があります。[ 244 ] [ 245 ]
- 仮想マシン(VM)
- コンピュータシステムのエミュレーション。仮想マシンはコンピュータアーキテクチャに基づいており、物理コンピュータと同じ機能を提供しようとします。その実装には、専用のハードウェア、ソフトウェア、またはその両方の組み合わせが含まれる場合があります。
- Vモデル
- ウォーターフォールモデルの拡張版とも言えるソフトウェア開発プロセスであり、より一般的なVモデルの一例です。プロセスステップは直線的に下降するのではなく、コーディングフェーズ以降は上向きにカーブし、典型的なV字型を形成します。Vモデルは、開発ライフサイクルの各フェーズとそれに関連するテストフェーズの関係性を示しています。横軸と縦軸は、それぞれ時間またはプロジェクトの完了度(左から右)と抽象度レベル(最も粗い粒度の抽象度が上)を表します。[ 246 ]
W
- ウォーターフォールモデル
- プロジェクト活動を直線的な連続フェーズに分割する手法。各フェーズは前のフェーズの成果物に依存し、タスクの専門化に対応します。このアプローチは、エンジニアリング設計の特定の分野では一般的です。ソフトウェア開発においては、構想、開始、分析、設計、構築、テスト、展開、保守の各フェーズを経て、進捗がほぼ一方向(滝のように「下向き」)に流れるため、反復性と柔軟性の低いアプローチとなる傾向があります。
- 波形オーディオファイル形式
- MicrosoftとIBMによって開発された、 PC上でオーディオビットストリームを保存するためのオーディオファイル形式の標準規格。データを「チャンク」単位で保存するリソース交換ファイル形式(RIFF)ビットストリーム形式を応用したもので、 AmigaやMacintoshで使用されている8SVX形式やAIFF形式に近い。Microsoft Windowsシステムでは、生の、通常は非圧縮のオーディオデータを保存するのに主に使用されている形式である。ビットストリームのエンコードには、通常、線形パルス符号変調(LPCM)形式が用いられる。
- ウェブクローラー
- 通常はWeb インデックス作成( Web スパイダー)を目的として、World Wide Web を体系的に閲覧するインターネットボット。
- Wi-Fi
- IEEE 802.11規格群に基づく無線ネットワーク技術群。デバイスのローカルエリアネットワークやインターネットアクセスに広く利用されている。Wi -Fiは非営利団体Wi-Fi Allianceの商標であり、 「Wi-Fi Certified」という用語の使用は相互運用性認証テストに合格した製品に限定されている。 [ 247 ] [ 248 ] [ 249 ]
X
- XHTML
- XMLマークアップ言語ファミリーの一部です。Webページの作成言語として広く使用されているハイパーテキストマークアップ言語(HTML)のバージョンをミラーリングまたは拡張したものです。
参照
参考文献
- ^ 「抽象メソッドとクラス」 . oracle.com . Oracle Javaドキュメント. 2014年12月11日閲覧。
- ^ Colburn, Timothy; Shute, Gary (2007-06-05). 「コンピュータサイエンスにおける抽象化」. Minds and Machines . 17 (2): 169– 184. doi : 10.1007/s11023-007-9061-7 . ISSN 0924-6495 . S2CID 5927969 .
- ^ a b Kramer, Jeff (2007-04-01). 「抽象化はコンピューティングの鍵か?」Communications of the ACM . 50 (4): 36– 42. CiteSeerX 10.1.1.120.6776 . doi : 10.1145/1232743.1232745 . ISSN 0001-0782 . S2CID 12481509 .
- ^エージェントアーキテクチャの比較アーカイブ済み2008年8月27日、 Wayback Machine
- ^ Klug, Anthony (1982年7月). 「集約関数を持つリレーショナル代数とリレーショナル計算クエリ言語の同値性」 . Journal of the Association for Computing Machinery . 29 (3): 699– 717. doi : 10.1145/322326.322332 .
- ^ Collier, Ken W. (2011). Agile Analytics: A Value-Driven Approach to Business Intelligence and Data Warehousing . Pearson Education. pp. 121 ff. ISBN 9780321669544
自己組織化チームとは何でしょうか
? - ^ 「アジャイルソフトウェア開発とは何か?」アジャイルアライアンス、2013年6月8日。 2015年4月4日閲覧。
- ^ Goodrich, Michael T. ; Tamassia, Roberto (2002)、『アルゴリズム設計:基礎、分析、インターネットの例』、John Wiley & Sons, Inc.、ISBN 978-0-471-38365-9
- ^ 「アプリケーションソフトウェア」 . PC Magazine . Ziff Davis .
- ^ Black, Paul E. (2008年11月13日). 「array」 .アルゴリズムとデータ構造の辞書.米国国立標準技術研究所. 2010年8月22日閲覧。
- ^ Bjoern Andres; Ullrich Koethe; Thorben Kroeger; Hamprecht (2010). 「C++98およびC++0xにおける実行時対応可能な多次元配列とビュー」. arXiv : 1008.2909 [ cs.DS ].
- ^ Garcia, Ronald; Lumsdaine, Andrew (2005). 「MultiArray: 配列を用いたジェネリックプログラミングのためのC++ライブラリ」.ソフトウェア: 実践と経験. 35 (2): 159– 188. doi : 10.1002/spe.630 . ISSN 0038-0644 . S2CID 10890293 .
- ^知的エージェント の研究としてのAIの定義:
- Poole, Mackworth & Goebel 1998 , p. 1 。本稿で使用しているバージョンは、この文献に基づいています。「計算知能」という用語が人工知能の同義語として使用されていることに注意してください。
- Russell & Norvig (2003) (「合理的エージェント」という用語を好む) は、「エージェント全体の視点は現在、この分野で広く受け入れられている」と書いています ( Russell & Norvig 2003、p. 55)。
- ニルソン 1998
- レッグ&ハッター 2007 .
- ^ラッセル&ノルヴィグ 2009、2ページ。
- ^ Goodrich, Michael T. ; Tamassia, Roberto (2006)、「9.1 マップ抽象データ型」、Javaのデータ構造とアルゴリズム(第4版)、Wiley、pp. 368– 371
- ^メルホーン、カート、サンダース、ピーター(2008年)、"4 ハッシュテーブルと連想配列"、アルゴリズムとデータ構造:基本ツールボックス(PDF)、シュプリンガー、pp. 81– 98
- ^ Douglas Comer、「コンピュータネットワークとインターネット」、99ページ以降、Prentice Hall 2008年。
- ^ Fred Halsall、「データ+通信とコンピュータネットワーク」、108ページ、Addison-Wesley、1985年。
- ^ Cisco Networking Academy プログラム: CCNA 1 および 2 コンパニオン ガイド、Volym 1–2、Cisco Academy 2003
- ^ Behrouz A. Forouzan,データ通信とネットワーキング, McGraw-Hill, 2007
- ^ Fleming, Philip J.; Wallace, John J. (1986-03-01). 「統計で嘘をつかない方法:ベンチマーク結果を正しく要約する方法」 Communications of the ACM . 29 (3): 218– 221. doi : 10.1145/5666.5673 . ISSN 0001-0782 . S2CID 1047380 .
- ^ Breur, Tom (2016年7月). 「統計的検出力分析と社会科学における現代の「危機」」 . Journal of Marketing Analytics . 4 ( 2–3 ): 61–65 . doi : 10.1057/s41270-016-0001-3 . ISSN 2050-3318 .
- ^ポール・バックマン(1894)。Analytische Zahlentheorie [解析的整数論] (ドイツ語)。 Vol. 2. ライプツィヒ:トイブナー。
- ^エドマンド・ランダウ(1909)。Handbuch der Lehre von der Verreilung der Primzahlen [素数の分布理論に関するハンドブック] (ドイツ語)。ライプツィヒ:BG・トイブナー。 p. 883.
- ^ Williams, Jr., Louis F. (1976年4月22日).半区間探索(二分探索)法の修正. Proceedings of the 14th ACM Southeast Conference. ACM. pp. 95– 101. doi : 10.1145/503561.503582 . 2017年3月12日時点のオリジナルよりアーカイブ。 2018年6月29日閲覧。
- ^ Knuth 1998、§6.2.1(「順序付きテーブルの検索」)、サブセクション「二分探索」。
- ^バターフィールド & ンゴンディ 2016、p. 46.
- ^トーマス・H・コーメン;チャールズ・E・ライザーソン;ロナルド・L・リベスト;スタイン、クリフォード(2009) [1990]。アルゴリズム入門(第 3 版)。 MIT プレスとマグロウヒル。 p. 39.ISBN 0-262-03384-4。
- ^ Rowan Garnier、John Taylor (2009). 『離散数学:証明、構造、応用、第3版』CRC Press. p. 620. ISBN 978-1-4398-1280-8。
- ^ Steven S Skiena (2009). 『アルゴリズム設計マニュアル』 Springer Science & Business Media. p. 77. ISBN 978-1-84800-070-4。
- ^ Mackenzie, Charles E. (1980). Coded Character Sets, History and Development (PDF) . The Systems Programming Series (第1版). Addison-Wesley Publishing Company, Inc. p. x. ISBN 978-0-201-14460-4. LCCN 77-90165 . 2016年5月26日時点のオリジナルよりアーカイブ(PDF) . 2019年8月25日閲覧.
- ^ Gupta, Prakash C (2006).データ通信とコンピュータネットワーク. PHI Learning. ISBN 9788120328464. 2011年7月10日閲覧。
- ^ James D. Murray、William vanRyper (1996年4月). 『Encyclopedia of Graphics File Formats (Second ed.). O'Reilly . bmp. ISBN 978-1-56592-161-0. 2014年3月7日閲覧。
- ^ James D. Murray、William vanRyper (1996年4月). 『Encyclopedia of Graphics File Formats (Second ed.). O'Reilly . os2bmp. ISBN 978-1-56592-161-0. 2014年3月7日閲覧。
- ^ニコルズ1975、pp.159-161,318-320,322-325 。
- ^ Gries, David ; Schneider, Fred B. (1993)、「第2章 ブール式」、離散数学への論理的アプローチ、Monographs in Computer Science、Springer、25ページ以降、ISBN 9780387941158
- ^ポール&ショー 1981年、 101 ~105頁 。
- ^Blaauw, Gerrit Anne ; Brooks, Jr., Frederick Phillips ; Buchholz, Werner (1962)、「4: Natural Data Units」(PDF)、Buchholz, Werner(編)『Planning a Computer System – Project Stretch』、McGraw-Hill Book Company, Inc. / The Maple Press Company, York, PA.、pp. 39– 40、LCCN 61-10466、2017年4月3日時点のオリジナルよりアーカイブ(PDF) 、2017年4月3日取得、 […]
ビット
に加えて、マシン設計によって課せられる構造を説明するためにここで使用される用語を以下に挙げます。バイトは、文字をエンコードするために使用されるビットのグループ、または入出力装置間で並列に送信されるビット数を示します。ここで「文字」以外の用語が使用されているのは、ある文字が異なるアプリケーションで複数のコードによって表現される場合があり、異なるコードでは異なるビット数(つまり、異なるバイトサイズ)が使用される場合があるためです。入出力伝送において、ビットのグループ化は完全に任意であり、実際の文字とは無関係です。(この用語は「bite (バイト)」から派生した造語ですが、誤って「bit (ビット) 」と表記されることを避けるために「bit(ビット)」に書き換えられています。)ワードは、1回のメモリサイクルでメモリからまたはメモリへ並列に送信されるデータビットの数で構成されます。したがって、ワードサイズはメモリの構造的特性として定義されます。(「catena(カテナ)」という用語は、 Bull GAMMA 60コンピュータの設計者によってこの目的で造語されました。)ブロックは、単一の入出力命令に応答して入出力ユニットとの間で送信されるワード数を指します。ブロックサイズは入出力ユニットの構造的特性であり、設計によって固定されている場合もあれば、プログラムによって変更される場合もあります。[…]
- ^ Bemer, Robert William (1959)、「256文字の一般化カードコードの提案」、Communications of the ACM、2 (9): 19– 23、doi : 10.1145/368424.368435、S2CID 36115735
- ^ Weik, Martin H. (1961).国内電子デジタル計算システムに関する第3回調査(報告書).弾道研究研究所.
- ^デヴィッド・クック (1978).コンピュータと計算、第 1 巻。ジョン・ワイリー・アンド・サンズ社、p. 12.ISBN 978-0471027164。
- ^ 「CHARACTERの定義」 www.merriam-webster.com . 2018年4月1日閲覧。
- ^ガンマら1995年、14ページ。
- ^ a b Bruce 2002、2.1オブジェクト、クラス、およびオブジェクト型、https://books.google.com/books?id= 9NGWq3K1RwUC&pg= PA18 。
- ^ Sadoski, Darleen. クライアント/サーバー・ソフトウェア・アーキテクチャ – 概要, ソフトウェア・テクノロジー・ロードマップ, 1997年8月2日. 2008年9月16日閲覧。
- ^ Mills, H. ; M. Dyer; R. Linger (1987年9月). 「クリーンルームソフトウェアエンジニアリング」. IEEE Software . 4 (5): 19– 25. Bibcode : 1987ISoft...4e..19M . CiteSeerX 10.1.1.467.2435 . doi : 10.1109/MS.1987.231413 . S2CID 383170 .
- ^ Sussman and Steele. 「Scheme: 拡張ラムダ計算のためのインタプリタ」。「…ラムダ式と、そのラムダ式を引数に適用する際に使用される環境を含むデータ構造。」 ( Wikisource )
- ^ a b Shaun Bebbington (2014). 「What is coding」. 2014年3月3日閲覧。
- ^ a b Shaun Bebbington (2014). 「プログラミングとは何か」 . 2025年6月13日閲覧。
- ^認知科学は、言語学、心理学、神経科学、哲学、コンピュータサイエンス、人類学といった分野の研究者が心を理解しようとする学際的な分野です。「私たちはどのように学ぶのか:認知科学者に聞く」
- ^ポール・タガード『認知科学』スタンフォード哲学百科事典(2008年秋版)、エドワード・N・ザルタ(編)。
- ^ PC Mag Staff (2017年2月28日). 「百科事典:コンパイラの定義」 . PCMag.com . 2017年2月28日閲覧。
- ^フリーのメリアム・ウェブスター辞書からの計算
- ^ 「Computation: Definition and Synonyms from Answers.com」 . Answers.com . 2009年2月22日時点のオリジナルよりアーカイブ。2017年4月26日閲覧。
- ^「NIHによるバイオインフォマティクスと計算生物学の実用的定義」(PDF)。バイオメディカル情報科学技術イニシアチブ。2000年7月17日。2012年9月5日時点のオリジナル(PDF)からアーカイブ。2012年8月18日閲覧。
- ^「CCMBについて」. 計算分子生物学センター. 2012年8月18日閲覧。
- ^メルニック、ロデリック編 (2015). 『数学と計算モデリング:自然科学、社会科学、工学、芸術への応用』 Wiley. ISBN 978-1-118-85398-6。
- ^ Trappenberg, Thomas P. (2002). 『計算神経科学の基礎』アメリカ合衆国: Oxford University Press Inc. p . 1. ISBN 978-0-19-851582-1。
- ^ What is computed neuroscience? Patricia S. Churchland, Christof Koch, Terrence J. Sejnowski. in Computational Neuroscience pp.46-55. Edited by Eric L. Schwartz. 1993. MIT Press "Computational Neuroscience - the MIT Press" . 2011年6月4日時点のオリジナルよりアーカイブ。 2009年6月11日閲覧。
- ^ 「理論神経科学」 MITプレス. 2018年5月31日時点のオリジナルよりアーカイブ。 2018年5月24日閲覧。
- ^ Gerstner, W.; Kistler, W.; Naud, R.; Paninski, L. (2014). Neuronal Dynamics . Cambridge, UK: Cambridge University Press . ISBN 9781107447615。
- ^ Thijssen, Jos (2007). 計算物理学. ケンブリッジ大学出版局. ISBN 978-0521833462。
- ^アラン・クレメンツ著『コンピュータハードウェアの原理』(第4版)p. 1.
アーキテクチャとは、コンピュータの内部構成を抽象的に記述するものであり、コンピュータの機能とプログラミングモデルを定義します。異なる技術を用いて異なる方法で構築された2台のコンピュータであっても、アーキテクチャは同じである場合があります。
- ^ Hennessy, John; Patterson, David.コンピュータアーキテクチャ:定量的アプローチ(第5版)p. 11.
このタスクには、命令セット設計、機能構成、ロジック設計、実装など、多くの側面があります。
- ^ a b cパターソン, デイビッド・A.; ヘネシー, ジョン・L. (2005). 『コンピュータの構成と設計:ハードウェア/ソフトウェア・インタフェース(第3版)』アムステルダム:モーガン・カウフマン出版社. ISBN 1-55860-604-1. OCLC 56213091 .
- ^ Bynum, Terrell Ward. 「コンピュータ倫理のごく短い歴史」 . サザンコネチカット・ウェイン大学. 2008年4月18日時点のオリジナルよりアーカイブ。 2011年1月5日閲覧。
- ^ Rochkind, Marc J. (2004). 『Advanced Unix Programming, Second Edition』. Addison-Wesley. p. 1.1.2.
- ^ "WordNet Search—3.1" . Wordnetweb.princeton.edu. 2024年11月11日時点のオリジナルよりアーカイブ。2012年5月14日閲覧。
- ^ Schatz, Daniel; Bashroush, Rabih; Wall, Julie (2017). 「サイバーセキュリティのより代表的な定義に向けて」 . Journal of Digital Forensics, Security and Law . 12 (2). ISSN 1558-7215 .
- ^ Dana H. Ballard; Christopher M. Brown (1982). コンピュータビジョン. Prentice Hall. ISBN 0-13-165316-4。
- ^ Huang, T. (1996-11-19). Vandoni, Carlo, E. 編. コンピュータビジョン:進化と未来 (PDF). 第19回 CERN コンピューティングスクール. ジュネーブ: CERN. pp. 21–25. doi:10.5170/CERN-1996-008.21. ISBN 978-9290830955。
- ^ミラン・ソンカ、ヴァーツラフ・フラヴァツ、ロジャー・ボイル (2008). 画像処理、解析、マシンビジョン. トムソン. ISBN 0-495-08252-X。
- ^ 「コンピューティングカリキュラム2020 CC2020 グローバルコンピューティング教育のパラダイム」(PDF)。
- ^シュワルツマン、スティーブン(1994年)『数学の言葉:英語で使われる数学用語の語源辞典』アメリカ数学協会ISBN 0-88385-511-9. 2025年11月11日閲覧。
- ^ランポート、レスリー (1978年7月). 「分散システムにおける時間、クロック、そしてイベントの順序付け」(PDF) . Communications of the ACM . 21 (7): 558– 565. CiteSeerX 10.1.1.142.3682 . doi : 10.1145/359545.359563 . S2CID 215822405. 2016年2月4日閲覧.
- ^ Paul E. Black (編)、「アルゴリズムとデータ構造辞書」のデータ構造の項目。米国国立標準技術研究所、2004年12月15日。2011年10月4日にアクセス。
- ^ブリタニカ百科事典(2009年)のオンラインエントリのエントリデータ構造。2011年10月4日にアクセス。
- ^サスマン、ジェラルド・ジェイ;スティール、ガイ・L・ジュニア(1975年12月)。。AIメモ。349 :19。つまり
、この
継続渡しプログラミングスタイル
では、
関数は常に結果を別の関数に「送信」することで「返す」のです
。これが鍵となる考え方です。
- ^ Sussman, Gerald Jay ; Steele, Guy L. Jr. (1998年12月). "Scheme: A Interpreter for Extended Lambda Calculus" (PDF) . Higher-Order and Symbolic Computation . 11 (4): 405– 439. doi : 10.1023/A:1010035624696 . S2CID 18040106. 2006年5月21日時点のオリジナル(再版)からのアーカイブ。これは「
継続渡しスタイル
」という用語が
文献に初めて登場した例であると考えられる。これは、コンパイラやその他のメタプログラミングツールにおけるソースコード解析と変換において重要な概念であることが判明した。また、プログラム表現の他の一連の「スタイル」にも影響を与えた。
- ^ 「よくある質問」 . クリエイティブ・コモンズ. 2016年8月4日. 2011年12月20日閲覧。
- ^ Rivest, Ronald L. (1990). 「暗号化」. J. Van Leeuwen (編).理論計算機科学ハンドブック第1巻. Elsevier.
- ^ベッラーレ、ミヒル;フィリップ・ロガウェイ (2005 年 9 月 21 日) "導入"。最新の暗号化の概要。 p. 10.
- ^ Menezes, AJ; van Oorschot, PC; Vanstone, SA (1997).応用暗号ハンドブック. Taylor & Francis. ISBN 978-0-8493-8523-0。
- ^ Eric S. Raymond . 「デーモン」 . The Jargon File . 2008年10月22日閲覧。
- ^ James Glanz (2012年9月22日). 「電力、汚染、そしてインターネット」 . The New York Times . 2012年9月25日閲覧。
- ^ a b c「データマイニングカリキュラム」 . ACM SIGKDD . 2006年4月30日. 2014年1月27日閲覧。
- ^ Clifton, Christopher (2010). 「ブリタニカ百科事典:データマイニングの定義」 .ブリタニカ百科事典. 2010年12月9日閲覧。
- ^ Hastie, Trevor ; Tibshirani, Robert ; Friedman, Jerome (2009). 「統計学習の要素:データマイニング、推論、予測」 2009年11月10日時点のオリジナルよりアーカイブ。 2012年8月7日閲覧。
- ^ Han, Jaiwei; Kamber, Micheline; Pei, Jian (2011). 『データマイニング:概念とテクニック』(第3版)Morgan Kaufmann. ISBN 978-0-12-381479-1。
- ^ Fayyad, Usama; Piatetsky-Shapiro, Gregory; Smyth, Padhraic (1996). 「データマイニングからデータベースにおける知識発見へ」(PDF). 2008年12月17日閲覧。
- ^ Dhar, V. (2013). 「データサイエンスと予測」 . Communications of the ACM . 56 (12): 64– 73. doi : 10.1145/2500499 . S2CID 6107147 .
- ^ Jeff Leek (2013年12月12日). 「『データサイエンス』のキーワードはデータではなく、科学だ」 . Simply Statistics. 2014年1月2日時点のオリジナルよりアーカイブ。 2018年12月5日閲覧。
- ^林千喜夫 (1998-01-01). 「データサイエンスとは何か? 基礎概念とヒューリスティックな例」林千喜夫、矢島啓二、ハンス=ヘルマン・ボック、大隅昇、田中豊、馬場康正(編).データサイエンス、分類、および関連手法. 分類、データ分析、知識組織化の研究. シュプリンガー・ジャパン. pp. 40– 51. doi : 10.1007/978-4-431-65950-1_3 . ISBN 9784431702085。
- ^トーマス・H・コーメン;チャールズ・E・ライザーソン;ロナルド・L・リベスト;スタイン、クリフォード(2009) [1990]。アルゴリズム入門(第 3 版)。 MIT プレスとマグロウヒル。ISBN 0-262-03384-4。
- ^ Black, Paul E. (2004年12月15日). 「データ構造」 . Pieterse, Vreda; Black, Paul E. (編). 『アルゴリズムとデータ構造の辞書』[オンライン版] .米国国立標準技術研究所. 2018年11月6日閲覧。
- ^ 「データ構造」ブリタニカ百科事典、2017年4月17日。 2018年11月6日閲覧。
- ^ウェグナー, ピーター; ライリー, エドウィン D. (2003-08-29). 『コンピュータサイエンス百科事典』 チチェスター, イギリス: ジョン・ワイリー・アンド・サンズ. pp. 507– 512. ISBN 978-0470864128。
- ^無料のオンラインコンピューティング辞書で入力してください
- ^ Shaffer, CA (2011). C++によるデータ構造とアルゴリズム分析(第3版). ミネオラ, NY: Dover. 1.2. ISBN 978-0-486-48582-9。
- ^ a b c「宣言は識別子の集合の解釈と属性を指定します。識別子の 定義とは、その識別子に対する宣言のことです。
- オブジェクト(変数または定数)の場合、そのオブジェクト用の記憶域が予約されます。
- 関数の場合は関数本体が含まれます。
- 列挙定数の場合、識別子の(唯一の)宣言です。
- typedef 名の場合、識別子の最初の (または唯一の) 宣言になります。"
- ^ Mike Banahan. 「2.5. 変数の宣言」 . GBdirect . 2011年6月8日閲覧。
[宣言] は、何かの名前と型のみを導入し、ストレージを割り当てません[...]。
- ^スチュワート・ロビンソン (2004).シミュレーション – モデルの開発と利用の実践. Wiley.
- ^ a bクーロリス、ジョージ、ジーン・ドリモア、ティム・キンドバーグ、ゴードン・ブレア (2011). 『分散システム:概念と設計』(第5版)ボストン:アディソン・ウェズリー. ISBN 978-0-132-14301-1。
- ^ Bjørner, Dines (2006). 「ソフトウェア工学の三連祭壇画」.ソフトウェア工学 3 – ドメイン、要件、ソフトウェア設計(書籍). 第1巻. Springer Verlag. p. 9. ISBN 978-3-540-33653-2. 2016年12月19日閲覧。
- ^ 「ダウンロードとは何か? - WhatIs.comからの定義」SearchNetworkNexting . 2019年9月5日時点のオリジナルよりアーカイブ。 2019年3月4日閲覧。
- ^ a bケスラー、ゲイリー(2006年11月17日)「暗号化の概要」プリンストン大学。
- ^ヴィヴェク・グプタ;イーサン・ジャクソン。シャズ・カディール。シュリラム・ラジャマニ(2012 年 11 月)「P: 安全な非同期イベント駆動型プログラミング」。マイクロソフト。2017 年2 月 20 日に取得。
- ^ "executable" . Merriam-Websterのオンライン辞書. Merriam-Webster . 2008年7月19日閲覧。
- ^ Justis, RT & Kreigsmann, B. (1979). ベンチャー分析ツールとしてのフィージビリティスタディ. Business Journal of Small Business Management 17 (1) 35-42.
- ^ Georgakellos, DA & Marcis, AM (2009). フィージビリティスタディ準備研修プロセスにおけるセマンティック学習アプローチの応用.情報システムマネジメント26 (3) 231–240.
- ^ Young, GIM (1970). 実現可能性調査.評価ジャーナル38 (3) 376-383.
- ^ RW Butler (2001-08-06). 「形式手法とは何か?」2006年11月16日閲覧。
- ^ C. Michael Holloway.エンジニアが形式手法を検討すべき理由(PDF) . 第16回デジタル航空電子工学システム会議 (1997年10月27~30日). 2006年11月16日時点のオリジナル(PDF)からアーカイブ。 2006年11月16日閲覧。
- ^ Sanghavi, Alok (2010年5月21日). 「形式検証とは何か?」EE Times Asia .
- ^ 「宣言スタイルと式スタイル - HaskellWiki」。
- ^ Myerson, Roger B. (1991). Game Theory: Analysis of Conflict, Harvard University Press , p. 1 . Chapter-preview links, pp. vii–xi .
- ^トーマス・H・コーメン;チャールズ・E・ライザーソン;ロナルド・L・リベスト;スタイン、クリフォード(2009) [1990]。アルゴリズム入門(第 3 版)。 MIT プレスとマグロウヒル。151 ~ 152ページ 。ISBN 0-262-03384-4。
- ^ Black (ed.), Paul E. (2004-12-14). Dictionary of Algorithms and Data Structuresのheapの項目。オンライン版。米国国立標準技術研究所、2004年12月14日。2017年10月8日にhttps://xlinux.nist.gov/dads/HTML/heap.htmlから取得。
- ^スキエナ、スティーブン(2012). 「ソートと検索」.アルゴリズム設計マニュアル. シュプリンガー. p. 109. doi : 10.1007 /978-1-84800-070-4_4 . ISBN 978-1-84800-069-8
ヒープソートは、適切なデータ構造を使用した選択ソートの実装に他なりません
。 - ^ ISO/IEC/IEEE 国際規格 - システムおよびソフトウェアエンジニアリング. ISO/IEC/IEEE 24765:2010(E). 2010. pp. vol., no., pp.1–418, 2010年12月15日.
- ^ Martyn A Ould & Charles Unwin (ed), Testing in Software Development , BCS (1986), p71 . 2014年10月31日にアクセス
- ^世界知的所有権機関(WIPO)(2016年)「工業所有権の理解」世界知的所有権機関. doi : 10.34667/tind.28945 . ISBN 9789280525885. 2018年12月6日閲覧。
- ^ 「知的財産、工業所有権、商業所有権 | 欧州連合に関するファクトシート」欧州議会. 2018年12月6日閲覧。
- ^ 「知的財産権とは何か?」世界貿易機関。 2016年5月23日閲覧。
- ^「知的財産」、ブラック法律辞典、第10版(2014年)。
- ^ 「著作権および関連する権利について」(PDF)世界知的所有権機関(WIPO)4ページ。 2018年12月6日閲覧。
- ^ 「知的財産とは何か?」(PDF)世界知的所有権機関(WIPO)。2025年4月3日時点のオリジナルよりアーカイブ(PDF) 。 2018年12月7日閲覧。
- ^ 「工業所有権の理解」(PDF) . 世界知的所有権機関(WIPO) . 2018年12月7日閲覧。
- ^アンダーソン、マイケル;アンダーソン、スーザン・リー(2007年12月15日)「機械倫理:倫理的な知的エージェントの創造」 AIマガジン28 ( 4):15. doi : 10.1609/aimag.v28i4.2065 . ISSN 2371-9621 . S2CID 17033332 .
- ^ Russell & Norvig (2003、第2章)の定義によれば
- ^フックウェイ、B. (2014). 「第1章 インターフェースの主題」.インターフェース. MITプレス. pp. 1– 58. ISBN 9780262525503。
- ^ IEEE 100 - IEEE標準用語の権威ある辞書。ニューヨーク市、ニューヨーク州、米国:IEEEプレス。2000年。574 ~ 575頁。ISBN 9780738126012。
- ^ダンハム、ケン、メルニック、ジム (2008). 『悪意あるボット:インターネットのサイバー犯罪の闇を探る』CRC Press. ISBN 9781420069068。
- ^ゴスリング他 2014年、1頁。
- ^ 「Javaは純粋なオブジェクト指向か?」Stack Overflow。2019年5月24日閲覧。
- ^ 「一度書けばどこでも実行できる?」 Computer Weekly 2002年5月2日. 2009年7月27日閲覧。
- ^ 「1.2 Java™プログラミング言語の設計目標」 Oracle、1999年1月1日。2013年1月23日時点のオリジナルよりアーカイブ。2013年1月14日閲覧。
- ^ Knuth 1998、§6.1(「順次検索」)。
- ^ IBM Corporation (1972). IBM OS リンケージエディターおよびローダー(PDF) .
- ^アベルソン、ハロルド、サスマン、ジェラルド・ジェイ (1996). 『コンピュータプログラムの構造と解釈』 MITプレス.
- ^「明示的にプログラムすることなく」という定義は、1959年に「機械学習」という用語を造語したアーサー・サミュエルに帰属することが多いが、この出版物にはそのフレーズが逐語的に用いられておらず、後世に現れた言い換えである可能性がある。Koza , John R.; Bennett, Forrest H.; Andre, David; Keane, Martin A. (1996). Automated Design of Both the Topology and Sizing of Analog Electrical Circuits Using Genetic Programming . Artificial Intelligence in Design '96. Springer, Dordrecht. pp. 151– 170. doi : 10.1007/978-94-009-0279-4_9 .を参照。
- ^ビショップ、CM(2006)、パターン認識と機械学習、シュプリンガー、 ISBN 978-0-387-31073-2
- ^学部生向けの教科書としては、Boolos、Burgess、Jeffrey(2002)、 Enderton (2001)、Mendelson(1997)などがある。大学院生向けの教科書として定番のShoenfield(2001)は1967年に初版が出版された。
- ^同様に、表。
- ^アントン(1987年、23ページ)
- ^ Beauregard & Fraleigh (1973 , p. 56)
- ^クヌース(1998年、158ページ)
- ^ Katajainen, Jyrki; Träff, Jesper Larsson (1997年3月). 「マージソートプログラムの綿密な分析」(PDF) .第3回イタリアアルゴリズムと複雑性会議議事録. イタリアアルゴリズムと複雑性会議. ローマ. pp. 217– 228. CiteSeerX 10.1.1.86.3154 . doi : 10.1007/3-540-62592-5_74 .
- ^オブジェクトの消費者は、他のプログラム、リモート コンピュータ システム、またはオブジェクトを自分のプログラムの一部として利用したいコンピュータ プログラマなど、さまざまな種類の要素で構成される場合があります。
- ^ a bメディケア・メディケイドサービスセンター(CMS)情報サービス局(2008年)。開発アプローチの選択。ウェブ記事。米国保健福祉省(HHS)。2008年3月27日再検証。2008年10月27日閲覧。
- ^ Oppel, Andy (2005). SQL Demystified . McGraw Hill. p. 7. ISBN 0-07-226224-9。
- ^ 「コンパイラとは何か?」 TechTarget . 2025年6月14日閲覧。
ソースコードを機械語に変換するコンパイラは、通常、特定のOSやコンピュータアーキテクチャを対象としています。このタイプの出力はオブジェクトコードと呼ばれることもありますが、これはオブジェクト指向プログラミングとは関係ありません。
- ^ Aho, Alfred V. ; Sethi, Ravi ; Ullman, Jeffrey D. (1986). 「10 コード最適化」.コンパイラ:原理、テクニック、ツール. コンピュータサイエンス. Mark S. Dalton. p. 704. ISBN 0-201-10194-7。
- ^ Kindler, E.; Krivy, I. (2011). 「洗練された制御を備えたシステムのオブジェクト指向シミュレーション」. International Journal of General Systems . 40 (3): 313– 343. doi : 10.1080/03081079.2010.539975 . S2CID 205549734 .
- ^ Lewis, John; Loftus, William (2008). Javaソフトウェアソリューション プログラミング設計の基礎 第6版. Pearson Education Inc. ISBN 978-0-321-53205-3。、セクション1.6「オブジェクト指向プログラミング」
- ^ St. Laurent, Andrew M. (2008). 『オープンソースとフリーソフトウェアライセンスの理解』 O'Reilly Media. p. 4. ISBN 9780596553951。
- ^ Levine, Sheen S.; Prietula, Michael J. (2013年12月30日). 「イノベーションのためのオープンコラボレーション:原則とパフォーマンス」. Organization Science . 25 (5): 1414– 1433. arXiv : 1406.7541 . doi : 10.1287/orsc.2013.0872 . ISSN 1047-7039 . S2CID 6583883 .
- ^ 「光ファイバー」 www.thefoa.org光ファイバー協会2015年4月17日閲覧。
- ^シニア、ジョン・M.; ジャムロ、M. ユシフ (2009).光ファイバー通信:原理と実践. ピアソン・エデュケーション. pp. 7– 9. ISBN 978-0130326812。
- ^ウィリアムズ、ローリー( 2001年2月19~20日)「ソフトウェア開発プロセスへのペアプログラミングの統合」第14回ソフトウェア工学教育訓練会議、シャーロット。pp. 27 ~ 36。doi : 10.1109/CSEE.2001.913816。ISBN 0-7695-1059-0プログラマーの一人であるドライバーは、キーボードとマウスを操作し、プログラムを積極的に実装します。
もう一人のプログラマーであるオブザーバーは、ドライバーの作業を継続的に観察し、構文やスペルなどの戦術的な欠陥を特定するとともに、作業の方向性について戦略的に考えます。
- ^ Gottlieb, Allan; Almasi, George S. (1989).高度並列コンピューティングレッドウッドシティ, カリフォルニア州: Benjamin/Cummings. ISBN 978-0-8053-0177-9。
- ^プラタ、スティーブン (2004)。Cプライマープラス(第5版)。サムズ。ページ 276–277。ISBN 978-0-672-32696-7。
- ^ 「プログラミング言語C++の標準作業草案」(PDF)www.open-std.org . 2018年1月1日閲覧。
- ^ Gordon, Aaron. 「サブプログラムとパラメータ渡し」 . rowdysites.msudenver.edu/~gordona . 2018年1月1日時点のオリジナルよりアーカイブ。 2018年1月1日閲覧。
- ^ a b米国選挙支援委員会(2007). 「特別な意味を持つ言葉の定義」 .自主投票制度ガイドライン. 2012年12月8日時点のオリジナルよりアーカイブ。 2013年1月14日閲覧。
- ^ Ranta, Aarne (2012年5月9日).プログラミング言語の実装(PDF) . College Publications. pp. 16– 18. ISBN 9781848900646. 2020年3月22日閲覧。
- ^クロックシン、ウィリアム F.メリッシュ、クリストファー S. (2003)。Prolog でのプログラミング。ベルリン;ニューヨーク: Springer-Verlag。ISBN 978-3-540-00678-7。
- ^ Bratko, Ivan (2012). Prolog programming for Artificial Intelligence (第4版). Harlow, England; New York: Addison Wesley. ISBN 978-0-321-41746-6。
- ^ Covington, Michael A. (1994). Prologプログラマのための自然言語処理. エングルウッド・クリフス, ニュージャージー州: Prentice Hall. ISBN 978-0-13-629213-5。
- ^ロイド, JW (1984). 論理プログラミングの基礎. ベルリン: シュプリンガー・フェアラーク. ISBN 978-3-540-13299-8。
- ^ Kuhlman, Dave. 「Python入門書:Python入門、Python上級編、Python演習」第1.1節。2012年6月23日時点のオリジナル(PDF)からのアーカイブ。
- ^全米科学・工学・医学アカデミー (2019). エミリー・グランブリング、マーク・ホロウィッツ(編).量子コンピューティング:進歩と展望 (2018) . ワシントンD.C.: 全米科学・工学・医学アカデミー. p. I-5. doi : 10.17226/25196 . ISBN 978-0-309-47969-1. OCLC 1081001288 . S2CID 125635007 .
- ^ R言語と環境
- Hornik, Kurt (2017-10-04). 「R FAQ」 .包括的なRアーカイブネットワーク. 2.1 Rとは? . 2018-08-06閲覧.
- Hornik, Kurt (2017-10-04). 「R FAQ」 .包括的なRアーカイブネットワーク. 2.13 R Foundationとは何ですか? . 2018-08-06閲覧.
- R Core Team (2016). R: 統計計算のための言語と環境. R Foundation for Statistical Computing, ウィーン, オーストリア. URL http://www.R-project.org/ .
- ^広く使用されている
- フォックス、ジョン&アンダーセン、ロバート(2005年1月)「R統計計算環境を用いた社会統計コースの指導」(PDF)マクマスター大学社会学部。 2018年8月6日閲覧。
- Vance, Ashlee (2009-01-06). 「データアナリスト、Rのパワーに魅了される」 . The New York Times . 2018-08-06閲覧.
Rは、企業や学術界でますます多くのデータアナリストが使用する人気のプログラミング言語でもあります。彼らの共通言語になりつつあります。
- ^ Vance, Ashlee (2009-01-06). 「Rのパワーに魅了されたデータアナリストたち」 . The New York Times . 2018-08-06閲覧.
Rは、企業や学術界でますます多くのデータアナリストが使用する人気のプログラミング言語でもあります。彼らの共通言語になりつつあります。
- ^ 「コンピュータサイエンス辞書の定義」 .コンピューティング学生. 2018年1月22日閲覧。
- ^ラドヴァーニ、ティボル (2014).データベース管理システム。エステルハージ・カーロイ大学。 p. 19. 2018年9月23日のオリジナルからアーカイブ。2018 年9 月 23 日に取得。
- ^ Kahate, Atul (2006). 『データベース管理システム入門』 ピアソン社. p. 3. ISBN 978-81-317-0078-5. 2018年9月23日閲覧。
- ^コノリー、トーマス (2004). 『データベースソリューション:データベース構築のためのステップバイステップガイド(第2版)』 ピアソン. p. 7. ISBN 978-0-321-17350-8。
- ^ Pezzè, Mauro; Young, Michal (2008).ソフトウェアテストと分析:プロセス、原則、テクニック. Wiley. ISBN 978-81-265-1773-2
回帰問題に焦点を当てたテスト活動は、(非)回帰テストと呼ばれます。通常、「非」は省略されます
。 - ^ Basu, Anirban (2015).ソフトウェア品質保証、テスト、メトリクス. PHI Learning. ISBN 978-81-203-5068-7。
- ^全米研究会議軍用航空機における老朽化航空電子機器委員会:軍用航空機における老朽化航空電子機器。全米科学アカデミー出版、2001年、2ページ:「技術更新サイクルごとに回帰テストが必要です。」
- ^ブーランジェ、ジャン=ルイ (2015). CENELEC 50128 および IEC 62279 規格. Wiley. ISBN 978-1119122487。
- ^ Codd, EF (1970). 「大規模共有データバンクのためのリレーショナルデータモデル」 Communications of the ACM. 13 (6): 377–387. doi:10.1145/362384.362685.
- ^アンブラー、スコット (2023年3月21日). 「リレーショナルデータベース101:全体像を見る」 .
- ^電気電子学会 (1990) IEEE標準コンピュータ辞書:IEEE標準コンピュータ用語集集。ニューヨーク、ニューヨークISBN 1-55937-079-3
- ^コトニャ、ジェラルド、サマービル、イアン (1998). 『要件エンジニアリング:プロセスとテクニック』 チチェスター、イギリス: ジョン・ワイリー・アンド・サンズ. ISBN 9780471972082。
- ^ Ueberhuber、Christoph W. (1997)、Numerical Computation 1: Methods, Software, and Analysis、Springer、pp. 139–146、ISBN 978-3-54062058-7
- ^ Forrester, Dick (2018). Math/Comp241 数値解析法(講義ノート) .ディキンソン大学.
- ^ Aksoy, Pelin; DeNardis, Laura (2007)、Information Technology in Theory、Cengage Learning、p. 134、ISBN 978-1-42390140-2
- ^ラルストン、アンソニー、ラビノウィッツ、フィリップ(2012年)、数値解析入門、ドーバー数学ブックス(第2版)、クーリエ・ドーバー出版、pp. 2-4、ISBN 978-0-48614029-2
- ^ Butt, Rizwan (2009)、「MATLAB を用いた数値解析入門」、Jones & Bartlett Learning、pp. 11– 18、ISBN 978-0-76377376-2
- ^ 「主要なルーティングプロトコル概念の概要:アーキテクチャ、プロトコルタイプ、アルゴリズム、メトリック」 Tcpipguide.com。2010年12月20日時点のオリジナルよりアーカイブ。 2011年1月15日閲覧。
- ^ Philip A. Bernstein、Vassos Hadzilacos、Nathan Goodman (1987):データベースシステムにおける同時実行制御と回復(無料PDFダウンロード)、Addison Wesley Publishing Company、 ISBN 0-201-10715-5
- ^ Gerhard Weikum、Gottfried Vossen (2001):トランザクション情報システム、エルゼビア、 ISBN 1-55860-508-8
- ^ Maurice Herlihy、J. Eliot B. Moss.トランザクショナルメモリ:ロックフリーデータ構造のアーキテクチャ的サポート.第20回国際コンピュータアーキテクチャシンポジウム (ISCA '93) 議事録. 第21巻第2号、1993年5月.
- ^ Marshall Cline. 「C++ FAQ: この「シリアル化」とは何ですか?」2015年4月5日にオリジナルからアーカイブされました。
オブジェクトまたはオブジェクトのグループをディスクに保存したり、有線または無線の転送メカニズムを介して送信したりし、その後、別のコンピュータで逆のプロセスを実行して元のオブジェクトを復元することができます。基本的なメカニズムは、オブジェクトを1次元のビットストリームに平坦化し、そのビットストリームを元のオブジェクトに戻すことです。
- ^ 「Module Marshal - Ruby 3.5 のドキュメント」。
- ^ 「OCamlライブラリ:Marshal」。
- ^ 「1.1.2.2 クライアントとサーバー」 . Cisco Networking Academy . 2025年6月14日閲覧.
サーバーは、情報を提供できるソフトウェアがインストールされたホストです。クライアントは、サーバーから取得した情報を要求し、表示できるソフトウェアがインストールされたコンピュータホストです。
- ^ Kearney, KT; Torelli, F. (2011). 「SLAモデル」. Wieder, P.; Butler, JM; Theilmann, W.; Yahyapour, R. (編).クラウドコンピューティングにおけるサービスレベル契約. Springer Science+Business Media, LLC. pp. 43– 68. ISBN 9781461416142。
- ^ Nwana, H. S. (1996). 「ソフトウェアエージェント:概要」. Knowledge Engineering Review . 21 (3): 205– 244. CiteSeerX 10.1.1.50.660 . doi : 10.1017/s026988890000789x . S2CID 7839197 .
- ^ Schermer, B. W. (2007).ソフトウェアエージェント、監視、そしてプライバシーの権利:エージェントによる監視のための法的枠組み(ペーパーバック) . 第21巻.ライデン大学出版局. pp. 140, 205– 244. hdl : 1887/11951 . ISBN 978-0-596-00712-6. 2012年10月30日閲覧。
- ^ SWEBOKピエール・ブルケ、ロバート・デュプイ、アラン・アブラン、ジェームズ・W・ムーア編 (2004). 「第4章 ソフトウェア構築」.ソフトウェアエンジニアリング知識体系ガイド. IEEEコンピュータ協会. pp. 4–1–4–5. ISBN 0-7695-2330-7. 2014年7月14日時点のオリジナルよりアーカイブ。2020年6月21日閲覧。
- ^ロジャー・S・プレスマン『ソフトウェア工学:実践者のアプローチ』(第8版)
- ^ Ralph, P. and Wand, Y. (2009). 設計コンセプトの正式な定義のための提案. Lyytinen, K., Loucopoulos, P., Mylopoulos, J. , Robinson, W. 編, Design Requirements Workshop (LNBIP 14), pp. 103–136. Springer-Verlag, p. 109 doi : 10.1007/978-3-540-92966-6_6 .
- ^フリーマン、ピーター、デイビッド・ハート (2004). 「ソフトウェア集約型システムの設計科学」Communications of the ACM . 47 (8): 19–21 [20]. doi : 10.1145/1012037.1012054 . S2CID 14331332 .
- ^ 「アプリケーション開発(AppDev)の定義と説明」 Bestpricecomputers.co.uk、2007年8月13日。2019年8月15日時点のオリジナルよりアーカイブ。 2012年8月5日閲覧。
- ^ DRM Associates (2002). 「新製品開発用語集」 . 2006年11月9日時点のオリジナルよりアーカイブ。2006年10月29日閲覧。
- ^アブランら。 2004、1–1 ページ
- ^ ACM (2007). 「コンピューティングの学位とキャリア」 . ACM. 2011年6月17日時点のオリジナルよりアーカイブ。 2010年11月23日閲覧。
- ^ラプランテ、フィリップ (2007). 『ソフトウェアエンジニアリングについてエンジニアが知っておくべきこと』 ボカラトン: CRC. ISBN 978-0-8493-7228-5. 2011年1月21日閲覧。
- ^ 「コンピューティングカリキュラム2005 概要レポート」(PDF) 2005年9月30日. 2025年6月14日閲覧。
- ^ 「ISO/IEC 14764:2006 ソフトウェアエンジニアリング - ソフトウェアライフサイクルプロセス - 保守」 . Iso.org. 2011年12月17日. 2013年12月2日閲覧。
- ^ Kaner, Cem (2006年11月17日).探索的テスト(PDF) . Quality Assurance Institute Worldwide Annual Software Testing Conference. フロリダ州オーランド. 2014年11月22日閲覧.
- ^「C言語プログラミング:チュートリアル」(PDF). 2015年2月23日時点のオリジナル(PDF)からのアーカイブ。
- ^対照的に、単純な QUEUE は FIFO (先入れ先出し) で動作します。
- ^トーマス・H・コーメン;チャールズ・E・ライザーソン;ロナルド・L・リベスト;スタイン、クリフォード(2009) [1990]。アルゴリズム入門(第 3 版)。 MIT プレスとマグロウヒル。232 ~ 233ページ 。ISBN 0-262-03384-4。
- ^ 「ステートレスとは何か? - WhatIs.comからの定義」。techtarget.com 。
- ^ "声明" . webopedia. 1996年9月. 2015年3月3日閲覧。
- ^ 「NOSQLデータベース」 。2018年12月26日時点のオリジナルからアーカイブ。NoSQL
の定義:次世代データベース。主に非リレーショナル、分散型、オープンソース、水平スケーラブルといった点に焦点を当てている。
- ^ Leavitt, Neal (2010). 「NoSQLデータベースは期待に応えられるのか?」 (PDF). IEEE Computer. 43 (2): 12–14. doi:10.1109/MC.2010.58. S2CID 26876882.
- ^ Mohan, C. (2013). 「歴史は繰り返す:NoSQL騒動の賢明な側面とそうでない側面」(PDF) . Proc. 16th Int'l Conf. on Extending Database Technology.
- ^ 「Amazonが『NoSQL』データベースで未来へ回帰」 WIRED. 2012年1月19日. 2017年3月6日閲覧。
- ^ 「RDBMSがデータベース市場を席巻しているが、NoSQLシステムも追い上げている」 DB-Engines.com、2013年11月21日。 2013年11月24日閲覧。
- ^ 「NoSQL (Not Only SQL)」。
NoSQLデータベース、Not Only SQLとも呼ばれる
- ^ Fowler, Martin . 「NosqlDefinition」。NoSQL
の支持者の多くは、NoSQLはSQLに「ノー」という意味ではなく、むしろSQLだけではないという意味だと主張している。
- ^ 「ACMコンピュータ代数協会」。
- ^構文または意味の問題ですか?
- ^ John Paul Mueller、Javaの意味エラー
- ^ Transcom.deの「技術文書とは何か?」 。2013年2月25日アクセス。
- ^ What is Technical Documentation?アーカイブ: 2013年4月18日、 Tetras Translationsのarchive.today。2013年2月25日アクセス。
- ^ IGCSE ICTにおける新システムの文書化。2013年2月25日アクセス。
- ^「コンピュータの希望、生成言語」
- ^ 「アップロードの定義」 . techterms.com . 2017年3月30日閲覧。
- ^ W3C (2009) .
- ^ 「URLのフォワードスラッシュとバックスラッシュ」zzz.buzz . 2018年9月19日閲覧。
- ^ RFC 3986 (2005) .
- ^ a b W3C/IETF URI計画インタレストグループ合同 (2002)。
- ^ RFC 2396 (1998) .
- ^ Miessler, Daniel (2024年4月17日). 「URLとURIの違い」 .
- ^ Jargon Fileの「User」のエントリ。 2010年11月7日閲覧。
- ^ 「W3C ユーザーエージェントの定義」 www.w3.org. 2011年6月16日. 2018年10月20日閲覧。
- ^ Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D. (1986)、コンパイラ:原理、テクニック、ツール、pp. 26– 28、Bibcode:1986cptt.book.....A
- ^ドナルド・クヌース(1997年)『コンピュータプログラミングの芸術』第1巻(第3版)マサチューセッツ州レディング:アディソン・ウェスレー社、pp. 3-4、ISBN 0-201-89683-4。
- ^ Kevin ForsbergおよびHarold Mooz、「システム エンジニアリングとプロジェクト サイクルの関係」、全米システム エンジニアリング評議会の第 1 回年次シンポジウムの議事録、1991 年 10 月、57 ~ 65 ページ。
- ^ Beal, Vangie (2001年5月2日). 「What is Wi-Fi (IEEE 802.11x)? A Webopedia Definition」 . Webopedia . 2012年3月8日時点のオリジナルよりアーカイブ。
- ^スコフィールド、ジャック (2007年5月21日). 「Wi-Fiの放射線の危険性(更新)」 . The Guardian – www.theguardian.comより。
- ^ “Certification | Wi-Fi Alliance” . www.wi-fi.org . 2018年9月3日時点のオリジナルよりアーカイブ。
引用文献
- アブラン, アラン; ムーア, ジェームズ W.; ボーク, ピエール; デュプイ, ロバート; トリップ, レナード L. (2004).ソフトウェアエンジニアリング知識体系ガイド. IEEE. ISBN 978-0-7695-2330-9。
- アントン・ハワード(1987年)、初等線形代数(第5版)、ニューヨーク:ワイリー、ISBN 0-471-84819-0
- Beauregard, Raymond A.; Fraleigh, John B. (1973), A First Course In Linear Algebra: with Optional Introduction to Groups, Rings, and Fields , Boston: Houghton Mifflin Co. , ISBN 0-395-14017-X
- バーナーズ=リー、ティム、フィールディング、ロイ・T、ラリー・マシンター(1998年8月)。Uniform Resource Identifiers (URI): Generic Syntax(URI:汎用構文). doi : 10.17487/RFC2396 . RFC 2396. 2015年8月31日閲覧。
- バーナーズ=リー、ティム、フィールディング、ロイ・T、マシンター、ラリー(2005年1月)。Uniform Resource Identifiers (URI): Generic Syntax(URI:汎用構文). doi : 10.17487/RFC3986 . RFC 3986. 2015年8月31日閲覧。
- ブルース、キム・B. (2002).オブジェクト指向言語の基礎:型と意味論. MIT Press. ISBN 978-0-262-02523-2。
- バターフィールド、アンドリュー、ンゴンディ、ジェラード・E. (2016). 『コンピュータサイエンス辞典(第7版)』オックスフォード大学出版局(英国) . ISBN 978-0-19-968897-5。
- Connolly, Daniel "Dan" ; Sperberg-McQueen, C. Michael編 (2009年5月21日). 「HTML 5 のウェブアドレス」 . World Wide Web Consortium . 2015年7月10日時点のオリジナルよりアーカイブ。 2015年9月13日閲覧。
- ガンマ、ヘルム、ジョンソン、ブリシデス (1995). 『デザインパターン:再利用可能なオブジェクト指向ソフトウェアの要素』 . アディソン・ウェスリー. ISBN 9780201633610。
- Gosling, James; Joy, Bill; Steele, Guy; Bracha, Gilad; Buckley, Alex (2014). Java® 言語仕様(Java SE 8 版).
- ドナルド・クヌース(1998年)『ソートと検索』『コンピュータプログラミングの芸術』第3巻(第2版)『アディソン・ウェズリー・プロフェッショナル社』(マサチューセッツ州レディング)ISBN 978-0-201-89685-5。
- レッグ、シェーン、ハッター、マーカス (2007年6月15日). 「知能の定義集」. arXiv : 0706.3639 [ cs.AI ].
- Mealling, Michael ; Denenberg, Ray 編 (2002年8月). W3C/IETF URI計画共同インタレストグループ報告書:Uniform Resource Identifiers (URI)、URL、Uniform Resource Names (URN):明確化と推奨事項. doi : 10.17487/RFC3305 . RFC 3305. 2015年9月13日閲覧.
- ミッチェル、メラニー (1996). 『遺伝的アルゴリズム入門』 ケンブリッジ、マサチューセッツ州: MIT 出版. ISBN 9780585030944。
- ニコルズ、ジョン・E. (1975). 『プログラミング言語の構造と設計』 .アディソン・ウェスレー. ISBN 0-201-14454-9. 2025年11月11日閲覧。
- ニルソン、ニルス(1998年)『人工知能:新たな統合』モーガン・カウフマン、ISBN 978-1-55860-467-4. 2020年7月26日時点のオリジナルよりアーカイブ。2019年11月18日閲覧。
- ポール、アイラ、ショー、アラン (1981). 『計算の本質:コンピュータサイエンス入門』 コンピュータソフトウェアエンジニアリングシリーズ.コンピュータサイエンスプレス. ISBN 0-914894-12-9. 2025年11月11日閲覧。
- プール、デイビッド、マックワース、ランディ・ゲーベル(1998). 『計算知能:論理的アプローチ』 ニューヨーク:オックスフォード大学出版局. ISBN 978-0-19-510270-3. 2020年7月26日時点のオリジナルよりアーカイブ。2020年8月22日閲覧。
- ラッセル、スチュアート・J.、ノーヴィグ、ピーター(2003年)、人工知能:現代的アプローチ(第2版)、アッパーサドルリバー、ニュージャージー:プレンティスホール、ISBN 0-13-790395-2
- ラッセル、スチュアート・J.、ノーヴィグ、ピーター(2009年)『人工知能:現代的アプローチ』(第3版)アッパーサドルリバー、ニュージャージー州:プレンティス・ホール、ISBN 978-0-13-604259-4。。
