Repository
https://github.com/nodejs/i18n
Project Details
Node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code outside of a browser.
Node.js came into existence when the original developers of JavaScript extended it from something you could only run in the browser to something you could run on your machine as a standalone application.
In simple words, it's an open source execution environment for developing web applications, which is event-based, it uses the V8 engine to provide an execution environment that compiles and executes JavaScript at a higher speed. It is possible to run Node.js without any restriction on Windows, Linux and Mac OS X.
It should be noted that it is NOT a server language, this means that it executes code, so it could be understood as an interpreter.
Contribution Specifications
Node.js is currently being translated into 33 languages. I'm contributing to translate it into the Spanish language.
Translation Overview
For this occasion I translated two folders: Backporting-To-Release-Lines.md and Blocking-Vs-Non-Blocking.md
As the name implies, this module explains in an easy way how to backport* a pull request, what needs to be backported, what can be backported and how to submit a backport pull request.
This overview covers the difference between blocking and non-blocking calls in Node.js. This summary refers to the event loop and to libuv, but fortunately no prior knowledge of those topics is required.
Fortunately, too, the comparison is simple:
Blocking: operation are said to have blocking behavior if it waits for some event to get complete. For example: if a lock is not available a thread may enter a wait state on event till lock is available. Such an operation is said to be blocking.
Non-blocking: Non blocking behavior is like checking the condition at that instance. For example- in case of locks if it is not available it will not wait till it is available like blocking operation. Also we need to repeatedly check the availability of locks as there will be no callback like asynchronous calls.
As an example of the work done, I will use part of the section Concurrency and Throughput belonging to the Blocking-Vs-Non-Blocking.md module:
Concurrency and Throughput
JavaScript execution in Node.js is single threaded, so concurrency refers to the event loop's capacity to execute JavaScript callback functions after completing other work. Any code that is expected to run in a concurrent manner must allow the event loop to continue running as non-JavaScript operations, like I/O, are occurring.
As an example, let's consider a case where each request to a web server takes 50ms to complete and 45ms of that 50ms is database I/O that can be done asynchronously. Choosing non-blocking asynchronous operations frees up that 45ms per request to handle other requests. This is a significant difference in capacity just by choosing to use non-blocking methods instead of blocking methods.
The event loop is different than models in many other languages where additional threads may be created to handle concurrent work.
Concurrencia y Rendimiento
La ejecución de JavaScript en Node.js es de un solo hilo, por lo que la concurrencia se refiere a la capacidad del bucle de eventos para ejecutar las funciones de callback de JavaScript después de completar otro trabajo. Cualquier código que se espera que se ejecute de manera concurrente debe permitir que el bucle de eventos continúe ejecutándose a medida que se produzcan las operaciones que no son de JavaScript, como I/O.
Como ejemplo, consideremos un caso en el que cada solicitud a un servidor web tarda 50ms en completarse y 45ms de esos 50ms es el I/O de la base de datos que se puede realizar de forma asíncrona. La elección de operaciones asíncronas no bloqueantes libera esos 45ms por solicitud para manejar otras solicitudes. Esta es una diferencia significativa en la capacidad simplemente al elegir utilizar métodos de no bloqueo en lugar de métodos de bloqueo.
El bucle de eventos es diferente a los modelos en muchos otros idiomas en los cuales se pueden crear subprocesos adicionales para manejar el trabajo simultáneo.
Languages
This contribution was translated from English to Spanish.
Word Count
The number of words reflected in the title doesn't include words that didn't require a translation.
- In this contribution, I've translated 1214 words.
- I've translated a total of 102825 words so far*
*Considering non-translatable content (proper names, functions, codes, etc.)
To see my previous contributions in this project, check this!
Part 74
Part 73
Part 72
Part 71
Part 70
Part 61
- Maintaining-V8.md (v6.x)
Part 56
Part 53
Part 52
Part 13
- Maintaining-V8.md (v10.x)
Proof of Authorship
This counter includes non-translatable words, so it is necessary to work on more content to extract an average of 1000 translatable words.
You can check My Crowdin Profile for verify my contribution in this project.c
Greetings, @cremisi. Thanks for submitting your contribution!
Congratulations on this collaboration!
Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.
To view those questions and the relevant answers related to your post, click here.
Chat with us on Discord
Thank you for your review, @alejohannes! Keep up the good work!
Hi @cremisi!
Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server
Hey, @cremisi!
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!
Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).
Want to chat? Join us on Discord https://discord.gg/h52nFrV.
Vote for Utopian Witness!