Web開発で使用される基本的な概念と技術の紹介

Web開発で使用される基本的な概念と技術の紹介

本日は、Web 開発で使われる基本的な概念と技術を初心者向けに紹介します。A から Z まで合計 26 項目あり、それぞれが概念や技術に対応しています。


A — AJAX

AJAX は「Asynchronous JavaScript and XML」の略で、インタラクティブな Web アプリケーションを作成するための Web 開発テクノロジーです。 Ajax の開発者 Jesse James Garrett 氏によると、AJAX は次の通りです。

情報を提示するには XHTML + CSS を使用します。
JavaScript を使用して DOM (Document Object Model) を操作し、動的な表示と対話を実現します。
データ交換および関連操作には XML と XSLT を使用します。
XMLHttpRequest オブジェクトを使用して、Web サーバーと非同期的にデータを交換します。
JavaScript を使用してすべてを結び付けます。
DHTML や LAMP と同様に、AJAX は単一のテクノロジを指すのではなく、一連の関連テクノロジを有機的に活用します。実際、AFLAX など、AJAX ベースの「派生/複合」テクノロジもいくつか登場しています。

B —ブラウザ

Web ブラウザは、Web サーバーまたはファイル システム上のファイルを表示し、ユーザーがそれらのファイルを操作できるようにするソフトウェアです。これは、World Wide Web またはローカル エリア ネットワーク上でテキスト、画像、その他の情報を表示するために使用されます。これらのテキストや画像は他の Web サイトへのハイパーリンクになる可能性があり、ユーザーはさまざまな情報をすばやく簡単に閲覧できます。ほとんどの Web ページは HTML 形式ですが、正しく表示するには特定のブラウザが必要なものもあります。 パソコンでよく使われているウェブブラウザは、2010 年 1 月の市場シェア順に、Microsoft の Internet Explorer、Mozilla の Firefox、Google の Google Chrome、Apple の Safari、Opera Software の Opera となっています。ブラウザは最も一般的に使用されるクライアント プログラムです。 Web 開発者は、アプリケーションがすべての主要なブラウザで適切に動作することを確認する必要があります。

C — CSS

カスケード スタイル シート (別名: 文字列スタイル リスト、英語: Cascading Style Sheets、略称 CSS) は、W3C によって定義および管理されている標準です。これは、構造化ドキュメント (HTML ドキュメントや XML アプリケーションなど) にスタイル (フォント、間隔、色など) を追加するために使用されるコンピューター言語です。最新バージョンは、W3C の推奨標準候補である CSS 2.1 です。次のバージョンである CSS 3 はまだ開発中です。

D — DOM

ドキュメント オブジェクト モデル (DOM) は、W3C 組織によって推奨されている拡張マークアップ言語を処理するための標準プログラミング インターフェイスです。ドキュメント オブジェクト モデルの歴史は、1990 年代後半の Microsoft と Netscape 間の「ブラウザ戦争」にまで遡ります。JavaScript と JScript で死闘を繰り広げるため、両陣営はブラウザに大規模な強力な機能を与えました。 Microsoft は、VBScript、ActiveX、Microsoft 独自の DHTML 形式など、Web ページ テクノロジに多くの独自の要素を追加しており、そのため、多くの Web ページは Microsoft 以外のプラットフォームやブラウザーでは正しく表示できません。 DOMは当時考え出された傑作でした。

E —イベント

イベントとは、[OK] ボタンを押す、ラジオ ボタンやチェック ボックスを選択するなど、コントロールによって認識できるアクションです。各コントロールには、フォームの読み込み、クリック、ダブルクリック イベント、編集ボックス (テキスト ボックス) のテキスト変更イベントなど、独自の識別可能なイベントがあります。最新の Web アプリケーションは、イベント駆動に大きく依存しています。

イベントには、システム イベントとユーザー イベントが含まれます。システム イベントは、銀行預金者の預金日が 24 時間ごとに 1 日増加するなど、システムによってトリガーされます。ユーザー イベントは、ユーザーがボタンをクリックしてテキスト ボックスに特定のテキストを表示するときなど、ユーザーによってトリガーされます。 イベント駆動型コントロールは特定の機能を実行します。イベントをトリガーするオブジェクトはイベント送信者と呼ばれ、イベントを受信するオブジェクトはイベント受信者と呼ばれます。

