WebDevelopmentEssentials Objectives V1.0(JA): Difference between revisions
Created page with "__FORCETOC__ ==日本語ページ構築中Minimally Qualified Candidate== The candidate has a basic understanding of software development, the principle of the world wide w..." |
|||
| (6 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
== | ==最低限の資格を持つ受験生== | ||
受験生は、ソフトウエア開発の基本的な理解、ワールドワイドウェブ(WWW)とウェブアプリケーションの原理を理解している必要があります。受験生は、マークアップ言語の文法を利用して簡単なWebサイトを構築したり、そのWebサイトをlink, media要素やフォームを利用して拡張することが可能である必要があります。受験生は、これらのコンテンツがどのように表示されWebサイトに配置されるか、定義できる必要があります。さらに、受験生は変数・条件・ループ・関数などの、プログラミングの基本的な概念を知っている必要があります。受験生は、ウェブブラウザー上で動く、簡単なプログラムを作成できる必要があります。受験生は、ウェブサイトから送られたデータを処理し、データベースで永続化し、データベースのコンテンツで同的なウェブサイトを構築できる、サーバサイド側のプログラムを開発できる必要があります。 | |||
<br /> | <br /> | ||
== | ==バージョン情報== | ||
この試験範囲は、バージョン1.0.0の「ドラフト」です。 | |||
<br /> | <br /> | ||
== | ==試験範囲の翻訳== | ||
このwikiに、以下の試験範囲の翻訳があります: | |||
* [[ | * [[Web Development Essentials Objectives V1.0|English]] | ||
* [[WebDevelopmentEssentials Objectives V1.0(PT-BR)|Brazilian Portuguese]] | * [[WebDevelopmentEssentials Objectives V1.0(PT-BR)|Brazilian Portuguese]] | ||
* [[WebDevelopmentEssentials Objectives V1.0(ZH)|Chinese (Simplified)]] | * [[WebDevelopmentEssentials Objectives V1.0(ZH)|Chinese (Simplified)]] | ||
| Line 32: | Line 32: | ||
<br /> | <br /> | ||
== | ==試験範囲== | ||
===''031 | ===''031 ソフトウエア開発とウェブ技術''=== | ||
====<span style="color:navy">031.1 | ====<span style="color:navy">031.1 ソフトウエア開発の基礎(総重量: 1)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 1 | | style="background:#eaeaea" | 1 | ||
| Line 47: | Line 47: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、ソフトウエア開発と重要なプログラミング言語の知識を理解している必要がある。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * ソースコードについての理解 | ||
* | * コンパイラーとインタープリターの原理の理解 | ||
* | * ライブラリの概念の理解 | ||
* | * 関数・プロシージャ・オブジェクト指向プログラミングの概念の理解 | ||
* | * ソースコードエディタと統合開発環境(IDE)の共通機能の知識 | ||
* | * バージョンコントロールシステムの知識 | ||
* | * ソフトウエアテストの知識 | ||
* | * 重要なプログラミング言語(C, C++, C#, Java, JavaScript, Python, PHP)の知識 | ||
<br /> | <br /> | ||
====<span style="color:navy">031.2 | ====<span style="color:navy">031.2 ウェブアプリケーションアーキテクチャー(総重量: 2)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
| Line 79: | Line 79: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、ウェブ開発技術とアーキテクチャのよく利用される標準について理解しておく必要がある。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * クライアントとサーバの、コンピューティングの原理の理解 | ||
* | * ウェブブラウザの役割の理解と、一般的に利用されているウェブブラウザの知識。 | ||
* | * ウェブサーバとアプリケーションサーバの役割の理解。 | ||
* | * 一般的に利用されている、ウェブの開発技術と標準の理解。 | ||
* | * APIの原理の理解。 | ||
* | * リレーショナルデータベースと非リレーショナルデータベース(NoSQL)の原理の理解。 | ||
* | * 一般的に利用されている、オープンソースデータベースマネージメントシステムの知識。 | ||
* | * RESTとGraphQLの知識。 | ||
* | * シングルページアプリケーション(SPA)の知識。 | ||
* | * ウェブアプリケーションのパッケージングの知識。 | ||
* | * WebAssemblyの知識。 | ||
* | * コンテンツマネージメントシステム(CMS)の知識。 | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* Chrome, Edge, Firefox, Safari, Internet Explorer | * Chrome, Edge, Firefox, Safari, Internet Explorer | ||
| Line 111: | Line 111: | ||
<br /> | <br /> | ||
====<span style="color:navy">031.3 | ====<span style="color:navy">031.3 HTTPの基礎 (総重量: 3)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 3 | | style="background:#eaeaea" | 3 | ||
| Line 122: | Line 122: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、HTTPの基本的な知識を理解している必要がある。それは、HTTPのヘッダ・コンテンツタイプ・キャッシュ・ステータスコードなども含まれる。さらに、受験生はクッキーとセッションに対するクッキの役割の原理について理解していて、さらに発展したHTTP使用の知識がある必要がある。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * HTTPのGETメソッド・POSTメソッド・ステータスコード・ヘッダ・コンテンツタイプの理解。 | ||
* | * 静的コンテンツと動的コンテンツの違いの理解。 | ||
* | * HTTPのURLの理解。 | ||
* | * HTTPのURLが、どのようにシステムパス上のファイルに対応しているか、の理解。 | ||
* | * ファイルを、ウェブサーバのドキュメントルートへのアップロード。 | ||
* | * キャッシュの理解。 | ||
* | * クッキーの理解 | ||
* | * セッションとセッションハイジャックの知識。 | ||
* | * 一般的に利用されているHTTPサーバの知識 | ||
* | * HTTPSとTLSの知識 | ||
* | * web socketの知識 | ||
* | * バーチャルホスト(virtual host)の知識 | ||
* | * 一般的なHTTPサーバの知識 | ||
* | * ネットワーク帯域と、遅延要求と制限の知識 | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* GET, POST | * GET, POST | ||
| Line 155: | Line 155: | ||
<br /> | <br /> | ||
===''032 | ===''032 HTMLドキュメントマークアップ''=== | ||
====<span style="color:navy">032.1 | ====<span style="color:navy">032.1 HTMLドキュメントの仕組み (総重量: 2)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
| Line 167: | Line 167: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、HTMLドキュメントの仕組みと文法を理解している必要がある。これには、基本的なHTMLドキュメントの作成も含まれる。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * 簡単なHTMLドキュメントを作成する。 | ||
* | * HTMLの役割の理解。 | ||
* | * HTMLスケルトンの理解。 | ||
* | * (タグ・属性・コメント等の)HTMLの文法の理解。 | ||
* | * HTMLのheadの理解。 | ||
* | * Metaタグの理解。 | ||
* | * 文字エンコーディングの理解。 | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* <nowiki><!DOCTYPE html></nowiki> | * <nowiki><!DOCTYPE html></nowiki> | ||
| Line 191: | Line 191: | ||
* <nowiki><head></nowiki> | * <nowiki><head></nowiki> | ||
* <nowiki><body></nowiki> | * <nowiki><body></nowiki> | ||
* <nowiki><meta></nowiki> | * charset(uff-8), name, content属性を含む<nowiki><meta></nowiki> | ||
<br /> | <br /> | ||
====<span style="color:navy">032.2 | ====<span style="color:navy">032.2 HTMLの意味とドキュメントの階層 (総重量: 2)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
| Line 206: | Line 206: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、意味構造によるHTMLドキュメントを作成できなくてはいけない。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * HTMLドキュメントのコンテンツにマークアップを作成する。 | ||
* | * 階層化HTMLテキスト構造の理解。 | ||
* | * blockとinline HTML要素の区別 | ||
* | * 重要性な意味構造のHTMLエレメントの理解 | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* <nowiki><h1></nowiki>, <nowiki><h2></nowiki>, <nowiki><h3></nowiki>, <nowiki><h4></nowiki>, <nowiki><h5></nowiki>, <nowiki><h6></nowiki> | * <nowiki><h1></nowiki>, <nowiki><h2></nowiki>, <nowiki><h3></nowiki>, <nowiki><h4></nowiki>, <nowiki><h5></nowiki>, <nowiki><h6></nowiki> | ||
| Line 237: | Line 237: | ||
<br /> | <br /> | ||
====<span style="color:navy">032.3 | ====<span style="color:navy">032.3 HTML参照と埋め込みリソース (総重量: 2)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
| Line 248: | Line 248: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、他のドキュメントにリンクを貼ったHTMLドキュメントを作成したり、HTMLドキュメントに画像・ビデオ・音声などの外部のコンテンツを埋め込んだりすることができる。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * 外部リソースへのリンクとページのアンカーの作成。 | ||
* | * HTMLドキュメントに画像を追加する。 | ||
* | * PNG, JPG, SVGを含む、一般的に用いられているメディアのファイルフォーマットの、主な特性の理解。 | ||
* | * iframeの知識。 | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* | * id属性 | ||
* <nowiki><a></nowiki> | * hrefと(_blank, _self, _parent, _top)のtarget属性を含んだ<nowiki><a></nowiki> | ||
* <nowiki><img></nowiki> | * srcとalt属性含んだ<nowiki><img></nowiki> | ||
<br /> | <br /> | ||
====<span style="color:navy">032.4 | ====<span style="color:navy">032.4 HTMLフォーム (総重量: 2)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
| Line 282: | Line 282: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、様々な種類のinput要素を含んだ、簡単なHTMLフォームを作成できる必要がある。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * 簡単なHTMLフォームの作成 | ||
* | * HTMLのformタグのmethod属性の理解 | ||
* | * HTMLのinput要素と種類の理解 | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* | * method(get, post), action enctypeなどの属性を含む<nowiki><form></nowiki> | ||
* (text, email, password, number, date, file, range, radio, checkbox, hidden等の) type属性の<nowiki><input></nowiki> | |||
* (submit, reset, hidden, button等の) type属性の<nowiki><button></nowiki> | |||
* <nowiki><textarea></nowiki> | * <nowiki><textarea></nowiki> | ||
* | * (name, value, id等の)form要素の共通属性 | ||
* <nowiki><label></nowiki> | * for属性を含んだ<nowiki><label></nowiki> | ||
<br /> | <br /> | ||
===''033 CSS | ===''033 CSS コンテンツ スタイリング''=== | ||
====<span style="color:navy">033.1 | ====<span style="color:navy">033.1 CSS基礎 (総重量: 1)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 1 | | style="background:#eaeaea" | 1 | ||
| Line 319: | Line 319: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、さまざまな方法で、CSSを利用したHTMLドキュメントにスタイルをつける方法を理解している必要がある。これには、CSS規則の構造と文法の理解が含まれる。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * HTMLドキュメントないにCSSを組み込む | ||
* | * CSS文法の理解 | ||
* | * CSSにコメントを付加する。 | ||
* | * アクセシビリティの特徴と要求の知識 | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* HTML | * HTML のstyleとtype(text/css)属性 | ||
* <nowiki><style></nowiki> | * <nowiki><style></nowiki> | ||
* | * rel (stylesheet), type (text/css), src属性を含んだ<nowiki><link></nowiki> | ||
* ; | * ; | ||
* /*,*/ | * /*,*/ | ||
| Line 344: | Line 344: | ||
<br /> | <br /> | ||
====<span style="color:navy">033.2 | ====<span style="color:navy">033.2 CSSセレクタとスタイルの適用 (総重量: 3)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 3 | | style="background:#eaeaea" | 3 | ||
| Line 354: | Line 354: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
. | |||
受験生は、CSS内でセレクタを利用することができて、CSSの規約がどのようにHTMLドキュメント内の要素に適用されるか理解している必要がある。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * CSSの規約を要素に適用するためセレクタを利用する。 | ||
* | * CSS pseudo-classesの理解 | ||
* | * CSSにおけるルールの順序と重要性の理解 | ||
* | * CSSにおける継承の理解 | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* element; .class; #id | * element; .class; #id | ||
| Line 378: | Line 378: | ||
<br /> | <br /> | ||
====<span style="color:navy">033.3 CSS | ====<span style="color:navy">033.3 CSS スタイリング (総重量: 2)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
| Line 389: | Line 389: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、CSSを利用して、HTMLドキュメントの要素へ、簡単なスタイルを利用適用することができる | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * 基本的なCSSプロパティの理解 | ||
* | * CSSにおいてよく利用されるユニットの理解 | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* px, %, em, rem, vw, vh | * px, %, em, rem, vw, vh | ||
| Line 409: | Line 409: | ||
<br /> | <br /> | ||
====<span style="color:navy">033.4 CSS | ====<span style="color:navy">033.4 CSS ボックスモデルとレイアウト (総重量: 2)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
| Line 420: | Line 420: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、CSSボックスモデルを理解している必要がある。これには、ウェブサイトの要素の位置を定義することも含まれる。さらに、ドキュメントフローを理解している必要もある。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * CSSレイアウトで、要素のdimension, position, alignment の定義 | ||
* | * 他の要素の周りのテキストをどのように記述するか。 | ||
* | * ドキュメントフローの理解 | ||
* | * CSSグリッドの知識 | ||
* | * レスポンシブ ウェブ デザインの知識 | ||
* | * CSSメディアクエリの知識 | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* width, height, padding, padding-*, margin, margin-*, border, border-* | * width, height, padding, padding-*, margin, margin-*, border, border-* | ||
| Line 448: | Line 448: | ||
<br /> | <br /> | ||
===''034 JavaScript | ===''034 JavaScript プログラミング''=== | ||
====<span style="color:navy">034.1 | ====<span style="color:navy">034.1 JavaScriptの実行と文法(総重量: 1)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 1 | | style="background:#eaeaea" | 1 | ||
| Line 460: | Line 460: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、JavaScriptファイルとHTMLドキュメントからのインラインコードを実行できて、JavaScriptの基本的な文法を理解できる必要がある。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * HTMLドキュメント内のJavaScriptを実行する | ||
* | * JavaScriptの文法を理解する | ||
* | * JavaScriptコードにコメントを付加する | ||
* | * JavaScriptコンソールへアクセスする | ||
* | * JavaScriptコンソールへ書き込む | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* <nowiki><script></nowiki> | * type(text/javascript)属性とsrc属性を含む<nowiki><script></nowiki> | ||
* ; | * ; | ||
* //, /* */ | * //, /* */ | ||
| Line 485: | Line 485: | ||
<br /> | <br /> | ||
====<span style="color:navy">034.2 | ====<span style="color:navy">034.2 JavaScriptデータ構造 (総重量: 3)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 3 | | style="background:#eaeaea" | 3 | ||
| Line 495: | Line 495: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、JavaScriptのコードで、変数を利用できる必要がある。これには、変数の理解とデータ型の理解が含まれる。さらに、受験生は演算子の割り当てと型変換を理解していて、変数のスコープを理解している必要がある。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * 変数と定数の定義と利用 | ||
* | * データ型の理解 | ||
* | * 型変換と型強制の理解 | ||
* | * 配列とオブジェクトの理解 | ||
* | * 変数スコープの知識 | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* =, +, -, *, /, %, --, ++, +=, -=, *=, /= | * =, +, -, *, /, %, --, ++, +=, -=, *=, /= | ||
| Line 521: | Line 521: | ||
<br /> | <br /> | ||
====<span style="color:navy">034.3 | ====<span style="color:navy">034.3 JavaScriptの制御構造と関数 (総重量: 4)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 4 | | style="background:#eaeaea" | 4 | ||
| Line 531: | Line 531: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、JavaScriptのコードにおける制御構造を理解している必要がある。これには、比較演算子の利用も含まれる。さらに、受験生は簡単な関数を書けたり、関数の引数や戻り値について理解している必要がある。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * 真偽値の理解 | ||
* | * 比較演算子の理解 | ||
* | * 緩い等価性と厳格な等価性比較の違いについての理解 | ||
* | * 条件節の利用 | ||
* | * ループ節の利用 | ||
* | * 独自関数の定義 | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* if, else if, else | * if, else if, else | ||
| Line 559: | Line 559: | ||
<br /> | <br /> | ||
====<span style="color:navy">034.4 | ====<span style="color:navy">034.4 ウェブサイトのコンテンツとスタイリングの、JavaScriptによる操作(総重量: 2)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 2 | | style="background:#eaeaea" | 2 | ||
| Line 569: | Line 569: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、HTML DOMについて理解している必要がある。これには、HTML要素とCSSのプロパティのDOMを、簡単なシナリオに沿ってDOMイベントだけではなくJavaScriptを利用して操作できることが含まれている。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * DOMの概念と構造の理解 | ||
* | * DOMを利用してHTML要素のコンテンツとプロパティの変更 | ||
* | * DOMを利用してHTML要素のCSSスタイリングの変更 | ||
* | * HTML要素からJavaScript関数を機能させる | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* document.getElementById(), document.getElementsByClassName(), document.getElementsByTagName(),document.querySelector(), document.querySelectorAll() | * document.getElementById(), document.getElementsByClassName(), document.getElementsByTagName(),document.querySelector(), document.querySelectorAll() | ||
* | * DOM要素のinnerHTMLプロパティと、setAttribute(), removeAttribute() メソッド | ||
* | * DOM要素のclassListプロパティと、 classList.add(), classList.remove(), classList.toggle()メソッド | ||
* | * HTML要素のonClick, onMouseOver, onMouseOut属性 | ||
<br /> | <br /> | ||
===''035 | ===''035 NodeJSサーバプログラミング''=== | ||
====<span style="color:navy">035.1 | ====<span style="color:navy">035.1 NodeJSの基礎 (総重量: 1)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 1 | | style="background:#eaeaea" | 1 | ||
| Line 606: | Line 606: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、NodeJSの基礎を理解している必要がある。これには、NPMモジュールの概念の理解だけではなく、ローカルの開発サーバを実行させることも含まれている。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * Node.jsの概念の理解 | ||
* | * NodeJSアプリケーションの実行 | ||
* | * NPMパッケージのインストール | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* node [file.js] | * node [file.js] | ||
| Line 630: | Line 630: | ||
<br /> | <br /> | ||
====<span style="color:navy">035.2 NodeJS | ====<span style="color:navy">035.2 NodeJS Expressの基礎(総重量: 4)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 4 | | style="background:#eaeaea" | 4 | ||
| Line 641: | Line 641: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、Expressウェブフレームワークを用いて簡単な動的なウェブサイトを作ることができる。これには、テンプレートエンジンEJSを用いて動的なファイルを提供するだけではなく、簡単なExpressルートを定義することが含まれる。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * 静的ファイルとEJSテンプレートへのルートの定義 | ||
* | * Expressによる静的ファイルの提供 | ||
* | * ExpressによるEJSテンプレートの提供 | ||
* | * 非ネスト構造の簡単なEJSテンプレートの作成 | ||
* | * HTTP GETとPOSTパラメータにアクセスして、HTMLフォームにより送信されたデータを処理するために、リクエストオブジェクトを利用 | ||
* | * ユーザ入力値評価の知識 | ||
* | * クロスサイトスクリプティング(XSS)の知識 | ||
* | * クロスサイトリクエストフォージュリ(CSRF)の知識 | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* | * expressとbody-parserノードモジュール | ||
* Express | * Express appオブジェクト | ||
* app.get(), app.post() | * app.get(), app.post() | ||
* res.query, res.body | * res.query, res.body | ||
| Line 673: | Line 673: | ||
<br /> | <br /> | ||
====<span style="color:navy">035.3 | ====<span style="color:navy">035.3 SQL基礎(総重量: 3)==== | ||
{| | {| | ||
| style="background:#dadada" | | | style="background:#dadada" | | ||
''' | '''総重量''' | ||
| style="background:#eaeaea" | 3 | | style="background:#eaeaea" | 3 | ||
| Line 684: | Line 684: | ||
| style="background:#dadada; padding-right:1em" | | | style="background:#dadada; padding-right:1em" | | ||
''' | '''説明''' | ||
| style="background:#eaeaea" | | | style="background:#eaeaea" | | ||
受験生は、SQLiteデータベースでここのテーブルを作成し、SQLを利用してデータを追加・変更・削除することができる。さらに、受験生はここのテーブルからデータを検索し、NodeJSからSQLの問い合わせを実行することができる。これには、複数のテーブル間でデータを連結したり参照したりすることは含まれていない。 | |||
|} | |} | ||
''' | '''主な知識分野:''' | ||
* | * NodeJSからデータベースのコネクションを確立する | ||
* | * NodeJSでデータベース内のデータを検索する | ||
* | * NodeJSからSQLの問い合わせを実行する | ||
* | * joinを含まない、簡単なSQLクエリを作成する。 | ||
* | * プライマリキーの理解 | ||
* | * SQLクエリ内で利用される変数のエスケープ | ||
* | * SQLインジェクションの知識 | ||
''' | '''利用されるファイル・用語・ユーティリティ:''' | ||
* sqlite3 NPM module | * sqlite3 NPM module | ||
Latest revision as of 15:18, 21 July 2021
最低限の資格を持つ受験生
受験生は、ソフトウエア開発の基本的な理解、ワールドワイドウェブ(WWW)とウェブアプリケーションの原理を理解している必要があります。受験生は、マークアップ言語の文法を利用して簡単なWebサイトを構築したり、そのWebサイトをlink, media要素やフォームを利用して拡張することが可能である必要があります。受験生は、これらのコンテンツがどのように表示されWebサイトに配置されるか、定義できる必要があります。さらに、受験生は変数・条件・ループ・関数などの、プログラミングの基本的な概念を知っている必要があります。受験生は、ウェブブラウザー上で動く、簡単なプログラムを作成できる必要があります。受験生は、ウェブサイトから送られたデータを処理し、データベースで永続化し、データベースのコンテンツで同的なウェブサイトを構築できる、サーバサイド側のプログラムを開発できる必要があります。
バージョン情報
この試験範囲は、バージョン1.0.0の「ドラフト」です。
試験範囲の翻訳
このwikiに、以下の試験範囲の翻訳があります:
- English
- Brazilian Portuguese
- Chinese (Simplified)
- Chinese (Traditional)
- Dutch
- French
- German
- Italian
- Japanese
- Spanish
試験範囲
031 ソフトウエア開発とウェブ技術
031.1 ソフトウエア開発の基礎(総重量: 1)
|
総重量 |
1 |
|
説明 |
受験生は、ソフトウエア開発と重要なプログラミング言語の知識を理解している必要がある。 |
主な知識分野:
- ソースコードについての理解
- コンパイラーとインタープリターの原理の理解
- ライブラリの概念の理解
- 関数・プロシージャ・オブジェクト指向プログラミングの概念の理解
- ソースコードエディタと統合開発環境(IDE)の共通機能の知識
- バージョンコントロールシステムの知識
- ソフトウエアテストの知識
- 重要なプログラミング言語(C, C++, C#, Java, JavaScript, Python, PHP)の知識
031.2 ウェブアプリケーションアーキテクチャー(総重量: 2)
|
総重量 |
2 |
|
説明 |
受験生は、ウェブ開発技術とアーキテクチャのよく利用される標準について理解しておく必要がある。 |
主な知識分野:
- クライアントとサーバの、コンピューティングの原理の理解
- ウェブブラウザの役割の理解と、一般的に利用されているウェブブラウザの知識。
- ウェブサーバとアプリケーションサーバの役割の理解。
- 一般的に利用されている、ウェブの開発技術と標準の理解。
- APIの原理の理解。
- リレーショナルデータベースと非リレーショナルデータベース(NoSQL)の原理の理解。
- 一般的に利用されている、オープンソースデータベースマネージメントシステムの知識。
- RESTとGraphQLの知識。
- シングルページアプリケーション(SPA)の知識。
- ウェブアプリケーションのパッケージングの知識。
- WebAssemblyの知識。
- コンテンツマネージメントシステム(CMS)の知識。
利用されるファイル・用語・ユーティリティ:
- Chrome, Edge, Firefox, Safari, Internet Explorer
- HTML, CSS, JavaScript
- SQLite, MySQL, MariaDB, PostgreSQL
- MongoDB, CouchDB, Redis
031.3 HTTPの基礎 (総重量: 3)
|
総重量 |
3 |
|
説明 |
受験生は、HTTPの基本的な知識を理解している必要がある。それは、HTTPのヘッダ・コンテンツタイプ・キャッシュ・ステータスコードなども含まれる。さらに、受験生はクッキーとセッションに対するクッキの役割の原理について理解していて、さらに発展したHTTP使用の知識がある必要がある。 |
主な知識分野:
- HTTPのGETメソッド・POSTメソッド・ステータスコード・ヘッダ・コンテンツタイプの理解。
- 静的コンテンツと動的コンテンツの違いの理解。
- HTTPのURLの理解。
- HTTPのURLが、どのようにシステムパス上のファイルに対応しているか、の理解。
- ファイルを、ウェブサーバのドキュメントルートへのアップロード。
- キャッシュの理解。
- クッキーの理解
- セッションとセッションハイジャックの知識。
- 一般的に利用されているHTTPサーバの知識
- HTTPSとTLSの知識
- web socketの知識
- バーチャルホスト(virtual host)の知識
- 一般的なHTTPサーバの知識
- ネットワーク帯域と、遅延要求と制限の知識
利用されるファイル・用語・ユーティリティ:
- GET, POST
- 200, 301, 302, 401, 403, 404, 500
- Apache HTTP Server ("httpd"), NGINX
032 HTMLドキュメントマークアップ
032.1 HTMLドキュメントの仕組み (総重量: 2)
|
総重量 |
2 |
|
説明 |
受験生は、HTMLドキュメントの仕組みと文法を理解している必要がある。これには、基本的なHTMLドキュメントの作成も含まれる。 |
主な知識分野:
- 簡単なHTMLドキュメントを作成する。
- HTMLの役割の理解。
- HTMLスケルトンの理解。
- (タグ・属性・コメント等の)HTMLの文法の理解。
- HTMLのheadの理解。
- Metaタグの理解。
- 文字エンコーディングの理解。
利用されるファイル・用語・ユーティリティ:
- <!DOCTYPE html>
- <html>
- <head>
- <body>
- charset(uff-8), name, content属性を含む<meta>
032.2 HTMLの意味とドキュメントの階層 (総重量: 2)
|
総重量 |
2 |
|
説明 |
受験生は、意味構造によるHTMLドキュメントを作成できなくてはいけない。 |
主な知識分野:
- HTMLドキュメントのコンテンツにマークアップを作成する。
- 階層化HTMLテキスト構造の理解。
- blockとinline HTML要素の区別
- 重要性な意味構造のHTMLエレメントの理解
利用されるファイル・用語・ユーティリティ:
- <h1>, <h2>, <h3>, <h4>, <h5>, <h6>
- <p>
- <ul>, <ol>, <li>
- <dl>, <dt>, <dd>
- <pre>
- <blockquote>
- <strong>, <em>, <code>
- <b>, <i>, <u>
- <span>
- <div>
- <main>, <header>, <nav>, <section>, <footer>
032.3 HTML参照と埋め込みリソース (総重量: 2)
|
総重量 |
2 |
|
説明 |
受験生は、他のドキュメントにリンクを貼ったHTMLドキュメントを作成したり、HTMLドキュメントに画像・ビデオ・音声などの外部のコンテンツを埋め込んだりすることができる。 |
主な知識分野:
- 外部リソースへのリンクとページのアンカーの作成。
- HTMLドキュメントに画像を追加する。
- PNG, JPG, SVGを含む、一般的に用いられているメディアのファイルフォーマットの、主な特性の理解。
- iframeの知識。
利用されるファイル・用語・ユーティリティ:
- id属性
- hrefと(_blank, _self, _parent, _top)のtarget属性を含んだ<a>
- srcとalt属性含んだ<img>
032.4 HTMLフォーム (総重量: 2)
|
総重量 |
2 |
|
説明 |
受験生は、様々な種類のinput要素を含んだ、簡単なHTMLフォームを作成できる必要がある。 |
主な知識分野:
- 簡単なHTMLフォームの作成
- HTMLのformタグのmethod属性の理解
- HTMLのinput要素と種類の理解
利用されるファイル・用語・ユーティリティ:
- method(get, post), action enctypeなどの属性を含む<form>
- (text, email, password, number, date, file, range, radio, checkbox, hidden等の) type属性の<input>
- (submit, reset, hidden, button等の) type属性の<button>
- <textarea>
- (name, value, id等の)form要素の共通属性
- for属性を含んだ<label>
033 CSS コンテンツ スタイリング
033.1 CSS基礎 (総重量: 1)
|
総重量 |
1 |
|
説明 |
受験生は、さまざまな方法で、CSSを利用したHTMLドキュメントにスタイルをつける方法を理解している必要がある。これには、CSS規則の構造と文法の理解が含まれる。 |
主な知識分野:
- HTMLドキュメントないにCSSを組み込む
- CSS文法の理解
- CSSにコメントを付加する。
- アクセシビリティの特徴と要求の知識
利用されるファイル・用語・ユーティリティ:
- HTML のstyleとtype(text/css)属性
- <style>
- rel (stylesheet), type (text/css), src属性を含んだ<link>
- ;
- /*,*/
033.2 CSSセレクタとスタイルの適用 (総重量: 3)
|
総重量 |
3 |
|
説明 |
. 受験生は、CSS内でセレクタを利用することができて、CSSの規約がどのようにHTMLドキュメント内の要素に適用されるか理解している必要がある。 |
主な知識分野:
- CSSの規約を要素に適用するためセレクタを利用する。
- CSS pseudo-classesの理解
- CSSにおけるルールの順序と重要性の理解
- CSSにおける継承の理解
利用されるファイル・用語・ユーティリティ:
- element; .class; #id
- a, b; a.class; a b;
- :hover, :focus
- !important
033.3 CSS スタイリング (総重量: 2)
|
総重量 |
2 |
|
説明 |
受験生は、CSSを利用して、HTMLドキュメントの要素へ、簡単なスタイルを利用適用することができる |
主な知識分野:
- 基本的なCSSプロパティの理解
- CSSにおいてよく利用されるユニットの理解
利用されるファイル・用語・ユーティリティ:
- px, %, em, rem, vw, vh
- color, background, background-*, font, font-*, text-*, list-style, line-height
033.4 CSS ボックスモデルとレイアウト (総重量: 2)
|
総重量 |
2 |
|
説明 |
受験生は、CSSボックスモデルを理解している必要がある。これには、ウェブサイトの要素の位置を定義することも含まれる。さらに、ドキュメントフローを理解している必要もある。 |
主な知識分野:
- CSSレイアウトで、要素のdimension, position, alignment の定義
- 他の要素の周りのテキストをどのように記述するか。
- ドキュメントフローの理解
- CSSグリッドの知識
- レスポンシブ ウェブ デザインの知識
- CSSメディアクエリの知識
利用されるファイル・用語・ユーティリティ:
- width, height, padding, padding-*, margin, margin-*, border, border-*
- top, left, right, bottom
- display: block | inline | flex | inline-flex | none
- position: static | relative | absolute | fixed | sticky
- float: left | right | none
- clear: left | right | both | none
034 JavaScript プログラミング
034.1 JavaScriptの実行と文法(総重量: 1)
|
総重量 |
1 |
|
説明 |
受験生は、JavaScriptファイルとHTMLドキュメントからのインラインコードを実行できて、JavaScriptの基本的な文法を理解できる必要がある。 |
主な知識分野:
- HTMLドキュメント内のJavaScriptを実行する
- JavaScriptの文法を理解する
- JavaScriptコードにコメントを付加する
- JavaScriptコンソールへアクセスする
- JavaScriptコンソールへ書き込む
利用されるファイル・用語・ユーティリティ:
- type(text/javascript)属性とsrc属性を含む<script>
- ;
- //, /* */
- console.log
034.2 JavaScriptデータ構造 (総重量: 3)
|
総重量 |
3 |
|
説明 |
受験生は、JavaScriptのコードで、変数を利用できる必要がある。これには、変数の理解とデータ型の理解が含まれる。さらに、受験生は演算子の割り当てと型変換を理解していて、変数のスコープを理解している必要がある。 |
主な知識分野:
- 変数と定数の定義と利用
- データ型の理解
- 型変換と型強制の理解
- 配列とオブジェクトの理解
- 変数スコープの知識
利用されるファイル・用語・ユーティリティ:
- =, +, -, *, /, %, --, ++, +=, -=, *=, /=
- var, let, const
- boolean, number, string, symbol
- array, object
- undefined, null, NaN
034.3 JavaScriptの制御構造と関数 (総重量: 4)
|
総重量 |
4 |
|
説明 |
受験生は、JavaScriptのコードにおける制御構造を理解している必要がある。これには、比較演算子の利用も含まれる。さらに、受験生は簡単な関数を書けたり、関数の引数や戻り値について理解している必要がある。 |
主な知識分野:
- 真偽値の理解
- 比較演算子の理解
- 緩い等価性と厳格な等価性比較の違いについての理解
- 条件節の利用
- ループ節の利用
- 独自関数の定義
利用されるファイル・用語・ユーティリティ:
- if, else if, else
- switch, case, break
- for, while, break, continue
- function, return
- ==, !=, <, <=, >, >=
- ===, !==
034.4 ウェブサイトのコンテンツとスタイリングの、JavaScriptによる操作(総重量: 2)
|
総重量 |
2 |
|
説明 |
受験生は、HTML DOMについて理解している必要がある。これには、HTML要素とCSSのプロパティのDOMを、簡単なシナリオに沿ってDOMイベントだけではなくJavaScriptを利用して操作できることが含まれている。 |
主な知識分野:
- DOMの概念と構造の理解
- DOMを利用してHTML要素のコンテンツとプロパティの変更
- DOMを利用してHTML要素のCSSスタイリングの変更
- HTML要素からJavaScript関数を機能させる
利用されるファイル・用語・ユーティリティ:
- document.getElementById(), document.getElementsByClassName(), document.getElementsByTagName(),document.querySelector(), document.querySelectorAll()
- DOM要素のinnerHTMLプロパティと、setAttribute(), removeAttribute() メソッド
- DOM要素のclassListプロパティと、 classList.add(), classList.remove(), classList.toggle()メソッド
- HTML要素のonClick, onMouseOver, onMouseOut属性
035 NodeJSサーバプログラミング
035.1 NodeJSの基礎 (総重量: 1)
|
総重量 |
1 |
|
説明 |
受験生は、NodeJSの基礎を理解している必要がある。これには、NPMモジュールの概念の理解だけではなく、ローカルの開発サーバを実行させることも含まれている。 |
主な知識分野:
- Node.jsの概念の理解
- NodeJSアプリケーションの実行
- NPMパッケージのインストール
利用されるファイル・用語・ユーティリティ:
- node [file.js]
- npm init
- npm install [module_name]
- package.json
- node_modules
035.2 NodeJS Expressの基礎(総重量: 4)
|
総重量 |
4 |
|
説明 |
受験生は、Expressウェブフレームワークを用いて簡単な動的なウェブサイトを作ることができる。これには、テンプレートエンジンEJSを用いて動的なファイルを提供するだけではなく、簡単なExpressルートを定義することが含まれる。 |
主な知識分野:
- 静的ファイルとEJSテンプレートへのルートの定義
- Expressによる静的ファイルの提供
- ExpressによるEJSテンプレートの提供
- 非ネスト構造の簡単なEJSテンプレートの作成
- HTTP GETとPOSTパラメータにアクセスして、HTMLフォームにより送信されたデータを処理するために、リクエストオブジェクトを利用
- ユーザ入力値評価の知識
- クロスサイトスクリプティング(XSS)の知識
- クロスサイトリクエストフォージュリ(CSRF)の知識
利用されるファイル・用語・ユーティリティ:
- expressとbody-parserノードモジュール
- Express appオブジェクト
- app.get(), app.post()
- res.query, res.body
- ejs node module
- res.render()
- <% … %>, <%= … %>, <%# … %>, <%- … %>
- views/
035.3 SQL基礎(総重量: 3)
|
総重量 |
3 |
|
説明 |
受験生は、SQLiteデータベースでここのテーブルを作成し、SQLを利用してデータを追加・変更・削除することができる。さらに、受験生はここのテーブルからデータを検索し、NodeJSからSQLの問い合わせを実行することができる。これには、複数のテーブル間でデータを連結したり参照したりすることは含まれていない。 |
主な知識分野:
- NodeJSからデータベースのコネクションを確立する
- NodeJSでデータベース内のデータを検索する
- NodeJSからSQLの問い合わせを実行する
- joinを含まない、簡単なSQLクエリを作成する。
- プライマリキーの理解
- SQLクエリ内で利用される変数のエスケープ
- SQLインジェクションの知識
利用されるファイル・用語・ユーティリティ:
- sqlite3 NPM module
- Database.run(), Database.close(), Database.all(), Database.get(), Database.each()
- CREATE TABLE
- INSERT, SELECT, DELETE, UPDATE