暗記用ITデータ
2008年更新分
Ajax:Asynchronous JAvascript and XMLの略でjavascriptのHTTP非同期通信機能を利用して、Webページを再ロードせずにサーバー上のデータを動的に画面に反映させる技術の総称。HTTP通信の内容にXMLフォーマットを用いる。
バリアント型:通常ある型を持つ変数にはその型の値しか代入できないが、複数の型の値を代入できる特殊な型のこと。VisualBasicなどでは任意の型の値が代入できる。perlのような型が明示的にはない言語では全ての変数がバリアント型であるとも考えられる。代数的データ型をもつ言語では、バリアント型をコンストラクタにより明示的に宣言し、その宣言で列挙された型がそのバリアント型の要素として利用できるようになる。
X11:MITが開発したX Window Systemという画面表示の為のプロトコルの通称。X version 11の意味。現在はX.Org Foundationが引き継いでいる。Linuxの多くのディストリビューションで描画システムとして採用されている。
パース:文字列データを読み取りながら特定の構文に従って意味のある構造を構築すること。例えば「HTMLをパースする」とは、HTML形式の文字列を読み込みながら各種タグを認識してプログラム内でHTML構造を再現すること。
字句解析:文字列データを決められた特定の単語に区切る解析のことを言う。例えばC言語プログラムの「if(true)」という文字列をif, (, true, )のように区切る解析。lexといった字句解析器と呼ばれる字句解析を支援してくれるソフトウェアがある。
MBR:Master Boot Recordの略で、OSをメディアから起動する為にBIOSが呼び出す小さなプログラムもしくはその領域の事を指す。通常メディアの先頭に記録されており、これが壊れるとメディアに記録されているOSが起動しなくなる。
BIOS:Basic Input/Output Systemの略で、マザーボード上の不揮発性メモリに記録されている小さなユーティリティプログラム。パソコンの起動時にまず呼び出され、ハードウェアの設定画面を提供したりする。
テンプレートエンジン:主にWebシステム開発に用いられる、HTMLを出力する際に固定部分だけ予め記述しておき(雛形)、動的部分をプログラムで置換して出力する機能を持つライブラリの総称。
RPC:Remote Procedure Callの略でリモートコンピューター上に用意された関数をネットワーク越しに呼び出して戻り値を得る事を言う。SunRPC、Java RMI、XML-RPCなど、リモートコンピューターとの情報交換のやり方によって様々な種類・ライブラリがある。
ActiveX:Microsoftが開発した、オブジェクトファイルのフォーマットやオブジェクト同士の通信の規格であり技術の名前。改名の歴史があり、OLEやCOMとも呼ばれる。
RFC:Request For Commentsの略で、IETF(Internet Engineering Task Force)の仕様文章のこと。インターネットに関連するプロトコルや規約に関するデファクトスタンダードが多い。RFCには番号が付けられており、例えばSMTPプロトコルはRFC2821で述べられている。
遅延評価:ソースコードに記述された命令をどのような順番で実行するかを決める戦略の一つ。通常のプログラム言語では、ソースコードに記述された命令を(上から)順番に実行する評価戦略が多い。一方で遅延評価戦略では、実際には実行しなくてもよい命令はその場では実行せず、後の評価で必要になった時に実行する戦略をとる。このような戦略によって、プログラム内で無限を扱えたり、実行効率の最適化が容易になったりする。Haskellは遅延評価の言語として有名。
Qt:trolltech社によるC++のGUIツールキットの名称。キュートと読む。比較的に老舗で有名なライブラリで、GPLと商用ライセンスの二種類がある。
パッチ:ソースコードやバイナリ対して不具合の修正や機能の追加を行う差分プログラムの事。差分のプログラムを元のプログラムに適用する事を「パッチを当てる」と言う。
ウィジット:ウィジットエンジンと呼ばれる環境中で動作するデスクトップに常駐するの小物アプリケーションの事。ガジェットと呼ばれる事もある。Yahoo!やMicrosoftのウィジッとエンジンが有名。また、GUIプログラミング分野においては、ウィンドウハンドラを持つコンポーネントをウィジットと呼ぶ。
ソート:配列内のデータを一定の順番で並び替える事。バブルソートやクイックソートと言ったアルゴリズムがあり、それぞれに速度や最悪計算量などに特徴がある。
.NET:Microsoftが開発したCLRと呼ばれる仮想マシーンやその上で動くプログラムを開発するC#やVB.NET言語などの一連の製品を指す。
マーシャリング:プログラム内の変数やオブジェクトインスタンスを、ファイルに保存したりネットワークに流したりする為に適切な形式に変換する事。マーシャリングされたデータをプログラムが再度読み込むと、保存した時の変数やオブジェクトインタスタンスがそのまま再現できる。
Celeron:インテル社が発売しているx86アーキテクチャCPUの廉価版シリーズの名称。
Ruby:まつもとゆきひろ氏によって1995年頃に開発されたスクリプト言語。C言語経験者が楽にスクリプトを開発できる事を目指した言語で、日本では人気を博している。
ガベージコレクター:プログラマーが明示的にメモリを解放する代わりに、プログラム実行中に不必要になった変数などを検知して自動的に解放してくれる仕組みの事。
シリアルポート:コンピューターと外部機器とのインターフェイスの一つで、データを直列的に送受信するシリアル通信規格に従ったもの。一般にパソコンについているシリアルポートとは、RS232C通信規格のものが多い。
指紋認証:指紋を鍵とする認証の事。指紋の画像からその特徴を抽出して個人を特定する生体認証のひとつ。
Buletooth:最大でも100メートル程度の有効範囲の2.4GHz帯周波数を持つ近距離無線通信規格。モバイルデバイスに多く搭載されている。
USB:Universal Sirial Busの略で、コンピューターが持つ汎用的な外部インターフェイスの一つ。Version 1, 2があり、ハードウェア的な形状は同じだが、データ転送速度に大きな違いがある。
リソース:メモリ、ハードディスク、CPU、ネットワークといったコンピューター上で利用できる有限な資源のこと。
CMS:Contents Management Systemの略で、一般的にはウェブページを作成して運用するために便利な機能を持ったサーバーサイドのソフトウェア群を意味する事が多い。ZOOPSやPHP-Nuke、Zopeなど多くのCMSがGPLで公開されている。
Flash:米Adobe社によるブラウザ上で動画やゲームを作成できるシステムの事。Flash形式のファイルを再生するFlashプレイヤーやFlashファイルを作成する為のAdobe Flash CS3といった開発環境がある。
GIF:画像圧縮形式のひとつ。可逆圧縮でアニメーションGIFといった複数の画像をアニメーション表示するフォーマットがある事などが特徴。圧縮の為に米UNISYS社の特許アルゴリズムが使用されていた事から、特許が失効するまでインターネット上での利用が敬遠されていた経緯がある。
メーリングリスト:特定のメールアドレスにメールを送ると、登録した参加者全員に同じメールが届くシステムの事。インターネット上のコミュニケーション形態の一つとして定着している。
バージョン管理:ソースコードやドキュメントの更新を管理する事。ソフトウェア開発には欠かせない作業の一つで、バージョン管理を行ってくれる代表的なソフトウェアは、CVS、Subversion, git, Microsoft Visual SourceSafeなどである。
割り込み:現在実行中の処理を中断させて、別の指定した処理を強制的に実行させる事。
スリープモード:メモリ上に存在する情報を一旦ハードディスクなどに退避させ、モニター、ハードディスク、ファンなど多くのデバイスを休止させ、必要最小限の機能のみを動作させる省電力電源管理のこと。
SSH:Secure SHellの略で、リモートコンピューターに安全にログインするための有名なプログラム。通信を暗号化できる、秘密書きによる認証が行える、通信先の確認を行えるなどの特徴がある。
ポートフォワード;あるコンピューターの特定のポート番号(TCPのポート番号をさす場合が多い)に到達した接続を、別のコンピューターの別のポート番号へ中継すること。
電子署名:電子的なデータに対して施された署名の事。秘密鍵と公開鍵のペアを持つ人が秘密鍵を用いてあるデータに対して署名を作成すると、他の人は対応する公開鍵を利用して「その署名は間違いなく公開鍵に対応する秘密鍵から生成された署名である」事が確認できる。さらに、公開鍵から秘密鍵を類推する事は計算量的に困難なため、その人が秘密鍵を秘匿している限り、有効な電子的な署名を作成することが出来る。
クッキー:Webアプリケーションがブラウザ経由でユーザーのコンピュータに情報を保存でき、読み込むことが出来る仕組み。Webアプリケーションのセッションやセキュリティがこの機能に大きく依存している。
ドメイン:インターネットに接続されたネットワークにつけられる名前のこと。インターネットではツリー上のドメイン名を利用して、該当のネットワークにアクセスできるようにする仕組みであるDNSが機能している。
LDAP:Lightweight Directory Access Protocolの略で、ディレクトリサービスにアクセスする為の簡易的なプロトコル。LDAP version2 がRFC1777で定義されている。
多相:静的な型付き言語においては、一つの変数や関数は通常唯一の型を持つが、複数の型が許される状態の事を多相と呼ぶ。多相型の変数や関数を用いると、型付き言語においてもより柔軟なプログラミングが可能になる。
ODF: Open Document Formatの略でOpenOfficeで用いられていたXMLのドキュメントフォーマット。現在は拡張されてISO標準の規格となった。
Active Directory:Microsoftのディレクトリサービスの仕組みの事。Windows 2000 Serverからドメインコントローラーの後継として導入された。
ベンチマーク: 処理(実行)速度が重要なハードウェアやソフトウェアに対して行われる速度測定のこと。ベンチマークを取る、ベンチマークがいいといった使い方をする。
キャスト: プログラム内で変数の型を強制的に別の型に変更する事を一般に型のキャストと呼ぶ。
スイッチ: ネットワーク中継機器であるスイッチングハブのこと。
SATA: Serial ATAの略で、シリアル転送方式を使ったハードディスクをパソコンに接続するATA規格の一つ。
Tru64:現在ヒューレットパッカード社が保有するUnixOS。DEC社のアルファCPU向けDigital UNIXとして親しまれていたOSだが、1998年にコンパックに買収されてTru64 UNIXに改名された。
ポインタ:メモリ内のある特定の場所を指す変数の事を一般にポインタと呼ぶ。C言語などで主に用いられる言葉。
X Window System:マサチューセッツ工科大学が中心となって開発したウィンドウシステム。現在GPLやBSDライセンスで配布されている多くのUNIXディストリビューションでこのX Window Systemの流れを汲むウィンドウシステムが採用されている。
シグナル:OSが提供するプロセス間通信機能の一つ。非同期なイベント通知の為に用いられる。
TDP:Thermal Design Powerの略でCPUの発熱具合を表す指標。この値が大きいCPUにはそれなりの冷却装置が必要になる。
リフレクション:プログラムが実行中に自分自身の情報を得たり、書き換えたりする機能の事。
ファイルシステム:主に補助記憶装置上に情報を記録する為の手法。WindowsはNFSと呼ばれるもの、Linuxではextend version 3と呼ばれるものがよく利用される。その他にも FAT、ZFS、HFSなど様々な種類があり、それぞれに性能や保存の属性に特徴がある。
XML:eXtensible Markup Languageの略で、文章やデータの意味と構造を表現するマークアップ言語であるSGMLの一種。
プラグイン:何らか本体のソフトウェアに結合されて新しい機能を提供するソフトウェアを概してプラグインと呼ぶ事が多い。
python:Guido van Rossum 氏が開発したオブジェクト指向言語の一つで、シンプルで習得が容易な事が特徴。Googleの公用語と言われている。
正規表現:文字列の集合を特殊な記法で表現する方法。元々は形式言語理論における正則表現と呼ばれるものだが、表現できる文字列を増やすため、プログラミングで用いられる正規表現の多くは正則表現を拡張したものである。正規表現を用いる事で特定のパターンを持つ文字列を判定したり置換したりすることが出来る為、プログラム内やエディターの機能の一つとして広く用いられている。
PDF:Portable Document Formatの略でAdobe社が提唱した文章を保存するフォーマット。2008年現在、世界中で広く利用されている。
Swing:Java言語のSDKに付属しているGUIライブラリの名称。AWTをベースとしてよりモダンな設計になっている。
AWT:Abstract Window Toolkitの略で、Java言語のSDKに付属しているGUIライブラリの名称。
emacs:世界中で最も広く使われているエディターの一つ。GNUで有名なリチャード・ストールマンが作者。
RGB:Red Green Blueの略で、赤み具合、緑具合、青具合を表す三つの数字で特定の色を表現する方法。
CMYK:Cyan Magenda Yellow Blackの4種類の色を用いて特定の色を表現する方法。
ポインティングデバイス:マウスやタッチペンなど画面上の特定の位置を指すことが出来る入力デバイスの総称。
QWERTY配列:キーボード上にアルファベットを配置するやり方のひとつ。日本で用いられている一般的なもの。Dvorak配列というタイピングしやすいと言われている配列もある。
3G:3rd Generationの略で第三世代の携帯電話通信方式やその通信方式を用いた携帯電話の事。
圏論:数学基礎論の一分野。近年プログラミングへの応用方法が見つかり有名になった。
ポイントフリースタイル:関数を定義する際に、引数を明示的に用いないで関数合成のみを駆使して表現する方法。一見読解が難しくなるが、実は本質的な記述となる場合が多い。
Haskell:ML系のプログラム言語の一つで、破壊的代入をいっさい許さない純粋関数型言語で、遅延評価戦略が特徴。
カリー化:複数引数の関数に対して一部の引数を与えて残りの引数を取る関数を得る方法。直感的には「引数を幾つか固定すると、残った引数の関数が得られる」ということ。
フォント:統一された書体を持つ文字表現のセット。個別の字体はグリフと呼ばれ区別される。
WEP:無線LAN通信に用いられる暗号方式の一つ。64ビットのWEB暗号は既に簡単に破られるようになった。
SMTP:Simple Mail Transfer Protocolの略で、メール配送用の通信規約。RFC2821で定められている。
POP:Post Office Protocolの略で、メールを受信して取り込むための通信規約。RFC1939で定められている。
IMAP:Internet Message Accesss Protocolの略で、サーバー上に保存されたメールを受信するための通信規約。RFC2060で定められている。
NAT:Network Address Tranlationの略で、アドレス変換の事を意味する。一般的にはIPアドレスをルーター上で別のIPアドレスに変換する事を指す場合が多い。
IPマスカレード:ネットワークアドレスとポート番号を一度に変換するNAPTのLinuxにおける実装のこと。
P2P:Point to Pointの意味で、サーバーを経由しないでクライアント同士が動的に繋がる事でネットワークを形成して一つのサービスを実現しようとする通信技術。Winnyなどファイル交換ソフトウェアの基礎技術となっているため、P2P技術自体が危険視されている。
API:Application Programming Interfaceの略で、ライブラリやモジュールが提供する関数の定義を指す。(2008-07-13)
ユニットテスト:プログラム全体ではなく、ごく小さい一部の部品を作成段階で個別にテストすることで、早期に不具合を検出して全体のテストコストを引き下げようとする手法。ユニットテストを支援するライブラリもある。(2008-07-07)
例外:エラー処理に関するプログラム言語の機能の一つ。プログラム内で例外が発生する(もしくは発生させる)と、その例外を捕捉するプログラム部分までジャンプできるのが特徴。誤った使い方をするとプログラムの流れが掴みにくくなるために、技術者の中でもその利用に賛否がある。(2008-07-07)
SQLインジェクション:主にWebサイトなどへの不正アクセスを行うために用いられる攻撃手法の一つ。Webサイトがユーザーから受け付けるデータに特殊な細工を施す事で、内部で動作するSQL文を開発者の意図しないものに変更してしまう手法。この攻撃手法によって価格ドットコムが一週間にわたり閉鎖に追い込まれた事件は有名。(2008-07-07)
継続:プログラム実行中の任意の場所から、次ステップ以降で実行される命令全てを抽象化した関数を変数として取り出すことが出来るプログラム言語の機能の一つ。継続を利用すると、例外やループが定義できるだけでなく実行のレジュームも可能なため、Webアプリケーションの実行モデルとして注目を浴びた。(2008-07-07)
SSD:Solid State Driveの略で、フラッシュメモリなどを用いた補助記憶装置の意味。駆動部品が存在するハードディスクと対比して用いられる場合が多い。(2008-07-04)
ルータ:ネットワーク機器の一種で、通信を中継して宛先を振り分ける役割を持つ。IPレイヤーのネットワークを中継する機器として用いられる場合が多い。(2008-07-04)
ハイバネーション:コンピューターを休止状態にして消費電力を押さえる機能で、ノートパソコンなどによく搭載されている。(2008-07-04)
ドライバ:OSと共にハードウェアを制御する特殊なソフトウェア。(2008-07-04)
BoF:Birds of a Featherの略で、ある特定のトピックに興味のある人々が集って行うミーティングの事。(2008-07-03)
SQL:リレーショナルデータベースのデータを検索したり操作したりする要求を表現する問い合せ言語。現在はSQL99という規格が広く利用されている。(2008-07-03)
マルウェア:悪意を持ったソフトウェアという意味の造語。何でも「ウィルス」と呼ぶ風潮に耐えかねてセキュリティベンダーが作ったと思われる。(2008-07-03)
破壊的代入:値を変数に代入する事。値を変数に束縛する(割り当てる)方式と対比して用いられる。(2008-07-03)
フォーマット:「書式」の意味から発展して、ファイルやディスクのデータ保存方法を指すようになった言葉。「このファイルのフォーマットはCSV形式」や「このディスクはNTFSでフォーマットされている」といった使い方をする。「フォーマットする」という動詞では、格納されているデータを全て消してデータ格納場所を作り直すという意味にもなる。(2008-07-03)
マザーボード:コンピューターを構成する部品で、CPUやメモリを接続する主たる基盤のこと。(2008-07-02)
NAS:Network Area Storageの略で、ネットワーク上に直接接続されたストレージのこと。通常NASというと、イーサーケーブルを挿すだけでWindowsやLinuxの共有ディスクとして機能するハードウェアのことを指す。(2008-07-02)
VPN:Vitrual Private Natworkの略で、インターネット越しに2拠点以上のネットワークを暗号化通信で繋ぎ、擬似的なプライベートネットワークを作り出すことをいう。(2008-07-02)
シンクライアント:一般的にはディスクを持たず、ネットワーク越しにCPUやGPUを利用し、ユーザーインターフェイスのみを担うコンピューターのこと。(2008-07-02)
NTFS:NT File Systemの略でMicrosoft Windows NTで採用された耐障害性の高いファイルシステム。ユーザー権限による細かいアクセス管理が可能な点も特徴。(2008-07-02)
構文木:定められた構文に従って解析された、プログラムの構造を表すツリー構造の事。(2008-06-30)
インスタンス:一般的にはオブジェクト指向言語に関する言葉で、宣言されたクラスをメモリに具現化したものをいう。(2008-06-30)
MySQL:有名なオープンソースのDBMS(DataBase Management System)。ライセンスはGPLと商用ライセンスを選べるデュアルライセンス。開発元のMySQL ABは、2008年にSun Microsystemsに買収された。(2008-06-30)
クリエイティブ・コモンズ:2001年にローレンス・レッシグ氏が中心となって設立した公益法人で、クリエイティブ・コモンズ・ライセンスと呼ばれる著作権者がインターネットでコンテンツを流通させる場合に便利なライセンス体系を発表した事で有名。(2008-06-30)
SSL:Secure Socket Layerの略で、暗号化通信を行うプロトコルの一種。厳密には、SSL version 1, 2, TLS version 1といった種類がある。(2008-06-30)
CPU:Central Processing Unitの略で、中央演算処理装置。コンピューターを構成する部品の中で最も中心的な役割を演じる部品で、四則演算を始め決められた命令を高速に処理する機能を持つ。(2008-06-29)
スレッド:OSが処理の塊を認識する手段の一つ。一般的に、一つのプロセスの中に平行して実行される処理を複数用意する必要がある場合にスレッドを利用する。スレッドはプロセスよりもリソースを消費しない場合が多い。(2008-06-29)
プロセス:OSが処理の塊を認識する手段の一つ。一般的に、実行ファイルを実行すると一つのプロセスが作成され、そのプログラムの実行が終了すると、そのプロセスは消滅する。(2008-06-29)
ネットマスク:IPアドレスのグループ分けを表現する値。グループ分けされたコンピューターは、そのコンピューターが所属しているグループ以外のグループに属しているコンピューターと直接通信する事は(IP層では)できない。IPv4では、0から32の数字か255.255.255.0のような数値で表される事が多い。(2008-06-29)
DNS:Domain Name Systemの略。インターネット上の名前とIPアドレスの対応付けを管理する機能の事。(2008-06-29)
SDK:Software Development Kitの略。(2008-06-28)
仮引数:関数定義時に使用される引数。(2008-06-28)
実引数:関数を実際に使用するときに関数に引き渡される引数。(2008-06-28)