Maison  >  Article  >  interface Web  >  Une brève introduction à Node.js à travers 7 questions

Une brève introduction à Node.js à travers 7 questions

青灯夜游
青灯夜游avant
2021-12-20 18:02:011656parcourir

Connaissez-vous Node.js ? Si vous ne comprenez pas, vous pouvez essayer. Cet article utilise 7 questions pour comprendre brièvement Node.js J'espère qu'il sera utile à tout le monde !

Une brève introduction à Node.js à travers 7 questions

1. En quelle année est né Node ?

Node est né en 2009 2009

2009年3月,Node的作者在其博客上宣布准备基于V8创建一个轻量级的Web服务器并提供一套库

同年5月,在GitHub发布最初的版本

2011年7月,在微软的支持下发布了windows版本

2. 是谁创造出来的?

Ryan Dahl

En mars 2009, l'auteur de Node annonçait sur son blog qu'il s'apprêtait à créer un serveur web léger basé sur V8 et à fournir un ensemble de bibliothèques

5 de la même année En juillet, la version initiale est sortie sur GitHub

En juillet 2011, la version Windows est sortie avec le soutien de Microsoft

2 Qui l'a créée ?

Ryan Dahl est le créateur de Node et est appelé le père de Node

Mais en janvier 2012, Ryan Dahl a transféré le statut de leadership à Isaac Z.Schlueter, qui a accepté les versions de Node et corrections de bugs, Isaac Z.Schlueter était également l'auteur ultérieur de NPM

3. Pourquoi s'appelle-t-il Node ?

Node a de nombreux surnoms, tels que Nodejs, NodeJS, Node.js, etc. Alors pourquoi Node ?
  • Au début, Ryan Dahl appelait son projet web.js, qui est un serveur web, mais le développement du projet a dépassé son idée originale de simplement développer un serveur web. Il est devenu un cadre de base pour la création d'applications réseau, et d'autres éléments peuvent être construits dessus, tels que des serveurs, des clients, des outils de ligne de commande, etc. Node a été développé comme un système à thread unique et à processus unique qui n'impose aucun partage de ressources. Il comprend des bibliothèques adaptées au réseau et fournit une infrastructure pour la création d'applications distribuées à grande échelle. Son objectif est également connu comme un service de création rapide et efficace. applications réseau évolutives. En soi, il est très simple. Il organise de nombreux nœuds via des protocoles de communication et est très facile à étendre pour atteindre l'objectif de création d'applications réseau à grande échelle. Chaque processus Node constitue un nœud dans cette application réseau, ce qui est exactement la signification de Node
  • 4 Pourquoi JavaScript est-il devenu le langage d'implémentation de Node ?
  • Il y a 3 raisons principales pour choisir JavaScript comme langage d'implémentation de Node :

Haute performance

Conforme à l'événementiel

Aucun bagage historique

  • Ryan Dahl une fois évalué C , Lua , Haskell, Ruby, etc. comme implémentations alternatives, mais le seuil de développement pour C est élevé, Lua a beaucoup de bagages historiques, Haskell estime qu'il est toujours injouable et les performances de la machine virtuelle de Ruby ne sont pas très bonnes. Après tout, JavaScript a été choisi comme langage d'implémentation de NodeVous pensez peut-être comme moi, JavaScript n'a-t-il pas de bagage historique ? Oui, JavaScript n'a jamais eu de marché dans le backend, et son bagage historique est équivalent à zéro
  • 5 Quelles sont les principales fonctionnalités de Node ?
  • Possède principalement les fonctionnalités suivantes :

E/S asynchrones

Événements et fonctions de rappel

Thread unique
  • Node conserve ces interfaces familières dans le navigateur frontal JavaScript, non écrire toute fonctionnalité du langage lui-même
  • 6. Quels sont les scénarios d'application de Node ?
  • Les principaux scénarios d'application de nœud sont les suivants:

CPU à forte entreprise à forte intensité pas besoin de démarrer un thread pour chaque requête afin d'organiser plus de ressources matérielles plus efficacement ; pour les entreprises qui se concentrent sur les opérations de la pile de processeur, les performances de Node sont suffisamment efficaces, principalement en raison de l'optimisation approfondie des performances de la V8

7. les applications apportent-elles à Node, et comment les résoudre ?

Le principal défi que les applications gourmandes en CPU apporteront à Node est : Puisque JavaScript est monothread, s'il est calculé sur une longue période (comme une grande boucle), la tranche de temps CPU ne sera pas libérée, rendant les E/S ultérieures impossibles à lancer.

Solution habituelle :
  • Ajuster et décomposer de manière appropriée les tâches informatiques à grande échelle

Si la solution ci-dessus ne peut pas être résolue, Node dispose de deux autres façons d'utiliser pleinement le processeur.
  • Node peut écrire des extensions C/C++
  • via la méthode des processus enfants, utiliser une partie du processus Node comme processus de service résident pour le calcul, puis utiliser des messages inter-processus pour transférer les résultats, en séparant le calcul des E/S

Pour plus de connaissances sur les nœuds, veuillez visiter : tutoriel Nodejs

 ! ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer