IT terminology

IT用語

クライアントサイド
 クライアントサイドとは、Webクライアント、つまり、Webブラウザー上でプログラムを動かすことを言います。Webサーバーは、プログラムの実行結果ではなく、プログラム自信を Webブラウザーに送信し、Webブラウザー上でプログラムを動かします。一般的に、クライアントサイドスクリプトといえば、JavaScriptのことです。
サーバーサイド
 サーバーサイドとは、Webサーバー側でプログラムが動作し、実行結果だけを Webブラウザーに送信します。サーバーサイドスクリプトというと、スクリプト言語の PHPや Python、Rubysなどを利用して、サーバー側で動作するスクリプトのことを言います。
シンタックスハイライト [syntax highlighting]
 シンタックスハイライトとは、テキストエディタなどの文字表示に関する機能の一つで、あらかじめ指定された文中の特定の記号やキーワードなどを他とは異なる色で表示すること。色を変える以外にも、異なるフォントを用いたり、太字や斜体、下線などの装飾を施す場合もある。
 コンピュータプログラムのソースコードやマークアップ言語で装飾された文書を表示する際に便利な機能で、プログラミング言語の予約語や区切り記号、マークアップ言語のタグ名や属性値などを着色することで、それ以外の部分と見分けやすくすることができる。言語仕様上の予約語、コメント、リテラル、演算子、括弧、区切り記号など、キーワードや記号の意味や種類に応じて複数の色や装飾を使い分けることが多い。
 どのような文字列や記号に意味があるかは言語によって異なるため、規則を言語ごとに用意して切り替えて使用するようになっていることが多い。ソフトウェアによってあらかじめ特定の言語に対応している場合があるほか、利用者が独自に規則を定義して保存できる仕組みを備えていることもある。HTMLファイルにCSSやJavaScriptの記述が埋め込まれている場合など、複数の言語が混在する場合にはうまく機能しないこともある。
スタッキングコンテキスト
 スタッキングコンテキスト(stacking context)とは、ウェブページ上で要素が重なった場合に、どの要素が上に表示されるかを決定するために使用されるウェブ技術の概念です。
 要素のスタッキングコンテキストは、以下の3つの要素によって定義されます。
  1. スタッキングコンテキストを形成する親要素
  2. スタッキングコンテキストを形成する子要素
  3. スタッキングコンテキストが適用されるための条件
 スタッキングコンテキストは、ウェブページ上で要素が重なった場合に、要素の表示順序を決定するために重要です。スタッキングコンテキストによって、要素の表示順序を変更することができます。たとえば、z-indexプロパティを使用して要素のスタッキングコンテキストを変更することができます。
 スタッキングコンテキストは、親要素や子要素、適用される条件によって異なる振る舞いを示します。ウェブページ上で要素の表示順序を制御する必要がある場合は、スタッキングコンテキストを理解しておくことが重要です。
ハイパーテキスト [Hyper Text]
 「ハイパーテキスト(Hyper Text)」とは、複数の文書(テキスト)を相互に関連づけ、結びつける仕組みです。なお、文書間を結びつける参照のことを「ハイパーリンク」と言います。ハイパーテキストを記述する言語が HTML です。
パブリック [public]
 パブリックとは、公的な、公有の、公共の、公開の、などの意味を持つ英単語。一般の外来語としては「公共の」、「広く一般に開かれた」という意味で用いられることが多いのが、ITの分野でもこれに似て、通用範囲などが無限定で開かれている様を表すことが多い。対義語は「プライベート [private]」。
プログラミングの publicスコープ
 プログラミングでは、変数や定数、関数、メソッドなどが、別のクラスなどプログラム中のどこからでも参照できることをパブリックであるという。
 多くの言語では、変数などの宣言時に有効範囲の識別子として "public" と記述する。言語によってはパブリックとプライベートの中間の有効範囲(Javaの "protected" など)を設定できるものもある。
 似た概念に「グローバル [global]」があるが、これはプログラムの実行中に常にどこからでも参照できる変数などのことを意味し、所属するクラスなどによって寿命が左右される可能性のあるパブリックな変数などは必ずしもグローバルであるとは限らない。
パブリックネットワーク
 コンピュータネットワークのうち、誰がどのように接続・使用するかわからないものをパブリックネットワークという。特に、Windowsのネットワーク設定で、参加したネットワーク上での機器の検知や情報取得、データやファイルの共有や送受信を制限してコンピュータを保護する接続モードを指すことが多い。
 インターネットや公衆Wi-Fiアクセスポイント、店舗やホテルなどの施設内ネットワークなど、自分以外のネットワーク参加者の素性や利用目的が必ずしも明らかでなく、信用できるとも限らないネットワークを指す。