イベント メカニズムを使用すると、クラス オブジェクトの状態が変化すると、システムが何らかの方法でこのイベントを処理するクラス内のメソッドを呼び出したり、コントロール イベントをトリガーするオブジェクトがコントロールの登録済みイベント ハンドラーをすべて呼び出したりといったことを実現できます。

F —ファイアバグ

Firebug は、Web ブラウザ Mozilla Firefox の拡張機能であり、デバッグ ツールです。ユーザーはこれを使用して、あらゆる Web サイトの CSS、HTML、DOM、JavaScript コードをデバッグ、編集、さらには削除できます。 Firebug は、Yahoo! の Web 速度最適化提案ツール YSlow など、他の Web 開発ツールも提供します。 Firebug は Joe Hewitt によって書かれました。彼は Firefox のオリジナル作成者の一人です。

G —グリッド

グリッドはラスターとも呼ばれますが、定義上はラスターの方が正確です。私はインターネット上で、Web ページのグリッド システムのより適切な定義を見つけました。それは、規則的なグリッド配列を使用して、Web ページのレイアウトと情報の配分をガイドおよび調整するというものです。 Web ページのグリッド システムは、フラット グリッド システムから開発されました。 Web デザインでは、グリッド システムを使用すると、Web ページ上の情報の表示がより美しく読みやすくなるだけでなく、より使いやすくなります。さらに、フロントエンド開発では、Web ページがより柔軟かつ標準化されます。グリッド機能をサポートする CSS フレームワークが多数ある場合は、「27 のクラシック CSS フレームワークの紹介」の記事を参照してください。

H — HTML

ハイパーテキスト マークアップ言語 (HTML) は、「Web ブラウザーで表示できる Web ページやその他の情報を作成する」ために設計されたマークアップ言語です。 HTML は、見出し、段落、リストなどの情報を構造化するために使用され、ある程度、ドキュメントの外観と意味を記述するためにも使用できます。 HTML は、もともと Tim Berners-Lee によって定義され、簡素化された SGML (Standard Generalized Markup Language) 構文を使用して IETF によってさらに開発され、後に World Wide Web Consortium (W3C) によって管理される国際標準になりました。

最新バージョンは HTML の次のメジャー改訂版である HTML5 であり、まだ開発中です。目標は、インターネット アプリケーションの急速な発展に伴い、ネットワーク標準が現代のネットワーク ニーズを満たすように、1999 年に確立された HTML 4.01 および XHTML 1.0 標準を置き換えることです。広い意味で HTML5 について話すとき、実際には HTML、CSS、JavaScript を含む一連のテクノロジを指します。

私 — IE

Windows Internet Explorer (旧称 Microsoft Internet Explorer、略して Internet Explorer、略称 IE) は、Microsoft がリリースした Web ブラウザです。 2010 年 9 月現在、統計によると Internet Explorer の市場シェアは 59.65% に達しています。今でも最も広く使用されているウェブブラウザですが、その市場シェアは 2003 年のピーク時より 30% 以上低下しています。

Internet Explorer は、いくつかの標準化されたテクノロジをある程度サポートしていますが、運用上のギャップや互換性の問題も多く、テクノロジ開発者からの批判が高まっています。批判が増加している主な理由は、Internet Explorer の競合製品が比較的充実した技術サポートを備えており、標準に準拠したアプリケーションがますます普及しているという事実です。 Internet Explorer は世界中で広く使用されているため、クロスプラットフォーム コードを求める Web 開発者は、Internet Explorer の脆弱性、独自の機能セット、標準の不完全なサポートに遭遇することがよくあります。

2011 年 3 月 14 日にリリースされた Internet Explorer 9 では、CSS3 や HTML5 などの W3C 仕様のサポートが大幅に改善されました。このバージョンは、GPU アクセラレーションを使用する最初の Internet Explorer バージョンでもあります。公式バージョンは Acid3 テストで 95/100 のスコアを獲得し、以前のバージョンに比べて大幅に改善されました。 Internet Explorer 9 以降では、Internet Explorer ブラウザの W3C 仕様のサポートに問題はなくなると考えられます。

J — JavaScript

