Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

translate about page in italian #2024

Merged
11 commits merged into from
Feb 21, 2019
46 changes: 31 additions & 15 deletions locale/it/about/index.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
---
layout: about.hbs
title: About
title: A propos
trademark: Trademark
---
# Riguardo a Node.js®
# Informazioni su Node.js®

In quanto runtime JavaScript guidato dagli eventi, Node è pensato per creare applicazioni di rete scalabili. Nell'esempio "hello world" seguente, possono essere gestite molte connessioni simultaneamente. Nel momento in cui la callback di ogni connessione è chiamata, ma non c'è lavoro da svolgere, Node rimarrà dormiente.
Come runtime JavaScript guidato da eventi asincroni, Node.js è progettato per
creare applicazioni di rete scalabili. Nel seguente esempio "Hello World",
molte connessioni possono essere gestite contemporaneamente.
Ad ogni connessione viene chiamata la callback, ma se non c'è nulla da fare, Node.js rimarrà inattivo.


```javascript
const http = require('http');
Expand All @@ -20,27 +24,39 @@ const server = http.createServer((req, res) => {
});

server.listen(port, hostname, () => {
console.log(`Server in esecuzione all'indirizzo http://${hostname}:${port}/`);
console.log(`Server running at http://${hostname}:${port}/`);
});
```
Ciò è in contrasto con il modello comune del giorno d'oggi, in cui vengono sfruttati i thread del sistema operativo. Il networking basato sui thread è piuttosto inefficiente e molto difficile da usare. Inoltre, gli utenti di Node sono liberi da preoccupazioni di processi che entrano in dead-lock, dal momento in cui non ci sono blocchi. Quasi nessuna funzione in Node esegue direttamente operazioni di I/O, perciò il processo non si blocca mai. Dal momento che nulla si blocca, è molto facile sviluppare sistemi scalabili in Node.

Se qualcosa in questa terminologia ti è poco familiare, qui c'è un articolo completo su [Bloccante vs Non Bloccante][].
Ciò è in contrasto con il modello di concorrenza più comune di oggi in cui vengono utilizzati
i thread. Il networking basato su thread è relativamente inefficiente e
molto difficile da utilizzare. Inoltre, gli utenti di Node.js sono liberi da preoccupazioni di
blocco permanente del processo, poiché non ci sono blocchi. Quasi nessuna funzione in Node.js
esegue direttamente I/O, quindi il processo non blocca mai. Dal momento che nulla si blocca,
è molto facile sviluppare sistemi scalabili in Node.js



Se alcuni dei termini utilizzati non ti sono familiari, ecco un articolo completo
(in inglese) [Bloccante vs Non Bloccante][].

---

Node è simile in design, e influenzato, da sistemi come la [Event Machine][] di Ruby o [Twisted][] di Python. Node porta il modello ad eventi un po' oltre. Presenta un [loop di eventi][] come un costrutto a runtime invece che come libreria. In altri sistemi c'è sempre una chiamata bloccante per chiamare un Event Loop.
Node.js è influenzato da sistemi come la [Event Machine][] di Ruby o [Twisted][] di Python.
Node.js porta il modello ad eventi un po' oltre.
Node.js usa un [event loop][] come costrutto di runtime invece che come una libreria. In altri sistemi, c'è sempre una chiamata di blocco per avviare l'event-loop.
In genere il comportamento è definito tramite callback all'inizio di uno script
e alla fine avvia un server attraverso una chiamata di blocco come
`EventMachine::run()`. In Node.js non esiste alcuna chiamata per avviare il ciclo. Node.js
entra semplicemente nel ciclo degli eventi dopo aver eseguito lo script di input. Node.js esce dal
ciclo di eventi quando non ci sono più callback da eseguire. Questo comportamento è simile a
JavaScript in browser: il ciclo degli eventi è nascosto all'utente.

Normalmente il comportamento viene definito tramite callbacks all'inizio di uno script e alla fine viene avviato un server tramite una chiamata bloccante come `EventMachine::run()`.
In Node non c'è un loop d'avvio dell'evento come quello descritto sopra.
Node semplicemente entra nell'event loop dopo aver eseguito lo script di input.
Node esce dal loop d'evento quando non ci sono più callbacks da eseguire.
Questo comportamento è simile al JavaScript eseguito nei browser - il loop d'eventi è nascosto all'utente.
HTTP ha un posto di rilievo in Node.js, che è stato progettato per lo streaming e bassa latenza.
Ciò rende Node.js una base perfetta per una libreria o un framework web.

HTTP è una classe di primaria importanza in Node, pensata con l'idea di streaming e bassa latenza in mente.
Ciò rende Node adatto alla creazione di una libreria web o di un framework.
Solo perché Node.js è progettato senza thread, non significa che non è possibile sfruttare i multi-core nel proprio ambiente. I processi figlio possono essere generati utilizzando la API [`child_process.fork()`][], con cui è possibile comunicare facilmente. Costruito sulla stessa interfaccia è il modulo [`cluster`][], che consente di condividere i socket tra i processi per consentire il bilanciamento del carico sui core.

Solo perché Node è pensato senza thread, non significa che tu non possa trarre vantaggio dai core multipli nel tuo ambiente. Puoi produrre processi figli utilizzando la nostra API [`child_process.fork()`][], ed essi sono progettati in modo tale da poterci comunicare agevolmente. Creato a partire dalla medesima interfaccia è inoltre il modulo [`cluster`][], il quale ti consente di condividere sockets tra processi per abilitare il load balancing sui tuoi core.

[Bloccante vs Non Bloccante]: https://nodejs.org/en/docs/guides/blocking-vs-non-blocking/
[`child_process.fork()`]: https://nodejs.org/api/child_process.html#child_process_child_process_fork_modulepath_args_options
Expand Down
23 changes: 12 additions & 11 deletions locale/it/about/resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,27 @@ title: Logos and Graphics

## Logo Downloads

Please review the [trademark policy](/about/trademark/) for information about permissible use of Node.js® logos and marks.
Si prega di leggere il [trademark policy](/about/trademark/) per informazioni su come utilizzare i loghi
e il marchio Node.js® loghi e marchi.

Guidelines for the visual display of the Node.js mark are described in
the [Visual Guidelines](/static/documents/foundation-visual-guidelines.pdf).
Le linee guida visive sono descritte nelle
[Visual Guidelines](/static/documents/foundation-visual-guidelines.pdf).

<table border="0" cellspacing="0" cellpadding="10" class="logos">
<tr>
<td bgcolor="#FFFFFF">[![Node.js on light background](/static/images/logos/nodejs-new-pantone-black.png)](/static/images/logos/nodejs-new-pantone-black.ai)</td>
<td bgcolor="#333333">[![Node.js on dark background](/static/images/logos/nodejs-new-pantone-white.png)](/static/images/logos/nodejs-new-pantone-white.ai)</td>
<td bgcolor="#FFFFFF"><a href="/static/images/logos/nodejs-new-pantone-black.ai"><img src="/static/images/logos/nodejs-new-pantone-black.png" alt="Node.js on light background"></a></td>
<td bgcolor="#333333"><a href="/static/images/logos/nodejs-new-pantone-white.ai"><img src="/static/images/logos/nodejs-new-pantone-white.png" alt="Node.js on dark background"></a></td>
</tr>
<tr>
<td>[Node.js standard AI](/static/images/logos/nodejs-new-pantone-black.ai)</td>
<td>[Node.js reversed AI](/static/images/logos/nodejs-new-pantone-white.ai)</td>
<td><a href="/static/images/logos/nodejs-new-pantone-black.ai">Node.js standard AI</a></td>
<td><a href="/static/images/logos/nodejs-new-pantone-white.ai">Node.js invertito AI</a></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">[![Node.js on light background](/static/images/logos/nodejs-new-black.png)](/static/images/logos/nodejs-new-black.ai)</td>
<td bgcolor="#333333">[![Node.js on dark background](/static/images/logos/nodejs-new-white.png)](/static/images/logos/nodejs-new-white.ai)</td>
<td bgcolor="#FFFFFF"><a href="/static/images/logos/nodejs-new-black.ai"><img src="/static/images/logos/nodejs-new-black.png" alt="Node.js on light background"></a></td>
<td bgcolor="#333333"><a href="/static/images/logos/nodejs-new-white.ai"><img src="/static/images/logos/nodejs-new-white.png" alt="Node.js on dark background"></a></td>
</tr>
<tr>
<td>[Node.js standard with less color AI](/static/images/logos/nodejs-new-black.ai)</td>
<td>[Node.js reversed with less color AI](/static/images/logos/nodejs-new-white.ai)</td>
<td><a href="/static/images/logos/nodejs-new-black.ai">Node.js standard con meno colori AI</a></td>
<td><a href="/static/images/logos/nodejs-new-white.ai">Node.js invertito con meno colori AI</a></td>
</tr>
</table>