開発
アーキテクチャ(architecture)
設計思想。設計構造。
アルゴリズム
アルゴリズムとは、特定の問題を解決するための手順や計算方法のことです。
コンピュータプログラムが動作する際には、アルゴリズムを使ってデータの処理や問題解決を実行します。
アルゴリズムは、入力されたデータに基づいて最適な結果を導き出すために設計されており、その性能や効率性がシステム全体の動作に影響します。
イベント(event)
発生するもの。マウスをクリックした時はマウスクリックイベントが発生し、キーボードのキーを押した時はキープレスイベントが発生する。このイベントを検知して行われる処理がイベントハンドラ。
インスタンス(instance)
実体。→ オブジェクト指向
インターフェース(interface)
接続部。または接続部に関する取り決め。プログラミングでは、AモジュールがBモジュールのインタフェースを呼び出すとか、Bモジュールのインタフェースをたたくとか言ったりする。ネットワーク用語ではケーブルなどを接続する口をインタフェースと呼んだりする。
エンコード(encode)
データを別のデータ形式に変換すること。URLエンコード、BASE64などの方式がある。エンコードしたデータを元の形式に戻すことをデコードと呼ぶ。
オープン系
オープン系とは、主にパソコン用いて作られた業務システムを指します。以前は「汎用系」という、大型のコンピューター(汎用機)を用いたシステムが主流でしたが、高性能のパソコンが普及したことで現在はオープン系開発が主流になりました。
仮想化
仮想化は、複数のユーザーで効率的にコンピュータ資源を共有する仕組みである。複数のサーバを論理的に1台で動作させるサーバ仮想化、複数のディスクを論理的に集約するストレージ仮想化、顧客のコンピュータ画面を共有化するデスクトップ仮想化などの技術がある。
拡張子(extension)
ファイル名の最後のドット(.)から終わりまでの部分。たとえば、.txt .html .gif .jpg .exe など。Windowsやウェブでは、この拡張子によってファイルの種類を識別している。
環境変数(environment variable)
プログラムが参照できる特別な変数。親プロセスから子プロセスに引き継がれる。Windowsでは[MS-DOSプロンプト]で「SET」コマンド、UNIXではシェルで「printenv」コマンドを実行すると表示される。例えば、PATHという名前の環境変数はコマンドが置かれているフォルダ名を示す。CGIにおいては、アクセス元のアドレスなどいろいろな情報をWebサーバーから環境変数を用いて受け取っている。
関数(function)
プログラムを開発する際の処理単位のひとつ。例えばadd関数は数値の加算を行い、print関数は文字列を画面に表示したりする。いろいろな関数を組み合わせることでプログラムを作成することにより、プログラムの構造化が計られ、複雑なプログラムを簡単に開発できるようになる。
キャッシュ(cache)
速度改善のためにデータを一時的に記憶しておくこと。またはその記憶したデータ。または記憶する領域。
クォーテーション(quotation)
引用符。ダブルクォーテーション(”)、シングルクォーテーション(’)、バッククォーテーション(`)など。
クッキー(cookie)
あるウェブページを表示する際にブラウザ側のハードディスク内に記憶しておき、再度そのページを表示する際に利用されるデータ、またはその仕組み。
クライアント(client)
サービスを受ける側のソフトウェアやマシン。サービスを提供する側はサーバーと呼ぶ。俗に言うブラウザはWebサービスを受けるWebクライアントであり、Outlook Expressなどのメーラーはメールサービスを受けるメールクライアントである。
クラス(class)
種類。→オブジェクト指向。
グローバル変数(global variable)
プログラムのどこからでも参照できる変数。逆に、プログラムの一部(関数の中だけとか、ブロックの中だけとか)からのみ参照できる変数をローカル変数と呼ぶ。
コマンド(command)
コンピューターに対する命令。例えば、UNIXではdateコマンドを実行すると現在の日付を表示する。例えば、Windowsでは [MS-DOSプロンプト] から dir コマンドを実行するとファイルの一覧を表示する。
コミット
トランザクション内の変更を確定し永続化する操作
→他のユーザー・処理に変更内容が反映され可視化される
ポイント
- トランザクションが正常に完了したとき実行される
- ロールバックの対になる操作(→ ロールバックは「取り消し」)
- 一度コミットすると、元に戻せない(基本的にロールバック不可)
コメントアウト(comment out)
C言語では /* ~ */ で囲むと、HTMLではで囲むと、その部分がコメントとして無視されるようになる。
シェル(shell)
UNIX上の[MS-DOSプロンプト]のようなもの。文字だけのコマンドラインインタフェースを提供する。プロンプトと呼ばれる入力促進文字列の後ろにコマンド名を入力し、実行する。MS-DOSのDOSKEYコマンドのように、UNIXでも使用するシェル(sh, csh, tcsh, kshなど)によって自分の好みのキーボードインタフェースを選択することができる。TELNETでログインした際に、限定された機能しか扱えないプロバイダも多いが、シェルが使えて、自分の好きなコマンドを起動できる状態を「シェルが開放されている」と呼ぶ。
シェルスクリプト(shell script)
シェルの構文で記述されたスクリプト。MS-DOSのバッチファイルに相当する。いちおう、条件分岐、繰り返しなどの機能をもち、そこそこのプログラムを記述することができる。
シグネチャ(signature)
メールの最後につける、自分に関する情報。自分の名前やメールアドレスや、会社の場合は所属部署や電話番号など。4行以内に収めるのがよいとされている。
証明書(certificate)
公開鍵系暗号で用いられる公開鍵が、その人のものであることを証明するデータ。
正規表現(regular expression)
文字列を検索する際に「1文字以上のA」や、「ABCで始まる文字列」などのように複雑な検索条件を表すもの。
絶対パス(absolute path)
トップフォルダから記述したパス名。
相対パス(relative path)
自分のファイルの位置から相対的に指定したパス名。ひとつ上のフォルダはふたつのドット(..)で表す。
ソース(source)
「元になるもの」。
属性(attribute/property)
英語で言うとアトリビュート。Windows用語で言うとプロパティ。HTMLでは、タグの中に書くXXX=YYYのような付加情報を属性と呼ぶ。
タイムゾーン
世界の各地域ごとに定められた標準時の区分、地域上の時間差を表す仕組み
■ポイント
地球は24時間で1周 → 15度ごとに1時間の時差 日本標準時 JST 協定世界時 UTC
デバッグ
デバッグとは、コンピュータのプログラムなどのバグや欠陥を見つけ、修正していく作業のことを指します。
デプロイ
デプロイとは、開発されたプログラムを実際の運用環境に配置し、ユーザーが使える状態にすることです。
ドメイン
特定のWebサイトやメールサーバを識別するための文字列
■ポイント
- IPアドレス(例:192.0.2.1)を人間に分かりやすく表現(例:example.com)
- WebサイトのURL・メールアドレスに利用
- DNS(Domain Name System)により、ドメイン名を実際のIPアドレスに変換
- 一意であり、重複不可
■構成例(example.co.jp)
- トップレベルドメイン(TLD):jp, com, netなど
- セカンドレベルドメイン:co, ne, acなど(主に日本などの国別ドメインで使用)
- サブドメイン:www.example.com, mail.example.comのwwwやmail部分
■種類
- 独自ドメイン:企業や個人が取得(例:yourcompany.com)
- 共有ドメイン:無料サービスなどで提供されるもの(例:yourname.webhost.com)
トランザクション
データベースで複数の処理をまとめて管理する仕組み 関連する一連の処理を1つの単位として扱い、成功(コミット)・失敗(ロールバック)を一括で管理
ACID(トランザクションの信頼性を保証するための4つの性質)
- A:Atomicity(原子性)
→ トランザクション内の処理はすべて成功(コミット)するか、すべて失敗(ロールバック)するかの2択 - C:Consistency(一貫性)
→ トランザクション処理の前後でデータの整合性が保たれている(矛盾がない)こと - I:Isolation(独立性)
→ 複数のトランザクションを並行実行しても互いに干渉せず、単独実行と同じ結果になること - D:Durability(永続性)
→ トランザクションが完了したら、結果は障害があっても永続的に保存される(失われない)
ネスト(nest)
入れ子。あるブロックの中に別のブロックがあることを、ブロックがネストするという。
ハードウエア
ハードウエアとは、装置や機械、設備といった、システムの物理的な部分を示す言葉です。一方で無形のシステム、プログラムなどはソフトウエアと呼ばれます。
パーミッション(permission)
権限情報。そのファイルを誰が読めるか、誰が書き込めるかなどの権限に関する情報。
排他制御
ある処理を同時に複数の人が行うとまずい時に、「今私が処理中なので、他の人は待っててね」という処理を行うことを、「排他制御する」とか「ロックする」とか言う。
バックエンド
サーバーサイド(Webサーバー側)やデータベースのシステムなど、ユーザーの目に見えない部分のことです。ユーザーが入力した内容などのデータ処理やデータベースへの保存、検索結果の出力といったことを行います。
引数(argument)
他のコマンドや関数に引き渡す、または他のコマンドや関数から引き渡される値。
ビルド
プログラミング言語で書かれたソースコードなどを元に、実行可能ファイルや配布パッケージを作成する処理や操作
標準入力(standard input)
C言語で言うところのファイルディスクリプタ0番、stdin、Perlで言うところのSTDIN。プログラムがデータを受け取る際の基本的なファイルハンドル。
ファイヤーウォール(firewall)
外部からのセキュリティアタックを防ぐために設置する接続装置。ネットワークの入り口をひとつにまとめ、そこでフィルタリング、モニタリング、ロギング、アカウンティングチェックなどを行うことにより、外部からのアタックを排除する。
フレームワーク
プログラムを効率的に作るために用意された「枠組み」のこと。 あらかじめ用意されたコードやツールが含まれており、開発者はそれを使うことで、ゼロからすべてを作る必要がなくなる。
プロトコル(protocol)
コンピューター同士が通信を行う際の取り決め。HTTP, FTP, SMTP, PPP, IPなど、いくつものプロトコルが決められている。
フロントエンド
WebサービスやWebアプリケーションで直接ユーザーの目に触れる部分のこと。WebサイトやWebアプリケーションなどでユーザーが文字を入力したり、ボタンをクリックしたりする部分。クライアントサイドとも呼ばれ、Webブラウザ側でプログラムを実行しています。利用する言語は主に、HTMLやCSS、JavaScriptです。
ポート番号(port number)
インターネット通信でアプリケーションを識別する番号.
ホスト(host)
中央の大きなコンピュータを指すこともあるが、インターネット用語では、ネットワークに接続されたコンピュータすべてを指す。
マージン(margine)
余白。「マージンをとる」とは「余白を設ける」こと。一般に、枠の外側の余白がマージン。枠の内側の余白がパディング。
無限ループ(infinite loop)
プログラムの誤りにより無限に繰り返し処理を行ってしまうこと。
メソッド(method)
オブジェクト指向でよく用いれられる言葉。
メタ文字(meta character)
ある状態において、特別な意味を持つ文字を「メタ文字」という。
文字コード(character code)
コンピュータが文字を表すために内部的に用いられている番号。
モジュール(module)
プログラムをある機能単位に分割したもの。複数の関数が集まってモジュールとなり、複数のモジュールが集まってプログラムとなる。
要素(element)
HTMLではタグで囲まれた各部分を要素(エレメント)と呼ぶ。
要件定義
要件定義とは、システムやソフトウェアを作る前に、何を作るべきか、どのような機能や性能が必要なのかを明確にする作業のことです。
開発プロジェクトの最初のステップであり、クライアントやユーザーのニーズを正確に理解し、それを具体的な要求としてまとめます。
ライブラリ
ライブラリとは、特定の機能を実現するために用意されたコードの集まりのことです。
ライブラリを使うことで、特定の機能を自分で一から作らずに簡単に実装できます。
ライブラリは単一の機能に特化していることが多く、フレームワークと違って特定のルールに縛られずに自由に使えるのが特徴です。
ライセンス
ライセンスとは、ソフトウェアや技術を利用するための権利や条件のこと。
リダイレクト(redirect)
送信や出力先を変更すること。
レスポンス(response)
返答。電子メールの返信や、コンピュータ同士の通信で、要求メッセージに対する応答メッセージなど。
API
APIとは「Application Programming Interface」の略称で、Webサービスやソフトウエア、アプリケーション同士をつなぐインターフェースを意味します。
BBS(Bulletin Board System)
掲示板。
FTP
File Transfer Protocol(ファイル・トランスファー・プロトコル) ネットワーク越しにファイルを送受信するための通信規約(プロトコル)
ポイント
クライアントとサーバ間でファイルのアップロード・ダウンロードができる Webサイトのデータ更新、ファイル共有などで利用 一般的なポート番号は 21番(制御用) 認証が必要な場合が多く、ユーザー名とパスワードで接続する 通信内容が暗号化されないため、安全性の面で注意が必要 →代替:SFTP/FTPS
(C)
Copyright(著作権)の省略記号。
CGI(Common Gateway Interface)
ウェブサーバーからウェブページを読み出す際に、ウェブサーバー側でプログラムを起動し、その結果をウェブページとして返す仕組み。
GIF(Graphic Interchange Format)
Webでよく用いられる画像フォーマットの一種。 動画を再生できるGIF形式。ひとつのファイルの中にコマ数分の画像をもっているため、サイズは大きくなりがちだが、手軽なためWebサイトでよく使用されている。
GUI(Graphical User Interface)
グラフィカルなユーザーインタフェース。一昔前のパソコンは基本的にキーボードで文字を入力し、文字で結果を読み取っていた。これをCLIと呼ぶ。CLIに対し、ウィンドウやアイコンなどをマウスで操作するようなインタフェースをGUIと呼ぶ。
HTTP(Hyper-Text Transfer Protocol)
ウェブページを転送する際に用いられるプロトコル。WWWの仕組みは、ウェブサーバーとウェブクライアントがHTTPでHTML文書などを交換することによって成り立っている。
HTTPS(HTTP over SSL)
SSLを用いてセキュリティ機能を高めたHTTP。https://~ ではじまるアドレスでアクセスする。SHTTPや、拡張子の .shtml とは別物。
ID
IDentifier(識別子)の略。ユーザーを識別するのがユーザーID、マシンを識別するのがマシンID。
IP(Internet Protocol)
インターネットの最も基本となるプロトコル。世界中のコンピューターをIPアドレスで識別し、パケットを転送する仕組み。
LDAP(Lightweight Directory Access Protocol/軽量ディレクトリアクセスプロトコル)
ディレクトリ型データベース(ユーザー名、パスワード、役職、連絡先情報など)にアクセスするためのプロトコル(通信規約)
主な要素
- ディレクトリ:階層構造で管理されるユーザーや組織情報のデータベース
- DN(識別名):エントリの一意な場所を示すアドレス
例)uid=tanaka, ou=users, dc=example, dc=com - 属性(Attribute):エントリの情報
例)名前、メール、パスワード - エントリ(Entry):ディレクトリ内の1件のデータ単位
例)ユーザーやグループなど - バインド(Bind):LDAPサーバへの認証処理
- 検索(Search):ディレクトリから条件に合う情報を取得する処理
OS
OSとは、「オペレーティングシステム」の略称で、コンピュータを含めるハードウエアとソフトウエアを管理し、利用者が使いやすいように動くソフトウエアのことを指します。
POP(Post Office Protocol)
メールサーバからメールを受信する際に最もよく用いられているプロトコル。送信はSMTP、受信はPOPというのが最も一般的。
■ポイント
- メールサーバからクライアントへメールを受信するために使用
- メールをサーバからダウンロードし、サーバ上から削除する(設定で残すことも可能)
- 主にポート番号 110番(通常), 995番(SSL/TLS暗号化)を使用
- シンプルで高速だが、複数端末での同期は不向き(基本的にローカル保存)
POST
HTTPのオペレーションのひとつ。クライアントからサーバーにデータを送信する。CGIで、フォームに入力したデータをサーバーに送信する際によく用いられる。
RGB(Red Green Blue)
光の三原色。赤・緑・青。コンピュータによる色はこの3色を組み合わせてつくる。
SaaS/PaaS/IaaS
SaaS/ IaaS/PaaSとは、クラウドサービスの提供形態を表す言葉です。SaaSはパッケージで発売されるソフトウエアをインターネットを介して利用できるようなサービスで、PaaSはアプリケーションを動かすためのプラットフォームが提供されるサービス。IaaSは情報システムが動くために必要なインフラ(ハードディスクや仮想サーバなど)が提供されるサービスです。
SMTP(Simple Mail Transfer Protocol)
メール送信のための通信規約(プロトコル)
■ポイント
- 電子メールを送信サーバから送信先サーバへ転送
- クライアント → メールサーバへの送信要求にも使用
- 主にポート番号 25番, 587番(認証付き), 465番(SSL暗号化)を使用
- メール受信は別のプロトコル(POP・IMAP)が担当
■プロセス
- ユーザーがメールを送信(SMTP)
- メールサーバが宛先のサーバに転送(SMTP)
- s受信者がPOP/IMAPでメールを受け取る
SSI(Server Side Includes)
ウェブサーバーからウェブページを読み出す際に、ウェブサーバー側でファイルやプログラム実行結果などの挿入を行うための仕組み。
SSL(Secure Socket Layer)
Netscape社が開発したセキュリティ技術。ブラウザでキャッシュカードの番号などを安全に転送するなどの目的に使用される。
SSR(サーバーサイドレンダリング)
JavaScriptをサーバー内部で実行してHTMLを生成し、クライアントに返す仕組み。本来Webブラウザ上で実行されるものでしたが、サーバー側で実行することにより、処理を早められます。
SSO(Single Sign-On/シングルサインオン)
一度のログインで複数のサービスに連続してアクセスできる仕組み
submit
「提出する」の意味。フォームに入力したデータをウェブサーバーに送信すること。
TCP/IP(Transmission Control Protocol/Internet Protocol)
インターネットで使用される基本的なプロトコル。
UI・UX
UI(ユーザーインターフェース)とUX(ユーザーエクスペリエンス)は、ソフトウェアやウェブサイトのデザインと操作性に関連する概念。 UIは、ユーザーが直接操作する部分であり、ボタンの配置や色、画面遷移など。 一方、UXはユーザーがシステムを使う際の全体的な体験を指し、操作のしやすさや満足度等。
URL(Uniform Resource Locator)
WWW上のリソース(ファイルやディレクトリなど)の場所を識別するための文字列。
URI(Uniform Resource Indentifier)
HTML3.2ではURLだったが、HTML4.0ではURIという用語を用いている。
UTC(協定世界時)
タイムゾーンの世界基準 日本 UTC+9 ニューヨーク UTC-5
Webサーバ
Webクライアント(Webブラウザ)からの要求に応じてHTMLドキュメントなどを返送するサーバソフトウェア。
Webサイト
ひとつのまとまりを持ったWebページの集合。
Webブラウザ
Webページを閲覧するソフトウェア。
WWW(World Wide Web)
Webと同義。英語のWebは蜘蛛の巣の意味。世界的に張り巡らされたインターネットの利用技術を「世界的な規模の蜘蛛の巣」として、WWWと名づけた。