AMP [Accelerated Mobile Pages]
 AMPとは、米グーグル(Google)社が推進する、軽量なモバイル向けWebページの記述形式および配信方式。同社の配信サーバなどを介して携帯端末に高速にコンテンツを届けることができる。
 Webサイトの運営者はページをAMP HTMLと呼ばれるHTMLの拡張仕様に基づいて記述することでサイトをAMP化することができる。これはHTML5を元に、ページがAMP仕様であることを示す記法や、AMP配信に適したカスタム要素を組み合わせて構成されている。高速配信に適さない一部のHTML要素は使用が制限される。
 要素のスタイル指定は通常のWebページと同じようにCSSを使用できるが、外部CSSファイルのリンクや要素へのstyle属性の指定はできず、ヘッダ中のstyleタグ内に記述する必要がある。大半のスタイルは使用できるが一部のCSS仕様は制限される。
 AMP HTMLを正しく表示させるためにはWebブラウザ側にAMP JSと呼ばれるJavaScriptプログラムが必要で、ページの冒頭でAMPプロジェクトの配布サイトからこれを読み込む要素を記述する必要がある。開発者側の用意したJavaScriptプログラムを読み込んで実行する機能は当初は用意されていなかったが、現在は一定の制限下でamp-script要素を用いてスクリプトを読み込むことができる。
 AMPで作成されたページはGoogle AMP Cacheと呼ばれるコンテンツ配信ネットワーク(CDN:Content Delivery Network)に複製(キャッシュ)され、閲覧者の端末へはCDN上の最寄りのサーバから送信される。移動体通信は低速で遅延が大きく、携帯端末は機能や性能が制約されるため、運営者のWebサーバから伝送する場合に比べ端末上で実際に表示されるまでの体感速度を大幅に高速化することができる。
 AMPの仕様策定などは2015年にGoogle社がパートナー企業らと共に立ち上げたAMP Projectにより行われており、主要な成果はオープンソースとして公開されている。2019年にAMP ProjectはNode.jsやjQueryなどで知られるLinux Foundation傘下のJavaScript系技術のオープンソース開発団体OpenJS Foundationに合流した。
HTTP [HyperText Transfer Protocol]
 HTTPとは、HyperText Transfer Protocolの略です。つまり、ハイパーテキストを送受信するための通信規約です。Webサーバーと Webクライアント(Webブラウザー)の間でデータの送受信を行うために用いられます。クライアントサーバーモデルが採用されており、Webクライアントが要求(HTTPリクエスト)を送信すると、Webサーバーは要求に応じた応答(HTTPレスポンス)を返すという仕組みになっています。
HTTPS [HyperText Transfer Protocol Secure]
 HTTPSとは、HyperText Transfer Protocol Secureの略です。HTTP通信は暗号化されていませんので、認証や暗号化を行う場合には不都合があります。そこで、通信を安全に行うために、SSL/TLSプロトコルを用いて、サーバーの認証や通信内容の暗号化・改ざん検出を行います。
 近年では、安全性の観点からHTTPSの導入が推奨されており、検索エンジンでは、HTTPSを使用する Webサイトが優遇されます。そのため、今から Webサービスを作るのであれば、HTTPSの利用は必須と言えます。一般的に、SSL証明書の発行・維持を行うには費用がかかります。しかし、最近では無料で SSL証明書を発行してくれるサービスもあります。
HTML
 HTMLとは、HyperText Markup Languageの略です。Webページ(ハイパーテキスト)を作成するために開発された言語です。私たちは、Webブラウザーで Webサイトを閲覧しますが、Webブラウザーで見ている大抵のページは、HTMLで記述されたページです。ハイパーテキストでは、ある Webから別の Webページにリンクを埋め込んだり、画像や音声、動画などのメディアを埋め込むこともできます。
HTML5
 HTML5とは、HTMLの5回目の大幅な改訂版です。HTMLは、W3C(World Wide Web Consortium)という非営利団体によって標準化が行われています。2008年に草案が発表され、2014年に HTML5が勧告されました。HTML5では、HTMLの文書構造だけでなく、JavaScriptの APIも仕様に含まれています。
 HTML5の登場以前(2008年以前)、Webブラウザーの機能を補うため、Flashや JavaFX、Silverlightなどのプラグインをインストールして利用することが一般的でした。しかし、HTML5ではそれらのプラグインを利用することなく、最新のメディアをサポートし、Web体験を向上させるさまざまな JavaScriptの各種 APIがどの Webブラウザーでも利用できるように仕様として追加されました。
Web [ウェブ]
 「Web(ウェブ)」とは何でしょうか?私たちは普段から Webと一言で言いますが、いざ「きちんと説明して下さい」と言われると、すぐには答えられないかもしれません。
 Web(ウェブ)とは、WWW(World Wide Web)の略語です。インターネット上にハイパーテキストと呼ばれる仕組みを利用して、さまざまな情報を関連づけ結びつけるシステムのことです。そもそも、Webとは「クモの巣」を意味する単語で、クモの巣のように世界中に張り巡らされた情報を取得できるシステムです。
Webアプリ
 Webアプリとは、Web上で動作するアプリケーションのことです。
 ただし、Webアプリと一言でいうものの、「サーバーサイド」と「クライアントサイド」に分けて考えるのが一般的です。