WebDevelopmentEssentials Objectives V1.0(JA): Difference between revisions

From LPI Wiki
Jump to navigationJump to search
Okadaknj (talk | contribs)
No edit summary
Okadaknj (talk | contribs)
No edit summary
Line 448: Line 448:
<br />
<br />


===''034 JavaScript Programming ''===
===''034 JavaScript プログラミング''===


====<span style="color:navy">034.1 JavaScript Execution and Syntax (weight: 1)====
====<span style="color:navy">034.1 JavaScriptの実行と文法(総重量: 1)====
{|
{|
| style="background:#dadada" |  
| style="background:#dadada" |  
Line 464: Line 464:
| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should be able to execute JavaScript files and inline code from an HTML document and understand basic JavaScript syntax.
受験生は、JavaScriptファイルとHTMLドキュメントからのインラインコードを実行できて、JavaScriptの基本的な文法を理解できる必要がある。


|}
|}
Line 470: Line 470:
'''主な知識分野:'''
'''主な知識分野:'''


* Run JavaScript within an HTML document
* HTMLドキュメント内のJavaScriptを実行する
* Understand the JavaScript syntax
* JavaScriptの文法を理解する
* Add comments to JavaScript code
* JavaScriptコードにコメントを付加する
* Access the JavaScript console
* JavaScriptコンソールへアクセスする
* Write to the JavaScript console
* JavaScriptコンソールへ書き込む


'''利用されるファイル・用語・ユーティリティ:'''
'''利用されるファイル・用語・ユーティリティ:'''


* <nowiki><script></nowiki>, including the type (text/javascript) and src attributes
* type(text/javascript)属性とsrc属性を含む<nowiki><script></nowiki>
* ;
* ;
* //, /* */
* //, /* */
Line 485: Line 485:
<br />
<br />


====<span style="color:navy">034.2 JavaScript Data Structures (weight: 3)====
====<span style="color:navy">034.2 JavaScriptデータ構造 (総重量: 3)====
{|
{|
| style="background:#dadada" |  
| style="background:#dadada" |  
Line 499: Line 499:
| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should be able to use variables in JavaScript code. This includes understanding values and data types. Furthermore, the candidate should understand assignment operators and type conversion and be aware of variable scope.
受験生は、JavaScriptのコードで、変数を利用できる必要がある。これには、変数の理解とデータ型の理解が含まれる。さらに、受験生は演算子の割り当てと型変換を理解していて、変数のスコープを理解している必要がある。


|}
|}
Line 505: Line 505:
'''主な知識分野:'''
'''主な知識分野:'''


* Define and use variables and constants
* 変数と定数の定義と利用
* Understand data types
* データ型の理解
* Understand type conversion/coercion
* 型変換と型強制の理解
* Understand arrays and objects
* 配列とオブジェクトの理解
* Awareness of the variable scope
* 変数スコープの知識


'''利用されるファイル・用語・ユーティリティ:'''
'''利用されるファイル・用語・ユーティリティ:'''
Line 521: Line 521:
<br />
<br />


====<span style="color:navy">034.3 JavaScript Control Structures and Functions (weight: 4)====
====<span style="color:navy">034.3 JavaScriptの制御構造と関数 (総重量: 4)====
{|
{|
| style="background:#dadada" |  
| style="background:#dadada" |  
Line 535: Line 535:
| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should be able to use control structures in JavaScript code. This includes using comparison operators. Furthermore, the candidate should be able to write simple functions and understand function parameters and return values.
受験生は、JavaScriptのコードにおける制御構造を理解している必要がある。これには、比較演算子の利用も含まれる。さらに、受験生は簡単な関数を書けたり、関数の引数や戻り値について理解している必要がある。


|}
|}
Line 541: Line 541:
'''主な知識分野:'''
'''主な知識分野:'''


* Understand truthy and falsy values
* 真偽値の理解
* Understand comparison operators
* 比較演算子の理解
* Understand the difference between loose and strict comparison
* 緩い等価性と厳格な等価性比較の違いについての理解
* Use conditionals
* 条件節の利用
* Use loops
* ループ節の利用
* Define custom functions
* 独自関数の定義


