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

From LPI Wiki
Jump to navigationJump to search
first edit
 
 
(5 intermediate revisions by the same user not shown)
Line 34: Line 34:
==Obiettivi==
==Obiettivi==


===''031 Software Development and Web Technologies''===
===''031 Sviluppo Software e Tecnologie Web''===


====<span style="color:navy">031.1 Software Development Basics (peso: 1)====
====<span style="color:navy">031.1 Fondamenti di Sviluppo Software (peso: 1)====


{|
{|
Line 47: Line 47:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should be familiar with the most essential concepts of software development and be aware of important programming languages.
Il candidato dovrebbe avere familiarità con i concetti più essenziali dello sviluppo del software e conoscere i principali linguaggi di programmazione.


|}
|}
Line 57: Line 57:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Understand what source code is
* Comprendere cos'è il codice sorgente
* Understand the principles of compilers and interpreters
* Comprendere i principi dei compilatori e degli interpreti
* Understand the concept of libraries
* Comprendere il concetto di librerie
* Understand the concepts of functional, procedural and object-oriented programming
* Comprendere i concetti di programmazione funzionale, procedurale e orientata agli oggetti
* Awareness of common features of source code editors and integrated development environments (IDE)
* Conoscenza delle caratteristiche comuni degli editor di codice sorgente e degli ambienti di sviluppo integrati (IDE)
* Awareness of version control systems
* Conoscenza dei sistemi di controllo della versione
* Awareness of software testing
* Conoscenza dei test del software
* Awareness of important programming languages (C, C++, C#, Java, JavaScript, Python, PHP)
* Conoscenza dei principali linguaggi di programmazione


<br />
<br />


====<span style="color:navy">031.2 Web Application Architecture (peso: 2)====
====<span style="color:navy">031.2 Architettura di un'Applicazione Web (peso: 2)====


{|
{|
Line 79: Line 79:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should understand common standards in web development technology and architecture.
Il candidato dovrebbe comprendere gli standard comuni delle tecnologie e delle architetture dello sviluppo web.


|}
|}
Line 89: Line 89:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Understand the principle of client and server computing
* Comprendere il principio dell'informatica client e server
* Understand the role of web browsers and be aware of commonly used web browsers
* Comprendere il ruolo dei browser web ed conoscere i browser web comunemente usati
* Understand the role of web servers and application servers
* Comprendere il ruolo dei server web e dei server di applicazioni
* Understand common web development technologies and standards
* Comprendere le tecnologie e gli standard di sviluppo web comuni
* Understand the principles of APIs
* Comprendere i principi delle API
* Understand the principle of relational and non-relational (NoSQL) databases
* Comprendere i fondamenti dei database relazionali e non relazionali (NoSQL)
* Awareness of commonly used open source database management systems
* Conoscenza dei sistemi di gestione di database Open Source comunemente usati
* Awareness of REST and GraphQL
* Conoscenza di REST e GraphQL
* Awareness of single-page applications
* Conoscenza delle applicazioni a pagina singola
* Awareness of web application packaging
* Conoscenza del packaging delle applicazioni web
* Awareness of WebAssembly
* Conoscenza di WebAssembly
* Awareness of content management systems
* Conoscenza dei sistemi di gestione dei contenuti


'''File, termini e utilità:'''
'''File, termini e utilità:'''
Line 111: Line 111:
<br />
<br />


====<span style="color:navy">031.3 HTTP Basics (peso: 3)====
====<span style="color:navy">031.3 Nozioni Base sull'HTTP (peso: 3)====


{|
{|
Line 122: Line 122:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| 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.
Il candidato dovrebbe avere familiarità con i concetti base dell'HTTP. Questo include la comprensione delle intestazioni HTTP, dei tipi di contenuto, del caching e dei codici di stato. Inoltre, il candidato dovrebbe comprendere i principi dei cookie e il loro ruolo nella gestione delle sessioni ed essere consapevole delle caratteristiche HTTP avanzate.


|}
|}
Line 132: Line 132:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Understand HTTP GET and POST methods, status codes, headers and content types
* Comprendere i metodi HTTP GET e POST, i codici di stato, le intestazioni e i tipi di contenuto.
* Understand the difference between static and dynamic content
* Comprendere la differenza tra contenuto statico e dinamico
* Understand HTTP URLs
* Comprendere le URL HTTP
* Understand how HTTP URLs are mapped to file system paths
* Comprendere come le URL HTTP sono mappate nei percorsi del file system
* Upload files to a web server's document root
* Caricare file nella root dei documenti di un server web
* Understand caching
* Comprendere il caching
* Understand cookies
* Comprendere i cookie
* Awareness of sessions and session hijacking
* Conoscenza delle sessioni e il dirottamento delle sessioni
* Awareness of commonly used HTTP servers
* Conoscenza dei server HTTP comunemente usati
* Awareness of HTTPS and TLS
* Conoscenza di HTTPS e TLS
* Awareness of web sockets
* Conoscenza dei web socket
* Awareness of virtual hosts
* Conoscenza degli host virtuali
* Awareness of common HTTP servers
* Conoscenza dei server HTTP comuni
* Awareness of network bandwidth and latency requirements and limitations
* Conoscenza dei requisiti e delle limitazioni della larghezza di banda e della latenza della rete


'''File, termini e utilità:'''
'''File, termini e utilità:'''
Line 155: Line 155:
<br />
<br />


===''032 HTML Document Markup''===
===''032 Marcatura di un Documento HTML''===


====<span style="color:navy">032.1 HTML Document Anatomy (peso: 2)====
====<span style="color:navy">032.1 Anatomia di un Documento HTML (peso: 2)====
{|
{|
| style="background:#dadada" |  
| style="background:#dadada" |  
Line 167: Line 167:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should understand the anatomy and syntax of an HTML document. This includes creating basic HTML documents.
Il candidato dovrebbe capire l'anatomia e la sintassi di un documento HTML. Questo include la creazione di documenti HTML di base.


|}
|}
Line 177: Line 177:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Create a simple HTML document
* Creare un semplice documento HTML
* Understand the role of HTML
* Comprendere il ruolo dell'HTML
* Understand the HTML skeleton
* Comprendere la struttura dell'HTML
* Understand the HTML syntax (tags, attributes, comments)
* Comprendere la sintassi HTML (tag, attributi, commenti)
* Understand the HTML head
* Comprendere l'intestazione dell'HTML
* Understand meta tags
* Comprendere i meta tag
* Understand character encoding
* Comprendere la codifica dei caratteri


'''File, termini e utilità:'''
'''File, termini e utilità:'''
Line 191: Line 191:
* <nowiki><head></nowiki>
* <nowiki><head></nowiki>
* <nowiki><body></nowiki>
* <nowiki><body></nowiki>
* <nowiki><meta></nowiki>, including the charset (UTF-8), name and content attributes
* <nowiki><meta></nowiki>, incluso charset (UTF-8), nome e contenuto degli attributi


<br />
<br />


====<span style="color:navy">032.2 HTML Semantics and Document Hierarchy (peso: 2)====
====<span style="color:navy">032.2 Semantica HTML e Gerarchia del Documento (peso: 2)====


{|
{|
Line 206: Line 206:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should be able to create HTML documents with a  semantic structure.
Il candidato dovrebbe essere in grado di creare documenti HTML con una struttura semantica.


|}
|}
Line 216: Line 216:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Create markup for contents in an HTML document
* Creare marature per i contenuti in un documento HTML
* Understand the hierarchical HTML text structure
* Comprendere la struttura gerarchica del testo HTML
* Differentiate between block and inline HTML elements
* Differenziare tra elementi HTML a blocchi e in linea
* Understand important semantic structural HTML elements
* Comprendere importanti elementi strutturali HTML semantici


'''File, termini e utilità:'''
'''File, termini e utilità:'''
Line 237: Line 237:
<br />
<br />


====<span style="color:navy">032.3 HTML References and Embedded Resources (peso: 2)====
====<span style="color:navy">032.3 Riferimenti HTML e Risorse Integrate (peso: 2)====


{|
{|
Line 248: Line 248:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| style="background:#eaeaea" |
| style="background:#eaeaea" |


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.
Il candidato dovrebbe essere in grado di collegare un documento HTML ad altri documenti e incorporare contenuti esterni, come immagini, video e audio in un documento HTML.


|}
|}
Line 258: Line 258:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Create links to external resources and page anchors
* Creare link a risorse esterne e collegamenti di pagina
* Add images to HTML documents
* Aggiungere immagini ai documenti HTML
* Understand key properties of common media file formats, inlcuding PNG, JPG and SVG
* Comprendere le proprietà chiave dei comuni formati di file multimediali, inclusi PNG, JPG e SVG.
* Awareness of iframes
* Conoscenza degli iframe


'''File, termini e utilità:'''
'''File, termini e utilità:'''


* id attribute
* attributo id
* <nowiki><a></nowiki>, including the href and target (_blank, _self, _parent, _top) attributes
* <nowiki><a></nowiki>, inclusi gli attributi href e target (_blank, _self, _parent, _top)
* <nowiki><img></nowiki>, including the src and alt attributes
* <nowiki><img></nowiki>, inclusi gli attributi src e alt  


<br />
<br />


====<span style="color:navy">032.4 HTML Forms (peso: 2)====
====<span style="color:navy">032.4 Moduli HTML (peso: 2)====


{|
{|
Line 282: Line 282:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should be able to create simple HTML forms containing input elements of various types.
Il candidato dovrebbe essere in grado di creare semplici moduli HTML contenenti elementi di input di vario tipo.


|}
|}
Line 292: Line 292:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Create simple HTML forms
* Creare semplici moduli HTML
* Understand HTML form methods
* Comprendere i metodi dei moduli HTML
* Understand HTML input elements and types
* Comprendere gli elementi e i tipi di input HTML


'''File, termini e utilità:'''
'''File, termini e utilità:'''


* <nowiki><form></nowiki>, including the method (get, post), action, and enctype attributes
* <nowiki><form></nowiki>, inclusi metodo (get, post), azione e attributi enctype
* <nowiki><input></nowiki>, including the type (text, email, password, number, date, file, range, radio, checkbox, hidden) attribute
* <nowiki><input></nowiki>, inclusi i tipi di attributo (text, email, password, number, date, file, range, radio, checkbox, hidden)
* <nowiki><button></nowiki>, including the type (submit, reset, hidden, button) attribute
* <nowiki><button></nowiki>, inclusi i tipi di attributo (submit, reset, hidden, button)
* <nowiki><textarea></nowiki>
* <nowiki><textarea></nowiki>
* common form element attributes (name, value, id)
* comuni attributi degli elementi dei moduli (name, value, id)
* <nowiki><label></nowiki>, including the for attribute
* <nowiki><label></nowiki>, incluso l'attributo for


<br />
<br />


===''033 CSS Content Styling''===
===''033 Stile dei Contenuti con i CSS''===


====<span style="color:navy">033.1 CSS Basics (peso: 1)====
====<span style="color:navy">033.1 Concetti Base dei CSS (peso: 1)====
{|
{|
| style="background:#dadada" |  
| style="background:#dadada" |  
Line 319: Line 319:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should understand the various ways to style an HTML document using CSS. This includes the structure and syntax of CSS rules.  
Il candidato dovrebbe capire i vari modi per dare stile ad un documento HTML usando i CSS. Questo include la struttura e la sintassi delle regole CSS.


|}
|}
Line 329: Line 329:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Embedding CSS within an HTML document
* Incorporare i CSS in un documento HTML
* Understand the CSS syntax
* Comprendere la sintassi CSS
* Add comments to CSS
* Aggiungere commenti ai CSS
* Awareness of accessibility features and requirements
* Conoscenza delle caratteristiche e dei requisiti di accessibilità


'''File, termini e utilità:'''
'''File, termini e utilità:'''


* HTML style and type (text/css) attributes
* Attributi di stile e tipo HTML (text/css)
* <nowiki><style></nowiki>
* <nowiki><style></nowiki>
* <nowiki><link></nowiki>, including the rel (stylesheet), type (text/css) and src attributes
* <nowiki><link></nowiki>, inclusi gli attributi rel (stylesheet), type (text/css) e src
* ;
* ;
* /*,*/
* /*,*/
Line 344: Line 344:
<br />
<br />


====<span style="color:navy">033.2 CSS Selectors and Style Application (peso: 3)====
====<span style="color:navy">033.2 Selettori CSS e Applicazione di Stili (peso: 3)====
{|
{|
| style="background:#dadada" |  
| style="background:#dadada" |  
Line 354: Line 354:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should be able to use selectors in CSS and understand how CSS rules are applied to elements within an HTML document.
Il candidato dovrebbe essere in grado di usare i selettori nei CSS e capire come le regole CSS sono applicate agli elementi all'interno di un documento HTML.


|}
|}
Line 364: Line 364:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Use selectors to apply CSS rules to elements
* Utilizzare i selettori per applicare le regole CSS agli elementi
* Understand CSS pseudo-classes
* Comprendere le pseudo-classi CSS
* Understand rule order and precedence in CSS
* Comprendere l'ordine delle regole e la precedenza nei CSS
* Understand inheritance in CSS
* Comprendere l'ereditarietà nei CSS


'''File, termini e utilità:'''
'''File, termini e utilità:'''
Line 378: Line 378:
<br />
<br />


====<span style="color:navy">033.3 CSS Styling (peso: 2)====
====<span style="color:navy">033.3 Stili nei CSS (peso: 2)====


{|
{|
Line 389: Line 389:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| style="background:#eaeaea" |
| style="background:#eaeaea" |


The candidate should use CSS to add simple styles to the elements of an HTML document.
Il candidato dovrebbe usare i CSS per aggiungere semplici stili agli elementi di un documento HTML.


|}
|}
Line 399: Line 399:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Understand fundamental CSS properties
* Comprendere le proprietà fondamentali dei CSS
* Understand units commonly used in CSS
* Comprendere le unità comunemente usate nei CSS


'''File, termini e utilità:'''
'''File, termini e utilità:'''
Line 409: Line 409:
<br />
<br />


====<span style="color:navy">033.4 CSS Box Model and Layout (peso: 2)====
====<span style="color:navy">033.4 Modellazione e Disposizione dei Contenitori nei CSS (peso: 2)====


{|
{|
Line 420: Line 420:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| style="background:#eaeaea" |
| style="background:#eaeaea" |


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.
Il candidato dovrebbe capire la modellazione dei contenitori nei CSS. Questo include la definizione della posizione degli elementi su un sito web. Inoltre, il candidato dovrebbe capire il flusso del documento.


|}
|}
Line 430: Line 430:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Define the dimension, position and alignment of elements in a CSS layout
* Definire la dimensione, la posizione e l'allineamento degli elementi in un layout CSS
* Specify how text flows around other elements
* Specificare come il testo scorre intorno ad altri elementi
* Understand the document flow
* Comprendere il flusso del documento
* Awareness of the CSS grid
* Conoscenza della griglia CSS
* Awareness of responsive web design
* Conoscenza del responsive web design
* Awareness of CSS media queries
* Conoscenza delle media query CSS


'''File, termini e utilità:'''
'''File, termini e utilità:'''
Line 450: Line 450:
===''034 JavaScript Programming ''===
===''034 JavaScript Programming ''===


====<span style="color:navy">034.1 JavaScript Execution and Syntax (peso: 1)====
====<span style="color:navy">034.1 Esecuzione e Sintassi in JavaScript (peso: 1)====
{|
{|
| style="background:#dadada" |  
| style="background:#dadada" |  
Line 460: Line 460:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| 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.
Il candidato dovrebbe essere in grado di eseguire file JavaScript e codice inline da un documento HTML e comprendere la sintassi JavaScript di base.


|}
|}
Line 470: Line 470:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Run JavaScript within an HTML document
* Eseguire JavaScript all'interno di un documento HTML  
* Understand the JavaScript syntax
* Comprendere la sintassi di JavaScript
* Add comments to JavaScript code
* Aggiungere commenti al codice JavaScript
* Access the JavaScript console
* Accedere alla console JavaScript
* Write to the JavaScript console
* Scrivere nella console JavaScript


'''File, termini e utilità:'''
'''File, termini e utilità:'''


* <nowiki><script></nowiki>, including the type (text/javascript) and src attributes
* <nowiki><script></nowiki>, inclusi gli attributi type (text/javascript) e src
* ;
* ;
* //, /* */
* //, /* */
Line 485: Line 485:
<br />
<br />


====<span style="color:navy">034.2 JavaScript Data Structures (peso: 3)====
====<span style="color:navy">034.2 Strutture di Dati in JavaScript (peso: 3)====
{|
{|
| style="background:#dadada" |  
| style="background:#dadada" |  
Line 495: Line 495:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| 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.
Il candidato dovrebbe essere in grado di usare le variabili nel codice JavaScript. Questo include la comprensione dei valori e dei tipi di dati. Inoltre, il candidato dovrebbe capire gli operatori di assegnazione e la conversione dei vari tipi ed essere consapevole dello scopo delle variabili.


|}
|}
Line 505: Line 505:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Define and use variables and constants
* Definire e usare variabili e costanti
* Understand data types
* Comprendere i tipi di dati
* Understand type conversion/coercion
* Comprendere la conversione/coerenza dei tipi
* Understand arrays and objects
* Comprendere gli array e gli oggetti
* Awareness of the variable scope
* Conoscenza  dell'ambito delle variabili


'''File, termini e utilità:'''
'''File, termini e utilità:'''
Line 521: Line 521:
<br />
<br />


====<span style="color:navy">034.3 JavaScript Control Structures and Functions (peso: 4)====
====<span style="color:navy">034.3 Strutture di Controllo e Funzioni in JavaScript (peso: 4)====
{|
{|
| style="background:#dadada" |  
| style="background:#dadada" |  
Line 531: Line 531:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| 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.
Il candidato dovrebbe essere in grado di usare strutture di controllo nel codice JavaScript. Questo include l'uso degli operatori di confronto. Inoltre, il candidato dovrebbe essere in grado di scrivere semplici funzioni e capire i parametri delle funzioni e i valori di ritorno.


|}
|}
Line 541: Line 541:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Understand truthy and falsy values
* Comprendere i valori veri e falsi
* Understand comparison operators
* Comprendere gli operatori di confronto
* Understand the difference between loose and strict comparison
* Comprendere la differenza tra confronto libero e rigido
* Use conditionals
* Usare i condizionali
* Use loops
* Usare i cicli
* Define custom functions
* Definire funzioni personalizzate


'''File, termini e utilità:'''
'''File, termini e utilità:'''
Line 559: Line 559:
<br />
<br />


====<span style="color:navy">034.4 JavaScript Manipulation of Website Content and Styling (peso: 2)====
====<span style="color:navy">034.4 Manipolazione con JavaScript del Contenuto e dello Stile di un Sito Web (peso: 2)====
{|
{|
| style="background:#dadada" |  
| style="background:#dadada" |  
Line 569: Line 569:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| 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.
Il candidato dovrebbe comprendere il DOM HTML. Questo include la manipolazione degli elementi HTML e delle proprietà CSS attraverso il DOM usando JavaScript, così come l'uso degli eventi DOM in scenari semplici.


|}
|}
Line 579: Line 579:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Understand the concept and structure of the DOM
* Comprendere il concetto e la struttura DOM
* Change the contents and properties of HTML elements through the DOM
* Cambiare il contenuto e le proprietà degli elementi HTML attraverso DOM
* Change the CSS styling of HTML elements through the DOM
* Cambiare lo stile CSS degli elementi HTML attraverso DOM
* Trigger JavaScript functions from HTML elements
* Attivare funzioni JavaScript dagli elementi HTML


'''File, termini e utilità:'''
'''File, termini e utilità:'''
Line 588: Line 588:
* 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
* innerHTML, setAttribute(), removeAttribute() properties and methods of DOM elements
* classList, classList.add(), classList.remove(), classList.toggle() properties and methods of DOM elements
* Proprietà e metodi degli elementi DOM classList, classList.add(), classList.remove(), classList.toggle()
* onClick, onMouseOver, onMouseOut attributes of HTML elements
* Attributi di elementi HTML onClick, onMouseOver, onMouseOut


<br />
<br />
Line 595: Line 595:
===''035 NodeJS Server Programming ''===
===''035 NodeJS Server Programming ''===


====<span style="color:navy">035.1 NodeJS Basics (peso: 1)====
====<span style="color:navy">035.1 Fondamenti di Node.js (peso: 1)====


{|
{|
Line 606: Line 606:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| 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.
Il candidato dovrebbe comprendere le basi di NodeJS. Questo include l'esecuzione di un server di sviluppo locale e la comprensione del concetto di moduli NPM.


|}
|}
Line 616: Line 616:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Understand the concepts of Node.js
* Capire i concetti di Node.js
* Run a NodeJS application
* Eseguire un'applicazione NodeJS
* Install NPM packages
* Installare i pacchetti NPM


'''File, termini e utilità:'''
'''File, termini e utilità:'''
Line 630: Line 630:
<br />
<br />


====<span style="color:navy">035.2 NodeJS Express Basics (peso: 4)====
====<span style="color:navy">035.2 Fondamenti di Node.js Express (peso: 4)====


{|
{|
Line 641: Line 641:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| 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.
Il candidato dovrebbe essere in grado di creare un semplice sito web dinamico con il framework web Express. Questo include la definizione di semplici percorsi Express così come erogare file dinamici attraverso il motore di template EJS.


|}
|}
Line 651: Line 651:
'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Define routes to static files and EJS templates
* Definire percorsi verso file statici e modelli EJS
* Serve static files through Express
* Erogare file statici attraverso Express
* Serve EJS templates through Express
* Erogare i modelli EJS attraverso Express
* Create simple, non-nested EJS templates
* Creare semplici modelli EJS non annidati
* Use the request object to access HTTP GET and POST parameters and process data submitted through HTML forms
* Utilizzare l'oggetto request per accedere ai parametri HTTP GET e POST ed elaborare i dati inviati attraverso i moduli HTML
* Awareness of user input validation
* Conoscenza della convalida dell'input dell'utente
* Awareness of cross-site Scripting (XSS)
* Conoscenza del cross-site scripting (XSS)
* Awareness of cross-site request forgery (CSRF)
* Conoscenza del cross-site request forgery (CSRF)


'''File, termini e utilità:'''
'''File, termini e utilità:'''


* express and body-parser node module
* express e body-parser node module
* Express app object
* Express app object
* app.get(), app.post()
* app.get(), app.post()
Line 673: Line 673:
<br />
<br />


====<span style="color:navy">035.3 SQL Basics (peso: 3)====
====<span style="color:navy">035.3 Fondamenti di SQL (peso: 3)====


{|
{|
Line 684: Line 684:
| style="background:#dadada; padding-right:1em" |  
| style="background:#dadada; padding-right:1em" |  


'''Descrizione''
'''Descrizione'''


| 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.
Il candidato dovrebbe essere in grado di creare tabelle individuali in un database SQLite e aggiungere, modificare e cancellare dati usando SQL. Inoltre, il candidato dovrebbe essere in grado di recuperare i dati dalle singole tabelle ed eseguire query SQL da NodeJS. Questo non include la referenziazione o la combinazione di dati tra più tabelle.
 
|}
|}


'''Aree di Conoscenza Chiave:'''
'''Aree di Conoscenza Chiave:'''


* Establish a database connection from NodeJS
* Stabilire una connessione al database da NodeJS
* Retrieve data from the database in NodeJS
* Recuperare dati dal database in NodeJS
* Execute SQL queries from NodeJS
* Eseguire query SQL da NodeJS
* Create simple SQL queries excluding joins
* Creare semplici query SQL escludendo le join
* Understand primary keys
* Comprendere le chiavi primarie
* Escape variables used in SQL queries
* Comprendere le variabili usate nelle query SQL
* Awareness of SQL injections
* Comprensione delle SQL injection


'''File, termini e utilità:'''
'''File, termini e utilità:'''

Latest revision as of 17:54, 9 October 2021


Livello Minimo di Qualifica del Candidato

Il candidato ha una comprensione di base dello sviluppo del software, del World Wide Web e delle applicazioni web. Il candidato è in grado di usare il markup semantico per creare semplici siti web ed estendere questi siti con link, elementi multimediali e moduli. Il candidato è in grado di definire come questi contenuti sono visualizzati e posizionati su un sito web. Inoltre, il candidato ha familiarità con i concetti fondamentali della programmazione come variabili, condizioni, cicli e funzioni. Il candidato può creare semplici programmi che vengono eseguiti in un browser web. Il candidato è anche in grado di sviluppare programmi lato server che possono elaborare i dati inviati da un sito web, rendere questi dati persistenti in un database e generare siti web dinamici basati sui contenuti di un database.



Informazioni sulla Versione

Questi Obiettivi sono UNA BOZZA PER la versione 1.0.0.


Traduzioni degli Obiettivi

Sono disponibili su questo wiki le seguenti traduzioni degli Obiettivi:


Obiettivi

031 Sviluppo Software e Tecnologie Web

031.1 Fondamenti di Sviluppo Software (peso: 1)

Peso

1

Descrizione

Il candidato dovrebbe avere familiarità con i concetti più essenziali dello sviluppo del software e conoscere i principali linguaggi di programmazione.

Aree di Conoscenza Chiave:

  • Comprendere cos'è il codice sorgente
  • Comprendere i principi dei compilatori e degli interpreti
  • Comprendere il concetto di librerie
  • Comprendere i concetti di programmazione funzionale, procedurale e orientata agli oggetti
  • Conoscenza delle caratteristiche comuni degli editor di codice sorgente e degli ambienti di sviluppo integrati (IDE)
  • Conoscenza dei sistemi di controllo della versione
  • Conoscenza dei test del software
  • Conoscenza dei principali linguaggi di programmazione


031.2 Architettura di un'Applicazione Web (peso: 2)

Peso

2

Descrizione

Il candidato dovrebbe comprendere gli standard comuni delle tecnologie e delle architetture dello sviluppo web.

Aree di Conoscenza Chiave:

  • Comprendere il principio dell'informatica client e server
  • Comprendere il ruolo dei browser web ed conoscere i browser web comunemente usati
  • Comprendere il ruolo dei server web e dei server di applicazioni
  • Comprendere le tecnologie e gli standard di sviluppo web comuni
  • Comprendere i principi delle API
  • Comprendere i fondamenti dei database relazionali e non relazionali (NoSQL)
  • Conoscenza dei sistemi di gestione di database Open Source comunemente usati
  • Conoscenza di REST e GraphQL
  • Conoscenza delle applicazioni a pagina singola
  • Conoscenza del packaging delle applicazioni web
  • Conoscenza di WebAssembly
  • Conoscenza dei sistemi di gestione dei contenuti

File, termini e utilità:

  • Chrome, Edge, Firefox, Safari, Internet Explorer
  • HTML, CSS, JavaScript
  • SQLite, MySQL, MariaDB, PostgreSQL
  • MongoDB, CouchDB, Redis


031.3 Nozioni Base sull'HTTP (peso: 3)

Peso

3

Descrizione

Il candidato dovrebbe avere familiarità con i concetti base dell'HTTP. Questo include la comprensione delle intestazioni HTTP, dei tipi di contenuto, del caching e dei codici di stato. Inoltre, il candidato dovrebbe comprendere i principi dei cookie e il loro ruolo nella gestione delle sessioni ed essere consapevole delle caratteristiche HTTP avanzate.

Aree di Conoscenza Chiave:

  • Comprendere i metodi HTTP GET e POST, i codici di stato, le intestazioni e i tipi di contenuto.
  • Comprendere la differenza tra contenuto statico e dinamico
  • Comprendere le URL HTTP
  • Comprendere come le URL HTTP sono mappate nei percorsi del file system
  • Caricare file nella root dei documenti di un server web
  • Comprendere il caching
  • Comprendere i cookie
  • Conoscenza delle sessioni e il dirottamento delle sessioni
  • Conoscenza dei server HTTP comunemente usati
  • Conoscenza di HTTPS e TLS
  • Conoscenza dei web socket
  • Conoscenza degli host virtuali
  • Conoscenza dei server HTTP comuni
  • Conoscenza dei requisiti e delle limitazioni della larghezza di banda e della latenza della rete

File, termini e utilità:

  • GET, POST
  • 200, 301, 302, 401, 403, 404, 500
  • Apache HTTP Server ("httpd"), NGINX


032 Marcatura di un Documento HTML

032.1 Anatomia di un Documento HTML (peso: 2)

Peso

2

Descrizione

Il candidato dovrebbe capire l'anatomia e la sintassi di un documento HTML. Questo include la creazione di documenti HTML di base.

Aree di Conoscenza Chiave:

  • Creare un semplice documento HTML
  • Comprendere il ruolo dell'HTML
  • Comprendere la struttura dell'HTML
  • Comprendere la sintassi HTML (tag, attributi, commenti)
  • Comprendere l'intestazione dell'HTML
  • Comprendere i meta tag
  • Comprendere la codifica dei caratteri

File, termini e utilità:

  • <!DOCTYPE html>
  • <html>
  • <head>
  • <body>
  • <meta>, incluso charset (UTF-8), nome e contenuto degli attributi


032.2 Semantica HTML e Gerarchia del Documento (peso: 2)

Peso

2

Descrizione

Il candidato dovrebbe essere in grado di creare documenti HTML con una struttura semantica.

Aree di Conoscenza Chiave:

  • Creare marature per i contenuti in un documento HTML
  • Comprendere la struttura gerarchica del testo HTML
  • Differenziare tra elementi HTML a blocchi e in linea
  • Comprendere importanti elementi strutturali HTML semantici

File, termini e utilità:

  • <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 Riferimenti HTML e Risorse Integrate (peso: 2)

Peso

2

Descrizione

Il candidato dovrebbe essere in grado di collegare un documento HTML ad altri documenti e incorporare contenuti esterni, come immagini, video e audio in un documento HTML.

Aree di Conoscenza Chiave:

  • Creare link a risorse esterne e collegamenti di pagina
  • Aggiungere immagini ai documenti HTML
  • Comprendere le proprietà chiave dei comuni formati di file multimediali, inclusi PNG, JPG e SVG.
  • Conoscenza degli iframe

File, termini e utilità:

  • attributo id
  • <a>, inclusi gli attributi href e target (_blank, _self, _parent, _top)
  • <img>, inclusi gli attributi src e alt


032.4 Moduli HTML (peso: 2)

Peso

2

Descrizione

Il candidato dovrebbe essere in grado di creare semplici moduli HTML contenenti elementi di input di vario tipo.

Aree di Conoscenza Chiave:

  • Creare semplici moduli HTML
  • Comprendere i metodi dei moduli HTML
  • Comprendere gli elementi e i tipi di input HTML

File, termini e utilità:

  • <form>, inclusi metodo (get, post), azione e attributi enctype
  • <input>, inclusi i tipi di attributo (text, email, password, number, date, file, range, radio, checkbox, hidden)
  • <button>, inclusi i tipi di attributo (submit, reset, hidden, button)
  • <textarea>
  • comuni attributi degli elementi dei moduli (name, value, id)
  • <label>, incluso l'attributo for


033 Stile dei Contenuti con i CSS

033.1 Concetti Base dei CSS (peso: 1)

Peso

1

Descrizione

Il candidato dovrebbe capire i vari modi per dare stile ad un documento HTML usando i CSS. Questo include la struttura e la sintassi delle regole CSS.

Aree di Conoscenza Chiave:

  • Incorporare i CSS in un documento HTML
  • Comprendere la sintassi CSS
  • Aggiungere commenti ai CSS
  • Conoscenza delle caratteristiche e dei requisiti di accessibilità

File, termini e utilità:

  • Attributi di stile e tipo HTML (text/css)
  • <style>
  • <link>, inclusi gli attributi rel (stylesheet), type (text/css) e src
  • ;
  • /*,*/


033.2 Selettori CSS e Applicazione di Stili (peso: 3)

Peso

3

Descrizione

Il candidato dovrebbe essere in grado di usare i selettori nei CSS e capire come le regole CSS sono applicate agli elementi all'interno di un documento HTML.

Aree di Conoscenza Chiave:

  • Utilizzare i selettori per applicare le regole CSS agli elementi
  • Comprendere le pseudo-classi CSS
  • Comprendere l'ordine delle regole e la precedenza nei CSS
  • Comprendere l'ereditarietà nei CSS

File, termini e utilità:

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


033.3 Stili nei CSS (peso: 2)

Peso

2

Descrizione

Il candidato dovrebbe usare i CSS per aggiungere semplici stili agli elementi di un documento HTML.

Aree di Conoscenza Chiave:

  • Comprendere le proprietà fondamentali dei CSS
  • Comprendere le unità comunemente usate nei CSS

File, termini e utilità:

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


033.4 Modellazione e Disposizione dei Contenitori nei CSS (peso: 2)

Peso

2

Descrizione

Il candidato dovrebbe capire la modellazione dei contenitori nei CSS. Questo include la definizione della posizione degli elementi su un sito web. Inoltre, il candidato dovrebbe capire il flusso del documento.

Aree di Conoscenza Chiave:

  • Definire la dimensione, la posizione e l'allineamento degli elementi in un layout CSS
  • Specificare come il testo scorre intorno ad altri elementi
  • Comprendere il flusso del documento
  • Conoscenza della griglia CSS
  • Conoscenza del responsive web design
  • Conoscenza delle media query CSS

File, termini e utilità:

  • 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 Esecuzione e Sintassi in JavaScript (peso: 1)

Peso

1

Descrizione

Il candidato dovrebbe essere in grado di eseguire file JavaScript e codice inline da un documento HTML e comprendere la sintassi JavaScript di base.

Aree di Conoscenza Chiave:

  • Eseguire JavaScript all'interno di un documento HTML
  • Comprendere la sintassi di JavaScript
  • Aggiungere commenti al codice JavaScript
  • Accedere alla console JavaScript
  • Scrivere nella console JavaScript

File, termini e utilità:

  • <script>, inclusi gli attributi type (text/javascript) e src
  • ;
  • //, /* */
  • console.log


034.2 Strutture di Dati in JavaScript (peso: 3)

Peso

3

Descrizione

Il candidato dovrebbe essere in grado di usare le variabili nel codice JavaScript. Questo include la comprensione dei valori e dei tipi di dati. Inoltre, il candidato dovrebbe capire gli operatori di assegnazione e la conversione dei vari tipi ed essere consapevole dello scopo delle variabili.

Aree di Conoscenza Chiave:

  • Definire e usare variabili e costanti
  • Comprendere i tipi di dati
  • Comprendere la conversione/coerenza dei tipi
  • Comprendere gli array e gli oggetti
  • Conoscenza dell'ambito delle variabili

File, termini e utilità:

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


034.3 Strutture di Controllo e Funzioni in JavaScript (peso: 4)

Peso

4

Descrizione

Il candidato dovrebbe essere in grado di usare strutture di controllo nel codice JavaScript. Questo include l'uso degli operatori di confronto. Inoltre, il candidato dovrebbe essere in grado di scrivere semplici funzioni e capire i parametri delle funzioni e i valori di ritorno.

Aree di Conoscenza Chiave:

  • Comprendere i valori veri e falsi
  • Comprendere gli operatori di confronto
  • Comprendere la differenza tra confronto libero e rigido
  • Usare i condizionali
  • Usare i cicli
  • Definire funzioni personalizzate

File, termini e utilità:

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


034.4 Manipolazione con JavaScript del Contenuto e dello Stile di un Sito Web (peso: 2)

Peso

2

Descrizione

Il candidato dovrebbe comprendere il DOM HTML. Questo include la manipolazione degli elementi HTML e delle proprietà CSS attraverso il DOM usando JavaScript, così come l'uso degli eventi DOM in scenari semplici.

Aree di Conoscenza Chiave:

  • Comprendere il concetto e la struttura DOM
  • Cambiare il contenuto e le proprietà degli elementi HTML attraverso DOM
  • Cambiare lo stile CSS degli elementi HTML attraverso DOM
  • Attivare funzioni JavaScript dagli elementi HTML

File, termini e utilità:

  • document.getElementById(), document.getElementsByClassName(), document.getElementsByTagName(),document.querySelector(), document.querySelectorAll()
  • innerHTML, setAttribute(), removeAttribute() properties and methods of DOM elements
  • Proprietà e metodi degli elementi DOM classList, classList.add(), classList.remove(), classList.toggle()
  • Attributi di elementi HTML onClick, onMouseOver, onMouseOut


035 NodeJS Server Programming

035.1 Fondamenti di Node.js (peso: 1)

Peso

1

Descrizione

Il candidato dovrebbe comprendere le basi di NodeJS. Questo include l'esecuzione di un server di sviluppo locale e la comprensione del concetto di moduli NPM.

Aree di Conoscenza Chiave:

  • Capire i concetti di Node.js
  • Eseguire un'applicazione NodeJS
  • Installare i pacchetti NPM

File, termini e utilità:

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


035.2 Fondamenti di Node.js Express (peso: 4)

Peso

4

Descrizione

Il candidato dovrebbe essere in grado di creare un semplice sito web dinamico con il framework web Express. Questo include la definizione di semplici percorsi Express così come erogare file dinamici attraverso il motore di template EJS.

Aree di Conoscenza Chiave:

  • Definire percorsi verso file statici e modelli EJS
  • Erogare file statici attraverso Express
  • Erogare i modelli EJS attraverso Express
  • Creare semplici modelli EJS non annidati
  • Utilizzare l'oggetto request per accedere ai parametri HTTP GET e POST ed elaborare i dati inviati attraverso i moduli HTML
  • Conoscenza della convalida dell'input dell'utente
  • Conoscenza del cross-site scripting (XSS)
  • Conoscenza del cross-site request forgery (CSRF)

File, termini e utilità:

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


035.3 Fondamenti di SQL (peso: 3)

Peso

3

Descrizione

Il candidato dovrebbe essere in grado di creare tabelle individuali in un database SQLite e aggiungere, modificare e cancellare dati usando SQL. Inoltre, il candidato dovrebbe essere in grado di recuperare i dati dalle singole tabelle ed eseguire query SQL da NodeJS. Questo non include la referenziazione o la combinazione di dati tra più tabelle.

Aree di Conoscenza Chiave:

  • Stabilire una connessione al database da NodeJS
  • Recuperare dati dal database in NodeJS
  • Eseguire query SQL da NodeJS
  • Creare semplici query SQL escludendo le join
  • Comprendere le chiavi primarie
  • Comprendere le variabili usate nelle query SQL
  • Comprensione delle SQL injection

File, termini e utilità:

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