Node.js Translation to Spanish - (1636 words) (Part-71)
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 contribution I translated the folder Domain Module Postmortem of the v6.x version of Node.js. It is based on the Domain module of the same version, which I plan to translate later.
Let's briefly see what is a domain and the postmortem metadata:
Domains provide a way to handle multiple different IO operations as a single group. If any of the event emitters or callbacks registered to a domain emit an 'error' event, or throw an error, then the domain object will be notified
On the other hand, postmortem metadata are constants present in the final build which can be used by debuggers and other tools to navigate through internal structures of software when analyzing its memory.
The Domain Module Postmortem module is basically divided into two parts: usability issues and performance issues.
In the first section there are several examples that qualify as problems of use, one of them is the following:
It's possible for a developer to create a new domain and then simply run domain.enter()
. Which then acts as a catch-all for any exception in the future that couldn't be observed by the thrower. Allowing a module author to intercept the exceptions of unrelated code in a different module. Preventing the originator of the code from knowing about its own exceptions.
In the Performance Issues section, the most important factor is overload.
A significant deterrent from using domains is the overhead. Using node's built-in http benchmark, http_simple.js
, without domains it can handle over 22,000 requests/second. Whereas if it's run with NODE_USE_DOMAINS=1
that number drops down to under 17,000 requests/second. In this case there is only a single global domain. If the benchmark is edited so that the callback of the http request creates a new domain instance, the performance is further reduced to 15,000 requests/second. This means even adding 1 microsecond overhead per call for any type of setup or tear down will result in a 17%.
I will add as an example of translation one of the problems of usability of domains:
Resource Propagation
Another use case for domains was to use it to propagate data along asynchronous data paths. One problematic point is the ambiguity of when to expect the correct domain when there are multiple in the stack (which must be assumed if the async stack works with other modules). Also the conflict between being able to depend on a domain for error handling while also having it available to retrieve the necessary data.
Propagación de Recursos
Otro caso de uso para dominios era el de propagar datos a lo largo de rutas de datos asíncronas. Un punto problemático es la ambigüedad de cuándo esperar el dominio correcto cuando hay múltiples en la pila (lo que se debe asumir si la pila asíncrona funciona con otros módulos). También el conflicto entre poder depender de un dominio para el manejo de errores y también tenerlo disponible para recuperar los datos necesarios.
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 1636 words.
- I've translated a total of 95875 words so far*
*Considering non-translatable content (proper names, functions, codes, etc.)
To see my previous contributions in this project, check this!
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.
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!