JavaScript は、クライアント側の Web 開発で広く使用されているスクリプト言語です。さまざまなユーザー操作に応答するなど、HTML Web ページに動的な機能を追加するためによく使用されます。これはもともと Netscape の Brendan Eich によって設計されたもので、クラスのサポートが組み込まれた、動的で弱い型付けのプロトタイプベースの言語です。 JavaScript は Sun Microsystems の登録商標です。 Ecma International は、JavaScript に基づいて ECMAScript 標準を開発しました。 JavaScript は、サーバー側プログラミングなどの他の状況でも使用できます。完全な JavaScript 実装は、ECMAScript、ドキュメント オブジェクト モデル、およびバイト オーダー マークの 3 つの部分で構成されます。

Netscape は当初、スクリプト言語を LiveScript と名付けましたが、後に Sun との協力により JavaScript に名前を変更しました。 JavaScript はもともと Java からインスピレーションを得て設計されており、その目標の 1 つは「Java のように見える」ことであったため、構文に類似点があり、一部の名前と命名規則も Java から借用されています。しかし、JavaScript の主な設計原則は Self と Scheme から派生したものです。JavaScript と Java の名前が似ているのは、当時のマーケティング上の配慮から Netscape と Sun の間で合意が得られたためです。マイクロソフトは、技術的な優位性を獲得するために、JavaScript のスクリプト言語に対抗する JScript を立ち上げました。相互運用性のために、Ecma International (旧欧州コンピュータ製造業者協会) は ECMA-262 標準 (ECMAScript) を作成しました。どちらも ECMAScript 実装になりました。 JavaScript は、プログラマー向けのプログラミング言語ではなく、非プログラマー向けのスクリプト言語として宣伝されていますが、非常に豊富な機能を備えています。

K —キーワード最適化

キーワード最適化は、検索エンジン最適化 (SEO) とも呼ばれ、検索エンジンの検索ルールを使用して、関連する検索エンジンでの対象 Web サイトのランキングを向上させる方法です。多くの研究で判明しているように、検索エンジンのユーザーは検索結果の最初の数項目にのみ注目する傾向があり、多くのウェブサイトはさまざまな方法で検索エンジンのランキングに影響を与えることを望んでいます。これは、存続のために広告に依存している Web サイトに特に当てはまります。

いわゆる「検索エンジン最適化」とは、ウェブサイトを検索エンジンに受け入れられやすくすることを意味します。検索エンジンはウェブサイト間のコンテンツの関連性を比較し、ブラウザは最も速く、最も完全な方法でコンテンツを検索者に提示します。

検索エンジン最適化は、あらゆるウェブサイトのプロモーションを成功させるために重要なタスクです。同時に、検索エンジンはランキングアルゴリズムのルールを変更し続けているため、アルゴリズムが変更されるたびに、ランキングの高い Web サイトが一夜にして人気を失い、ランキングの低下による直接的な結果として、Web サイト本来のかなりのトラフィックが失われることになります。したがって、検索エンジンのアルゴリズムが変更されるたびに、ウェブサイト間でかなりの混乱と不安が発生します。検索エンジン最適化はますます複雑な作業であると言えます。

L —少ない

Less はもともと、変数、演算子、ネストされたルールなどの動的言語の機能を CSS に提供する Ruby gem でした。実際、Less の実際の機能は、高度な機能を使用する CSS を標準の CSS に変換することです。これらはすべて、Web クライアントがリクエストを開始するときに Http ハンドラーを通じて実行されます。編集中に行うこともできます。さらに、Less は生成された CSS ファイルを自動的に最小化するように構成できるため、帯域幅を節約し、エンドユーザーのエクスペリエンスを向上させることができます。 Less の .Net バージョンもあります。

M — MVC

MVC パターン (モデル - ビュー - コントローラ) は、ソフトウェア エンジニアリングにおけるソフトウェア アーキテクチャ パターンであり、ソフトウェア システムをモデル、ビュー、コントローラの 3 つの基本部分に分割します。 MVC パターンは、1974 年に Trygve Reenskaug によって初めて提案されました。これは、1980 年代に Xerox PARC によってプログラミング言語 Smalltalk 用に発明されたソフトウェア設計パターンです。 MVC パターンの目的は、動的なプログラム設計を実装し、その後のプログラムの変更と拡張を簡素化し、プログラムの一部を再利用できるようにすることです。さらに、このモードでは、複雑さが簡素化され、プログラム構造がより直感的になります。ソフトウェア システムは、基本部分を分離し、各基本部分に対応する機能も付与します。