'''利用されるファイル・用語・ユーティリティ:'''
'''利用されるファイル・用語・ユーティリティ:'''
Line 559: Line 559:
<br />
<br />


====<span style="color:navy">034.4 JavaScript Manipulation of Website Content and Styling (weight: 2)====
====<span style="color:navy">034.4 ウェブサイトのコンテンツとスタイリングの、JavaScriptによる操作(総重量: 2)====
{|
{|
| style="background:#dadada" |  
| style="background:#dadada" |  
Line 573: Line 573:
| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should understand the HTML DOM. This includes manipulating HTML elements and CSS properties through the DOM using JavaScript as well as using DOM events in simple scenarios.
受験生は、HTML DOMについて理解している必要がある。これには、HTML要素とCSSのプロパティのDOMを、簡単なシナリオに沿ってDOMイベントだけではなくJavaScriptを利用して操作できることが含まれている。


|}
|}
Line 579: Line 579:
'''主な知識分野:'''
'''主な知識分野:'''


* Understand the concept and structure of the DOM
* DOMの概念と構造の理解
* Change the contents and properties of HTML elements through the DOM
* DOMを利用してHTML要素のコンテンツとプロパティの変更
* Change the CSS styling of HTML elements through the DOM
* DOMを利用してHTML要素のCSSスタイリングの変更
* Trigger JavaScript functions from HTML elements
* HTML要素からJavaScript関数を機能させる


'''利用されるファイル・用語・ユーティリティ:'''
'''利用されるファイル・用語・ユーティリティ:'''


* document.getElementById(), document.getElementsByClassName(), document.getElementsByTagName(),document.querySelector(), document.querySelectorAll()
* document.getElementById(), document.getElementsByClassName(), document.getElementsByTagName(),document.querySelector(), document.querySelectorAll()
* innerHTML, setAttribute(), removeAttribute() properties and methods of DOM elements
* DOM要素のinnerHTMLプロパティと、setAttribute(), removeAttribute() メソッド
* classList, classList.add(), classList.remove(), classList.toggle() properties and methods of DOM elements
* DOM要素のclassListプロパティと、 classList.add(), classList.remove(), classList.toggle()メソッド
* onClick, onMouseOver, onMouseOut attributes of HTML elements
* HTML要素のonClick, onMouseOver, onMouseOut属性


<br />
<br />


===''035 NodeJS Server Programming ''===
===''035 NodeJSサーバプログラミング''===


====<span style="color:navy">035.1 NodeJS Basics (weight: 1)====
====<span style="color:navy">035.1 NodeJSの基礎 (総重量: 1)====


{|
{|
Line 610: Line 610:
| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should understand the basics of NodeJS. This includes running a local development server as well as understanding the concept of NPM modules.
受験生は、NodeJSの基礎を理解している必要がある。これには、NPMモジュールの概念の理解だけではなく、ローカルの開発サーバを実行させることも含まれている。


|}
|}
Line 616: Line 616:
'''主な知識分野:'''
'''主な知識分野:'''


* Understand the concepts of Node.js
* Node.jsの概念の理解
* Run a NodeJS application
* NodeJSアプリケーションの実行
* Install NPM packages
* NPMパッケージのインストール


'''利用されるファイル・用語・ユーティリティ:'''
'''利用されるファイル・用語・ユーティリティ:'''
Line 630: Line 630:
<br />
<br />


====<span style="color:navy">035.2 NodeJS Express Basics (weight: 4)====
====<span style="color:navy">035.2 NodeJS Expressの基礎(総重量: 4)====


{|
{|
Line 645: Line 645:
| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should be able to create a simple dynamic website with the Express web framework. This includes defining simple Express routes as well as serving dynamic files through the template engine EJS.
受験生は、Expressウェブフレームワークを用いて簡単な動的なウェブサイトを作ることができる。これには、テンプレートエンジンEJSを用いて動的なファイルを提供するだけではなく、簡単なExpressルートを定義することが含まれる。


|}
|}
Line 651: Line 651:
'''主な知識分野:'''
'''主な知識分野:'''


