Kennen Sie Node.js? Wenn Sie es nicht verstehen, können Sie es versuchen. In diesem Artikel wird Node.js anhand von 7 Fragen kurz vorgestellt. Ich hoffe, dass er für alle hilfreich ist!
1. In welchem Jahr wurde Node geboren?
Node wurde im 2009
geboren 2009
年
2009年3月,Node的作者在其博客上宣布准备基于V8创建一个轻量级的Web服务器并提供一套库
同年5月,在GitHub发布最初的版本
2011年7月,在微软的支持下发布了windows版本
2. 是谁创造出来的?
Ryan Dahl
Im März 2009 gab der Autor von Node in seinem Blog bekannt, dass er die Erstellung eines leichtgewichtigen Webservers auf Basis von V8 und die Bereitstellung einer Reihe von Bibliotheken vorbereitet
5 desselben Jahres Im Juli wurde die erste Version auf GitHub veröffentlicht
Im Juli 2011 wurde die Windows-Version mit Unterstützung von Microsoft veröffentlicht
2 Wer hat sie erstellt?
Ryan Dahl
ist der Schöpfer von Node und wird als Vater von Node bezeichnet
Aber im Januar 2012 übertrug Ryan Dahl den Führungsstatus an Isaac Z. Schlueter, der die Node-Version veröffentlicht und akzeptiert Fehlerbehebungen, Isaac Z.Schlueter war auch der spätere Autor von NPM
3. Warum heißt es Node?
Node hat viele Spitznamen, wie Nodejs, NodeJS, Node.js usw. Warum heißt Node?
- Zuerst nannte Ryan Dahl sein Projekt web.js, bei dem es sich um einen Webserver handelt, aber die Entwicklung des Projekts übertraf seine ursprüngliche Idee, einfach einen Webserver zu entwickeln. Es ist zu einem grundlegenden Framework für die Erstellung von Netzwerkanwendungen geworden, und es können weitere Dinge darauf erstellt werden, z. B. Server, Clients, Befehlszeilentools usw. Node wurde als Single-Threaded-Single-Process-System entwickelt, das keine gemeinsame Nutzung von Ressourcen erfordert. Es enthält netzwerkfreundliche Bibliotheken und bietet eine Infrastruktur für die Erstellung umfangreicher verteilter Anwendungen. Sein Ziel ist auch ein Dienst für die schnelle Erstellung skalierbare Netzwerkanwendungen. Es selbst ist sehr einfach. Es organisiert viele Knoten über Kommunikationsprotokolle und lässt sich sehr leicht erweitern, um den Zweck der Erstellung umfangreicher Netzwerkanwendungen zu erreichen. Jeder Node-Prozess stellt einen Knoten in dieser Netzwerkanwendung dar, was genau die Bedeutung von Node ist
-
4 Warum wurde JavaScript zur Implementierungssprache von Node?
-
Es gibt 3 Hauptgründe für die Wahl von JavaScript als Implementierungssprache von Node:
Hohe Leistung
Konform mit ereignisgesteuertem
Kein historisches Gepäck
- Ryan Dahl hat C , Lua, Haskell, Ruby usw. als alternative Implementierungen, aber die Entwicklungsschwelle für C ist hoch, Lua hat viel historisches Gepäck, Haskell hält es immer noch für unspielbar und die Leistung der virtuellen Maschine von Ruby ist nicht sehr gut. Schließlich wurde JavaScript als Implementierungssprache von Node ausgewähltSie denken vielleicht wie ich: Hat JavaScript kein historisches Gepäck? Ja, JavaScript hatte noch nie einen Markt im Backend und sein historisches Gepäck ist gleich null
-
5 Was sind die Hauptfunktionen von Node?
-
Hat hauptsächlich die folgenden Funktionen:
Asynchrone E/A
Ereignisse und Rückruffunktionen
Einzelner Thread
-
Node behält die vertrauten Schnittstellen im Front-End-Browser-JavaScript bei, kein Rewrite irgendein Merkmal der Sprache selbst
-
6 Was sind die Anwendungsszenarien von Node?
-
Die Hauptanwendungsszenarien des Knoten Es ist nicht erforderlich, für jede Anforderung einen Thread zu starten, um mehr Hardwareressourcen effektiver zu organisieren. Für Unternehmen, die sich auf CPU-Stack-Operationen konzentrieren, ist die Leistung von Node effizient genug, hauptsächlich aufgrund der umfassenden Leistungsoptimierung von V8 Anwendungen bringen zu Node, und wie kann man sie lösen?
Die größte Herausforderung, die CPU-intensive Anwendungen für Node mit sich bringen, ist: Da JavaScript Single-Threaded ist, wird die CPU-Zeitscheibe nicht freigegeben, wenn es über einen längeren Zeitraum berechnet wird (z. B. eine große Schleife). Dadurch können nachfolgende E/A-Vorgänge nicht initiiert werden.
Übliche Lösung: Große Rechenaufgaben entsprechend anpassen und zerlegen.
Wenn die obige Lösung nicht gelöst werden kann, hat Node zwei andere Möglichkeiten, die CPU voll auszunutzen
Node kann C/C++-Erweiterungen schreiben- über untergeordnete Prozesse. Methode: Verwenden Sie einen Teil des Node-Prozesses als residenten Serviceprozess für die Berechnung und verwenden Sie dann prozessübergreifende Nachrichten, um Ergebnisse zu übertragen, wodurch die Berechnung von der E/A getrennt wird.
Weitere Informationen zu Knoten finden Sie unter:
Das obige ist der detaillierte Inhalt vonEine kurze Einführung in Node.js anhand von 7 Fragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!