N — Node.JS

Node は JavaScript ランタイムであり、実際には Google V8 エンジン (Google Chrome ブラウザで使用) のパッケージです。 V8 エンジンは JavaScript を非常に高速に実行し、非常に優れたパフォーマンスを発揮します。 Node はいくつかの特殊なユースケースを最適化し、ブラウザー以外の環境で V8 をより適切に実行するための代替 API を提供します。たとえば、サーバー環境ではバイナリデータの処理が不可欠な場合が多いのですが、Javascript ではこれが十分にサポートされていません。そのため、V8.Node では、バイナリデータを便利かつ効率的に処理するための Buffer クラスが追加されています。そのため、Node は単に V8 を使用するだけでなく、さまざまな環境でより強力になるように最適化します。 Node.js は少し決まりきったものですが、主なポイントは、Web ブラウザーの外部で JavaScript を実行する方法を提供することです。 Javascript は、Web サイトのフロントエンド開発で広く使用されています。 Node を使用すると、この人気のプログラミング言語を、Web サイトのサーバー側でも、より多くの環境で実行できるようになります。

O —オブジェクト

オブジェクトは、オブジェクト指向プログラミングの用語です。オブジェクトとは、客観的世界の問題空間 (名前空間) 内の特定のもの、およびソフトウェア システムのソリューション空間内の基本要素の両方を指します。ソフトウェア システムでは、オブジェクトには一意の識別子があります。オブジェクトには、プロパティとメソッドが含まれます。プロパティは記憶しておく必要のある情報であり、メソッドはオブジェクトが提供できるサービスです。オブジェクト指向ソフトウェアでは、オブジェクトはクラスのインスタンスです。

P — PHP

PHP (Hypertext P reprocessor) は、コンピュータ上で実行されるスクリプト言語です。主な目的は、動的な Web ページを処理することです。また、コマンド ライン インターフェイスも含まれており、グラフィカル ユーザー インターフェイス (GUI) プログラムも生成します。 PHP は 1995 年に Rasmus Lerdorf によって初めて発明され、現在 PHP 標準は PHP グループとオープン ソース コミュニティによって管理されています。 PHP はライセンス契約として PHP ライセンスを使用しますが、この契約では PHP の名前の使用が制限されているため、オープン ソース ライセンス契約 GPL とは互換性がありません。

PHP は、特に Web プログラムの開発において幅広い用途に使用されています。一般的に、PHP は主に Web サーバー上で実行され、PHP コードを実行してユーザーが閲覧する Web ページを生成します。 PHP はほとんどのサーバーおよびオペレーティング システムで実行でき、PHP の使用は完全に無料です。 2007 年 4 月の統計によると、PHP は 2,000 万以上の Web サイトと 100 万台のサーバーにインストールされています。

Q —クエリ

クエリには多くの意味があります。たとえば、クエリ言語は、データを保存する拡張システムと対話するために使用されます。良い例は、リレーショナル データベースを操作するために使用される SQL です。もう 1 つの意味はクエリ文字列です。これは、Web アプリケーションでデータを渡すために URL の一部として使用されます。クエリ文字列の形式は、通常、キーと値のペアの形式です。

R —正規表現

正規表現(英語: Regular Expression、regex または regexp、略称 RE)は、形式表記法、慣例表記法とも翻訳され、コンピューター サイエンスでは、特定の構文規則に準拠する一連の文字列を記述または一致させるために使用される単一の文字列を指します。多くのテキスト エディターやその他のツールでは、特定のパターンに一致するテキスト コンテンツを取得したり置換したりするために、正規表現がよく使用されます。多くのプログラミング言語は、正規表現を使用した文字列操作をサポートしています。たとえば、Perl には強力な正規表現エンジンが組み込まれています。正規表現の概念は、もともと sed や grep などの Unix ツールによって普及しました。

S —ソース管理