* Define routes to static files and EJS templates
* 静的ファイルとEJSテンプレートへのルートの定義
* Serve static files through Express
* Expressによる静的ファイルの提供
* Serve EJS templates through Express
* ExpressによるEJSテンプレートの提供
* Create simple, non-nested EJS templates
* 非ネスト構造の簡単なEJSテンプレートの作成
* Use the request object to access HTTP GET and POST parameters and process data submitted through HTML forms
* HTTP GETとPOSTパラメータにアクセスして、HTMLフォームにより送信されたデータを処理するために、リクエストオブジェクトを利用
* Awareness of user input validation
* ユーザ入力値評価の知識
* Awareness of cross-site Scripting (XSS)
* クロスサイトスクリプティング(XSS)の知識
* Awareness of cross-site request forgery (CSRF)
* クロスサイトリクエストフォージュリ(CSRF)の知識


'''利用されるファイル・用語・ユーティリティ:'''
'''利用されるファイル・用語・ユーティリティ:'''


* express and body-parser node module
* expressとbody-parserノードモジュール
* Express app object
* 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 SQL Basics (weight: 3)====
====<span style="color:navy">035.3 SQL基礎(総重量: 3)====


{|
{|
Line 688: Line 688:
| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should be able to create individual tables in an SQLite database and add, modify and delete data using SQL. Furthermore, the candidate should be able to retrieve data from individual tables and execute SQL queries from NodeJS. This does not include referencing or combining data between multiple tables.
受験生は、SQLiteデータベースでここのテーブルを作成し、SQLを利用してデータを追加・変更・削除することができる。さらに、受験生はここのテーブルからデータを検索し、NodeJSからSQLの問い合わせを実行することができる。これには、複数のテーブル間でデータを連結したり参照したりすることは含まれていない。


|}
|}
Line 694: Line 694:
'''主な知識分野:'''
'''主な知識分野:'''


* Establish a database connection from NodeJS
* NodeJSからデータベースのコネクションを確立する
* Retrieve data from the database in NodeJS
* NodeJSでデータベース内のデータを検索する
* Execute SQL queries from NodeJS
* NodeJSからSQLの問い合わせを実行する
* Create simple SQL queries excluding joins
* joinを含まない、簡単なSQLクエリを作成する。
* Understand primary keys
* プライマリキーの理解
* Escape variables used in SQL queries
* SQLクエリ内で利用される変数のエスケープ
* Awareness of SQL injections
* SQLインジェクションの知識


'''利用されるファイル・用語・ユーティリティ:'''
'''利用されるファイル・用語・ユーティリティ:'''

Revision as of 15:11, 21 July 2021


日本語ページ構築中Minimally Qualified Candidate

受験生は、ソフトウエア開発の基本的な理解、ワールドワイドウェブ(WWW)とウェブアプリケーションの原理を理解している必要があります。受験生は、マークアップ言語の文法を利用して簡単なWebサイトを構築したり、そのWebサイトをlink, media要素やフォームを利用して拡張することが可能である必要があります。受験生は、これらのコンテンツがどのように表示されWebサイトに配置されるか、定義できる必要があります。さらに、受験生は変数・条件・ループ・関数などの、プログラミングの基本的な概念を知っている必要があります。受験生は、ウェブブラウザー上で動く、簡単なプログラムを作成できる必要があります。受験生は、ウェブサイトから送られたデータを処理し、データベースで永続化し、データベースのコンテンツで同的なウェブサイトを構築できる、サーバサイド側のプログラムを開発できる必要があります。



バージョン情報

この試験範囲は、バージョン1.0.0の「ドラフト」です。


試験範囲の翻訳

このwikiに、以下の試験範囲の翻訳があります:


試験範囲

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