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 57: Line 57:
'''主な知識分野:'''
'''主な知識分野:'''


* Understand what source code is
* ソースコードについての理解
* Understand the principles of compilers and interpreters
* コンパイラーとインタープリターの原理の理解
* Understand the concept of libraries
* ライブラリの概念の理解
* Understand the concepts of functional, procedural and object-oriented programming
* 関数・プロシージャ・オブジェクト指向プログラミングの概念の理解
* Awareness of common features of source code editors and integrated development environments (IDE)
* ソースコードエディタと統合開発環境(IDE)の共通機能の知識
* Awareness of version control systems
* バージョンコントロールシステムの知識
* Awareness of software testing
* ソフトウエアテストの知識
* Awareness of important programming languages (C, C++, C#, Java, JavaScript, Python, PHP)
* 重要なプログラミング言語(C, C++, C#, Java, JavaScript, Python, PHP)の知識


<br />
<br />


====<span style="color:navy">031.2 Web Application Architecture (weight: 2)====
====<span style="color:navy">031.2 ウェブアプリケーションアーキテクチャー(総重量: 2)====


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


The candidate should understand common standards in web development technology and architecture.
受験生は、ウェブ開発技術とアーキテクチャのよく利用される標準について理解しておく必要がある。


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


* Understand the principle of client and server computing
* クライアントとサーバの、コンピューティングの原理の理解
* Understand the role of web browsers and be aware of commonly used web browsers
* ウェブブラウザの役割の理解と、一般的に利用されているウェブブラウザの知識。
* Understand the role of web servers and application servers
* ウェブサーバとアプリケーションサーバの役割の理解。
* Understand common web development technologies and standards
* 一般的に利用されている、ウェブの開発技術と標準の理解。
* Understand the principles of APIs
* APIの原理の理解。
* Understand the principle of relational and non-relational (NoSQL) databases
* リレーショナルデータベースと非リレーショナルデータベース(NoSQL)の原理の理解。
* Awareness of commonly used open source database management systems
* 一般的に利用されている、オープンソースデータベースマネージメントシステムの知識。
* Awareness of REST and GraphQL
* RESTとGraphQLの知識。
* Awareness of single-page applications
* シングルページアプリケーション(SPA)の知識。
* Awareness of web application packaging
* ウェブアプリケーションのパッケージングの知識。
* Awareness of WebAssembly
* WebAssemblyの知識。
* Awareness of content management systems
* コンテンツマネージメントシステム(CMS)の知識。


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* Chrome, Edge, Firefox, Safari, Internet Explorer
* Chrome, Edge, Firefox, Safari, Internet Explorer
Line 111: Line 111:
<br />
<br />


====<span style="color:navy">031.3 HTTP Basics (weight: 3)====
====<span style="color:navy">031.3 HTTPの基礎 (総重量: 3)====


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


The candidate should be familiar with the basics of HTTP. This includes understanding HTTP headers, content types, caching, and status codes. Furthermore, the candidate should understand the principles of cookies and their role for session handling and be aware of advanced HTTP features.
受験生は、HTTPの基本的な知識を理解している必要がある。それは、HTTPのヘッダ・コンテンツタイプ・キャッシュ・ステータスコードなども含まれる。さらに、受験生はクッキーとセッションに対するクッキの役割の原理について理解していて、さらに発展したHTTP使用の知識がある必要がある。


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


* Understand HTTP GET and POST methods, status codes, headers and content types
* HTTPのGETメソッド・POSTメソッド・ステータスコード・ヘッダ・コンテンツタイプの理解。
* Understand the difference between static and dynamic content
* 静的コンテンツと動的コンテンツの違いの理解。
* Understand HTTP URLs
* HTTPのURLの理解。
* Understand how HTTP URLs are mapped to file system paths
* HTTPのURLが、どのようにシステムパス上のファイルに対応しているか、の理解。
* Upload files to a web server's document root
* ファイルを、ウェブサーバのドキュメントルートへのアップロード。
* Understand caching
* キャッシュの理解。
* Understand cookies
* クッキーの理解
* Awareness of sessions and session hijacking
* セッションとセッションハイジャックの知識。
* Awareness of commonly used HTTP servers
* 一般的に利用されているHTTPサーバの知識
* Awareness of HTTPS and TLS
* HTTPSとTLSの知識
* Awareness of web sockets
* web socketの知識
* Awareness of virtual hosts
* バーチャルホスト(virtual host)の知識
* Awareness of common HTTP servers
* 一般的なHTTPサーバの知識
* Awareness of network bandwidth and latency requirements and limitations
* ネットワーク帯域と、遅延要求と制限の知識


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* GET, POST
* GET, POST
Line 185: Line 185:
* Understand character encoding
* Understand character encoding


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* <nowiki><!DOCTYPE html></nowiki>
* <nowiki><!DOCTYPE html></nowiki>
Line 221: Line 221:
* Understand important semantic structural HTML elements
* Understand important semantic structural HTML elements


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* <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 263: Line 263:
* Awareness of iframes
* Awareness of iframes


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* id attribute
* id attribute
Line 296: Line 296:
* Understand HTML input elements and types
* Understand HTML input elements and types


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* <nowiki><form></nowiki>, including the method (get, post), action, and enctype attributes
* <nowiki><form></nowiki>, including the method (get, post), action, and enctype attributes
Line 334: Line 334:
* Awareness of accessibility features and requirements
* Awareness of accessibility features and requirements


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* HTML style and type (text/css) attributes
* HTML style and type (text/css) attributes
Line 369: Line 369:
* Understand inheritance in CSS
* Understand inheritance in CSS


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* element; .class; #id
* element; .class; #id
Line 402: Line 402:
* Understand units commonly used in CSS
* Understand units commonly used in CSS


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* px, %, em, rem, vw, vh
* px, %, em, rem, vw, vh
Line 437: Line 437:
* Awareness of CSS media queries
* Awareness of CSS media queries


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* width, height, padding, padding-*, margin, margin-*, border, border-*
* width, height, padding, padding-*, margin, margin-*, border, border-*
Line 476: Line 476:
* Write to the JavaScript console
* Write to the JavaScript console


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* <nowiki><script></nowiki>, including the type (text/javascript) and src attributes
* <nowiki><script></nowiki>, including the type (text/javascript) and src attributes
Line 511: Line 511:
* Awareness of the variable scope
* Awareness of the variable scope


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* =, +, -, *, /, %, --, ++, +=, -=, *=, /=
* =, +, -, *, /, %, --, ++, +=, -=, *=, /=
Line 548: Line 548:
* Define custom functions
* Define custom functions


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* if, else if, else
* if, else if, else
Line 584: Line 584:
* Trigger JavaScript functions from HTML elements
* Trigger JavaScript functions from HTML elements


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* document.getElementById(), document.getElementsByClassName(), document.getElementsByTagName(),document.querySelector(), document.querySelectorAll()
* document.getElementById(), document.getElementsByClassName(), document.getElementsByTagName(),document.querySelector(), document.querySelectorAll()
Line 620: Line 620:
* Install NPM packages
* Install NPM packages


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* node [file.js]
* node [file.js]
Line 660: Line 660:
* Awareness of cross-site request forgery (CSRF)
* Awareness of cross-site request forgery (CSRF)


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* express and body-parser node module
* express and body-parser node module
Line 702: Line 702:
* Awareness of SQL injections
* Awareness of SQL injections


'''Files, terms, and utilities:'''
'''利用されるファイル・用語・ユーティリティ:'''


* sqlite3 NPM module
* sqlite3 NPM module

Revision as of 14:20, 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 Document Markup

032.1 HTML Document Anatomy (weight: 2)

総重量

2

説明

The candidate should understand the anatomy and syntax of an HTML document. This includes creating basic HTML documents.

主な知識分野:

  • Create a simple HTML document
  • Understand the role of HTML
  • Understand the HTML skeleton
  • Understand the HTML syntax (tags, attributes, comments)
  • Understand the HTML head
  • Understand meta tags
  • Understand character encoding

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

  • <!DOCTYPE html>
  • <html>
  • <head>
  • <body>
  • <meta>, including the charset (UTF-8), name and content attributes


032.2 HTML Semantics and Document Hierarchy (weight: 2)

総重量

2

説明

The candidate should be able to create HTML documents with a semantic structure.

主な知識分野:

  • Create markup for contents in an HTML document
  • Understand the hierarchical HTML text structure
  • Differentiate between block and inline HTML elements
  • Understand important semantic structural HTML elements

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

  • <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 References and Embedded Resources (weight: 2)

総重量

2

説明

The candidate should be able to link an HTML document with other documents and embed external content, such as images, videos and audio in an HTML document.

主な知識分野:

  • Create links to external resources and page anchors
  • Add images to HTML documents
  • Understand key properties of common media file formats, inlcuding PNG, JPG and SVG
  • Awareness of iframes

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

  • id attribute
  • <a>, including the href and target (_blank, _self, _parent, _top) attributes
  • <img>, including the src and alt attributes


032.4 HTML Forms (weight: 2)

総重量

2

説明

The candidate should be able to create simple HTML forms containing input elements of various types.

主な知識分野:

  • Create simple HTML forms
  • Understand HTML form methods
  • Understand HTML input elements and types

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

  • <form>, including the method (get, post), action, and enctype attributes
  • <input>, including the type (text, email, password, number, date, file, range, radio, checkbox, hidden) attribute
  • <button>, including the type (submit, reset, hidden, button) attribute
  • <textarea>
  • common form element attributes (name, value, id)
  • <label>, including the for attribute


033 CSS Content Styling

033.1 CSS Basics (weight: 1)

総重量

1

説明

The candidate should understand the various ways to style an HTML document using CSS. This includes the structure and syntax of CSS rules.

主な知識分野:

  • Embedding CSS within an HTML document
  • Understand the CSS syntax
  • Add comments to CSS
  • Awareness of accessibility features and requirements

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

  • HTML style and type (text/css) attributes
  • <style>
  • <link>, including the rel (stylesheet), type (text/css) and src attributes
  • ;
  • /*,*/


033.2 CSS Selectors and Style Application (weight: 3)

総重量

3

説明

The candidate should be able to use selectors in CSS and understand how CSS rules are applied to elements within an HTML document.

主な知識分野:

  • Use selectors to apply CSS rules to elements
  • Understand CSS pseudo-classes
  • Understand rule order and precedence in CSS
  • Understand inheritance in CSS

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

  • element; .class; #id
  • a, b; a.class; a b;
  • :hover, :focus
  • !important


033.3 CSS Styling (weight: 2)

総重量

2

説明

The candidate should use CSS to add simple styles to the elements of an HTML document.

主な知識分野:

  • Understand fundamental CSS properties
  • Understand units commonly used in CSS

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

  • px, %, em, rem, vw, vh
  • color, background, background-*, font, font-*, text-*, list-style, line-height


033.4 CSS Box Model and Layout (weight: 2)

総重量

2

説明

The candidate should understand the CSS box model. This includes defining the position of elements on a website. Additionally, the candidate should understand the document flow.

主な知識分野:

  • Define the dimension, position and alignment of elements in a CSS layout
  • Specify how text flows around other elements
  • Understand the document flow
  • Awareness of the CSS grid
  • Awareness of responsive web design
  • Awareness of CSS media queries

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

  • 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 Programming

034.1 JavaScript Execution and Syntax (weight: 1)

総重量

1

説明

The candidate should be able to execute JavaScript files and inline code from an HTML document and understand basic JavaScript syntax.

主な知識分野:

  • Run JavaScript within an HTML document
  • Understand the JavaScript syntax
  • Add comments to JavaScript code
  • Access the JavaScript console
  • Write to the JavaScript console

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

  • <script>, including the type (text/javascript) and src attributes
  • ;
  • //, /* */
  • console.log


034.2 JavaScript Data Structures (weight: 3)

総重量

3

説明

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.

主な知識分野:

  • Define and use variables and constants
  • Understand data types
  • Understand type conversion/coercion
  • Understand arrays and objects
  • Awareness of the variable scope

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

  • =, +, -, *, /, %, --, ++, +=, -=, *=, /=
  • var, let, const
  • boolean, number, string, symbol
  • array, object
  • undefined, null, NaN


034.3 JavaScript Control Structures and Functions (weight: 4)

総重量

4

説明

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.

主な知識分野:

  • Understand truthy and falsy values
  • Understand comparison operators
  • Understand the difference between loose and strict comparison
  • Use conditionals
  • Use loops
  • Define custom functions

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

  • if, else if, else
  • switch, case, break
  • for, while, break, continue
  • function, return
  • ==, !=, <, <=, >, >=
  • ===, !==


034.4 JavaScript Manipulation of Website Content and Styling (weight: 2)

総重量

2

説明

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.

主な知識分野:

  • Understand the concept and structure of the DOM
  • Change the contents and properties of HTML elements through the DOM
  • Change the CSS styling of HTML elements through the DOM
  • Trigger JavaScript functions from HTML elements

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

  • document.getElementById(), document.getElementsByClassName(), document.getElementsByTagName(),document.querySelector(), document.querySelectorAll()
  • innerHTML, setAttribute(), removeAttribute() properties and methods of DOM elements
  • classList, classList.add(), classList.remove(), classList.toggle() properties and methods of DOM elements
  • onClick, onMouseOver, onMouseOut attributes of HTML elements


035 NodeJS Server Programming

035.1 NodeJS Basics (weight: 1)

総重量

1

説明

The candidate should understand the basics of NodeJS. This includes running a local development server as well as understanding the concept of NPM modules.

主な知識分野:

  • Understand the concepts of Node.js
  • Run a NodeJS application
  • Install NPM packages

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

  • node [file.js]
  • npm init
  • npm install [module_name]
  • package.json
  • node_modules


035.2 NodeJS Express Basics (weight: 4)

総重量

4

説明

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.

主な知識分野:

  • Define routes to static files and EJS templates
  • Serve static files through Express
  • Serve EJS templates through Express
  • Create simple, non-nested EJS templates
  • Use the request object to access HTTP GET and POST parameters and process data submitted through HTML forms
  • Awareness of user input validation
  • Awareness of cross-site Scripting (XSS)
  • Awareness of cross-site request forgery (CSRF)

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

  • express and body-parser node module
  • Express app object
  • app.get(), app.post()
  • res.query, res.body
  • ejs node module
  • res.render()
  • <% … %>, <%= … %>, <%# … %>, <%- … %>
  • views/


035.3 SQL Basics (weight: 3)

総重量

3

説明

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.

主な知識分野:

  • Establish a database connection from NodeJS
  • Retrieve data from the database in NodeJS
  • Execute SQL queries from NodeJS
  • Create simple SQL queries excluding joins
  • Understand primary keys
  • Escape variables used in SQL queries
  • Awareness of SQL injections

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

  • sqlite3 NPM module
  • Database.run(), Database.close(), Database.all(), Database.get(), Database.each()
  • CREATE TABLE
  • INSERT, SELECT, DELETE, UPDATE