ソース コード管理 (バージョン管理とも呼ばれます) は、ソフトウェア開発プロセス中に、異なる人が編集した同じプログラム ファイルが同期されるようにするソフトウェア エンジニアリング手法です。 ソフトウェア設計者は、ソース コード、ファイル、構成ファイルへの変更を追跡および管理し、これらの変更を制御するための手順を提供するために、バージョン管理を使用することがよくあります。最も単純なケースでは、ソフトウェア設計者がプログラムのさまざまなバージョンを自分で保持し、適切な番号を付けることができます。このシンプルなアプローチは、多くの大規模なソフトウェア プロジェクトで使用されてきました。これは目的を達成できる方法ですが、十分に効率的ではありません。ほぼ同一のコード バックアップを同時に多数維持することに加えて、ソフトウェア設計者の自己啓発と開発規律に大きく依存しており、これがエラーの原因となることがよくあります。

場合によっては、プログラムの 2 つ以上のバージョンを同時に用意する必要があります。たとえば、展開用バージョンではプログラム エラーは修正されていますが、新しい機能は追加されていません。一方、別の開発バージョンでは、新しい機能が開発されており、新しいエラーを解決する必要があるため、異なるバージョンと変更を同時に実行する必要があります。さらに、特定のバージョンにのみ存在するプログラム エラーを見つけたり、プログラム エラーが発生するバージョンを見つけたりするには、ソフトウェア デバッガーは異なるバージョンのプログラム コードを比較して問題の場所を見つける必要があります。

T — TDD

テスト駆動開発は、現代のコンピュータ ソフトウェア開発手法です。テストを使用して、ソフトウェア プログラムの設計と実装を推進します。テスト駆動開発は 1990 年代に人気が出ました。テスト駆動開発とは、エクストリームプログラミングで提唱されているプログラム開発手法です。主に、まずテストプログラムを作成し、そのテストに合格するようにコーディングする手法です。テスト駆動開発の目的は、迅速なフィードバックを得て、「メインラインを示す」アプローチを使用してプログラムを構築することです。

テスト駆動開発のメタファー。開発は、実装された機能と品質という 2 つの観点から見ることができます。テスト駆動開発は、2つの帽子をかぶって考える開発方法に似ています。まず、機能を実装する帽子をかぶり、テストの助けを借りて、正しい機能をすばやく実装します。次に、リファクタリングの帽子をかぶり、テストの保護の下で、冗長なコードや重複コードを削除して品質を向上させ、コードの再利用性を高めます。テストは確かにテスト駆動開発の中核であり、開発プロセス全体にわたって実行されることがわかります。

U —ユニットテスト

ユニット テスト (モジュール テストとも呼ばれます) は、プログラム モジュール (ソフトウェア設計の最小単位) の正確性を検証するテストです。プログラム ユニットは、アプリケーションのテスト可能な最小部分です。手続き型プログラミングでは、単位は単一のプログラム、関数、手順などです。オブジェクト指向プログラミングの場合、最小単位はメソッドであり、基本クラス (スーパークラス)、抽象クラス、または派生クラス (サブクラス) のメソッドが含まれます。

一般的に、プログラマーはプログラムを変更するたびに少なくとも 1 つのユニット テストを実行します。プログラムがソフトウェア仕様で要求される作業目標を満たし、バグがないことを確認するために、プログラムの作成前と作成後に複数のユニット テストが実行される可能性が非常に高くなります。ユニット テストは必須ではありませんが、悪いことでもありません。これには、プロジェクト管理のポリシー決定が関係します。

V —ヴィム

Vim は vi から開発されたテキスト エディターです。コード補完、コンパイル、エラージャンプなどプログラミングを快適にする多彩な機能を備えており、プログラマーの間で広く使われています。 Unix 系システムのユーザーに最も好まれるエディタとして、Emacs と並んでランクされています。 Vim の最初のバージョンは、1991 年に Bram Moolenaar によってリリースされました。当初の略称はViI IM itationでしたが、機能が拡張されるにつれて正式名称がViI IM provedに変更されました。現在はオープンソース形式でリリースされているフリーソフトウェアです。

W —ワードプレス

WordPress は、PHP 言語を使用して開発されたブログ プラットフォームです。ユーザーは、PHP と MySQL データベースをサポートするサーバー上に独自のブログを設定できます。 WordPress をコンテンツ管理システム (CMS) として使用することもできます。 WordPress は、GNU General Public License に基づいてライセンスされた無料のオープンソース プロジェクトです。最新バージョンは、2011年2月24日にリリースされた公式の簡体字中国語バージョン3.0.5です。英語を含む複数の言語オプションもあります。

X — XSS

クロスサイト スクリプティング (一般に XSS と呼ばれます) は、Web サイト アプリケーションに対するセキュリティ脆弱性攻撃であり、悪意のあるユーザーが Web ページにコードを挿入して、他のユーザーが Web ページを表示したときに影響を与えることができます。これらの攻撃には、多くの場合、HTML やユーザー側のスクリプト言語が関係します。

Y —ゆい

Yahoo! UI ライブラリ (YUI) は、AJAX、DHTML、DOM を使用して高度にインタラクティブな Web ページを作成するオープン ソースの JavaScript ライブラリです。また、多くの CSS リソースも含まれています。

Z — Z インデックス

Z インデックス
要素の積み重ね順序を設定する CSS プロパティです。スタック順序が高い要素は、常にスタック順序が低い要素よりも前面に表示されます。このプロパティは、配置された要素の Z 軸に沿った位置を設定します。Z 軸は、表示領域に垂直に延びる軸として定義されます。正の数の場合はユーザーに近くなり、負の数の場合はユーザーから遠ざかります。

<<:  JavaScriptはキュー構造プロセスを実現する

>>:  フレックスレイアウトとposition:absolute/fixedの競合の詳細な説明

推薦する

ElementUI の el-dropdown に複数のパラメータを実装する方法

最近、業務上のボタンの増加により、ページレイアウトにボタンが多すぎて、ページが美しくなく、ユーザーエ...

Centos7 での MySQL のインストールに関するチュートリアル

最近、自宅サーバーにクラウドディスクを導入する予定なので、一連の環境構築作業を始めました。MySQL...

Alibaba Cloud ECS サーバーでポート 8080 を開く方法

セキュリティ上の理由から、Alibaba Cloud Server ECS にはデフォルトで独自のセ...

mysql8.0.11をインストールしてrootパスワードを変更し、navicat for mysqlに接続するアイデアの詳細な説明

1.1. ダウンロード:公式ウェブサイトから zip パッケージをダウンロードします。私は 64 ビ...

Windows に異なる (2 つの) バージョンの MySQL データベースをインストールする詳細なチュートリアル

1. 原因: SQL ファイルをインポートする必要があるのですが、インポートできません。この文を実行...

フロントエンド JavaScript ハウスキーパー package.json

目次1. 必須属性1. 名前2. バージョン2. 説明情報1. 説明2. キーワード3. 著者4. ...

Bootstrap5 ブレークポイントとコンテナの具体的な使用法

目次1. Bootstrap5 ブレークポイント1.1 モバイルファースト1.2 ブートストラップブ...

Harborを使用してプライベートDockerリポジトリを構築する方法

目次1. オープンソースの倉庫管理ツール Harbor 2 インストール2.1 DockerとDoc...

Windows DNS サーバーに「ワームレベル」の脆弱性が露呈、17 年間存在

脆弱性の紹介SigRed の脆弱性はワーム化可能であるため非常に危険です。つまり、ユーザーの介入なし...

Linux 7.7 でスワップ パーティション SWAP を設定する方法

Linux システムの Swap パーティション、つまり swap パーティションは、一般に仮想メモ...

Linux システムで時間を取得して使用する方法

Linux システム時間には 2 種類あります。 (1)暦上の時刻。値は、指定された時刻、1970 ...

Webフロントエンドツール、Sublime Text 2の紹介

Sublime Text 2 は、軽量でシンプル、効率的なクロスプラットフォーム エディターです。ブ...

MySQL内部一時テーブルの具体的な使用法

目次連合テーブルの初期化ステートメントの実行連合の結果ユニオンオールグループ化十分なメモリステートメ...

MySQL スロークエリログの設定と使用方法のチュートリアル

序文MySQL スロー クエリ ログは、日常業務でよく遭遇する機能です。MySQL スロー クエリ ...

MySQL PHP 構文の簡単な分析

まずcharAt関数の基本的な構文を見てみましょう文字 = str.charAt(インデックス) c...