SlideShare une entreprise Scribd logo
1  sur  10
node.js
Eine kurze Einführung in node.js
          03.11.2011
node.js in Zahlen
• 17.000+ Zeilen Code
• 227 beteiligte Entwickler
• 10.400 Beobachter auf Git
Aufbau und Vorteile
• ereignisorientierter Server
• ideal für viele gleichzeitige I/O Verbindungen
• basierend auf Google V8 Javascript Engine
• in C++ geschrieben
• übersetzt Programm in Maschinencode vor
  Ausführung (Performance)
• flexibles Modulsystem (NPM)
Performance
• erreicht hohe Geschwindigkeit durch
  – nicht blockierende I/O Zugriffe
  – asynchrone Dateizugriffe


• teilweise bis zu 1000% schneller als Apache2
Blockierende I/O Zugriff vs. nicht
        blockierende I/O Zugriffe
• A, B seien Zugriffe

• blockierender I/O Zugriff
  – sum(A,B)
• nicht-blockierender I/O Zugriff
  – max(A,B)

• gesparte Zeit sum(A,B) – max(A,B)
Installation
node.js Installation über Paketmanager
echo deb http://ftp.us.debian.org/debian/ sid main >
   /etc/apt/sources.list.d/sid.list
apt-get update
apt-get install nodejs



npm Installation über Paketmanager
curl http://npmjs.org/install.sh | sh



Installation von Modulen
npm install express // Installation von express
Node Package Manager (npm)
•   Installation von zusätzlichen Modulen
•   4779 Module verfügbar
•   einfache Integration in node.js
•   Modulübersicht
    – https://github.com/joyent/node/wiki/modules
    – http://search.npmjs.org/
Code-Beispiel
Programm
// example.js
var http = require('http');
http.createServer(function (req, res) {
   res.writeHead(200, {'Content-Type': 'text/plain'});
   res.end('Hello Worldn');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');



Ausführung
$ node example.js
Hello World Beispiel
Programm
// helloworld.js
console.log('Hello World!');




Ausführung
$ node helloworld.js




Ausgabe
Hello World!
Weitere Hinweise
• http://nodeio.wordpress.com/ (Deutsch)

Contenu connexe

Tendances

German Perl Workshop 2015 - Infrastruktur als Code
German Perl Workshop 2015 - Infrastruktur als CodeGerman Perl Workshop 2015 - Infrastruktur als Code
German Perl Workshop 2015 - Infrastruktur als Code
Jan Gehring
 

Tendances (20)

Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Skalieren einer Web Anwendung
Skalieren einer Web Anwendung
 
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzNode.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
 
Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)
Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)
Foreman: Klassen und Parametrisierung in Puppet (Webinar vom 20. Mai 2016)
 
JTL-PartnerConvention: Welcher SQL-Server passt zu mir
JTL-PartnerConvention: Welcher SQL-Server passt zu mirJTL-PartnerConvention: Welcher SQL-Server passt zu mir
JTL-PartnerConvention: Welcher SQL-Server passt zu mir
 
Skalieren von WordPress & WooCommerce
Skalieren von WordPress & WooCommerceSkalieren von WordPress & WooCommerce
Skalieren von WordPress & WooCommerce
 
Jtl_connect jtl_wawi_performance_boost
Jtl_connect jtl_wawi_performance_boostJtl_connect jtl_wawi_performance_boost
Jtl_connect jtl_wawi_performance_boost
 
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
 
Watson - Bitte-helfen-Sie - ICS.UG 2016
Watson - Bitte-helfen-Sie - ICS.UG 2016Watson - Bitte-helfen-Sie - ICS.UG 2016
Watson - Bitte-helfen-Sie - ICS.UG 2016
 
Drupal 8 templating alles neu mit twig
Drupal 8 templating   alles neu mit twigDrupal 8 templating   alles neu mit twig
Drupal 8 templating alles neu mit twig
 
Merb. Rails in anders.
Merb. Rails in anders.Merb. Rails in anders.
Merb. Rails in anders.
 
Automatisierte Linux Administration mit (R)?ex
Automatisierte Linux Administration mit (R)?ex Automatisierte Linux Administration mit (R)?ex
Automatisierte Linux Administration mit (R)?ex
 
Proxtalks 2016 - Migration zu Proxmox VE
Proxtalks 2016 - Migration zu Proxmox VEProxtalks 2016 - Migration zu Proxmox VE
Proxtalks 2016 - Migration zu Proxmox VE
 
Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...
Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...
Dev Day 2019: Alexander Lichter - JAMstack - Eine neuartige Webanwendungs-Arc...
 
German Perl Workshop 2015 - Infrastruktur als Code
German Perl Workshop 2015 - Infrastruktur als CodeGerman Perl Workshop 2015 - Infrastruktur als Code
German Perl Workshop 2015 - Infrastruktur als Code
 
Von Test nach Live mit Rex
Von Test nach Live mit RexVon Test nach Live mit Rex
Von Test nach Live mit Rex
 
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...
 
Java Servlets und AJAX
Java Servlets und AJAX Java Servlets und AJAX
Java Servlets und AJAX
 
Cloud Provisioning mit Juju
Cloud Provisioning mit JujuCloud Provisioning mit Juju
Cloud Provisioning mit Juju
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
 
Von Test nach live mit Rex
Von Test nach live mit RexVon Test nach live mit Rex
Von Test nach live mit Rex
 

En vedette

Event Driven - Node.JS
Event Driven - Node.JSEvent Driven - Node.JS
Event Driven - Node.JS
Mike Bild
 
por que debemos cumplir siempre las fases para la redaccion
por que debemos cumplir siempre las fases para la redaccionpor que debemos cumplir siempre las fases para la redaccion
por que debemos cumplir siempre las fases para la redaccion
benites10
 
Rubrica evaluacion participacion en foros
Rubrica evaluacion participacion en forosRubrica evaluacion participacion en foros
Rubrica evaluacion participacion en foros
robcarl2014
 
Los procesos metabolicos del sistema nacional de innovación una visión panora...
Los procesos metabolicos del sistema nacional de innovación una visión panora...Los procesos metabolicos del sistema nacional de innovación una visión panora...
Los procesos metabolicos del sistema nacional de innovación una visión panora...
Miguelangel Rivas Mendez
 

En vedette (20)

Event Driven - Node.JS
Event Driven - Node.JSEvent Driven - Node.JS
Event Driven - Node.JS
 
Palermo 19-12-2014
Palermo 19-12-2014Palermo 19-12-2014
Palermo 19-12-2014
 
Televisión
TelevisiónTelevisión
Televisión
 
PSPV/PSOE El cambio responsable en el ayuntamiento de castellón
PSPV/PSOE El cambio responsable en el ayuntamiento de castellónPSPV/PSOE El cambio responsable en el ayuntamiento de castellón
PSPV/PSOE El cambio responsable en el ayuntamiento de castellón
 
por que debemos cumplir siempre las fases para la redaccion
por que debemos cumplir siempre las fases para la redaccionpor que debemos cumplir siempre las fases para la redaccion
por que debemos cumplir siempre las fases para la redaccion
 
Gonzalo Melián y Juan Ramón Rallo - Expansión crediticia y urbanismo en España
Gonzalo Melián y Juan Ramón Rallo - Expansión crediticia y urbanismo en EspañaGonzalo Melián y Juan Ramón Rallo - Expansión crediticia y urbanismo en España
Gonzalo Melián y Juan Ramón Rallo - Expansión crediticia y urbanismo en España
 
Digitale Öffentlichkeit und soziale Macht: Auswirkungen von sozialen Medien a...
Digitale Öffentlichkeit und soziale Macht: Auswirkungen von sozialen Medien a...Digitale Öffentlichkeit und soziale Macht: Auswirkungen von sozialen Medien a...
Digitale Öffentlichkeit und soziale Macht: Auswirkungen von sozialen Medien a...
 
Programa politico- organizativo PODEMOS Ciudad Rodrigo
Programa politico- organizativo PODEMOS Ciudad RodrigoPrograma politico- organizativo PODEMOS Ciudad Rodrigo
Programa politico- organizativo PODEMOS Ciudad Rodrigo
 
I comunicación 192
I comunicación 192I comunicación 192
I comunicación 192
 
Estrategias Didácticas para el aprendizaje colaborativo
Estrategias Didácticas para el aprendizaje colaborativoEstrategias Didácticas para el aprendizaje colaborativo
Estrategias Didácticas para el aprendizaje colaborativo
 
3 - Die erste, phantastische Reise / www.motlies.com
3 - Die erste, phantastische Reise / www.motlies.com3 - Die erste, phantastische Reise / www.motlies.com
3 - Die erste, phantastische Reise / www.motlies.com
 
Tarea 4
Tarea 4Tarea 4
Tarea 4
 
Canto y proyección artística
Canto y proyección artísticaCanto y proyección artística
Canto y proyección artística
 
PIRuweUnimogÜbergabeBerlin.pdf
PIRuweUnimogÜbergabeBerlin.pdfPIRuweUnimogÜbergabeBerlin.pdf
PIRuweUnimogÜbergabeBerlin.pdf
 
Rubrica evaluacion participacion en foros
Rubrica evaluacion participacion en forosRubrica evaluacion participacion en foros
Rubrica evaluacion participacion en foros
 
10 cosas curiosas del mundo en este 2014
10 cosas curiosas del mundo en este 201410 cosas curiosas del mundo en este 2014
10 cosas curiosas del mundo en este 2014
 
Los procesos metabolicos del sistema nacional de innovación una visión panora...
Los procesos metabolicos del sistema nacional de innovación una visión panora...Los procesos metabolicos del sistema nacional de innovación una visión panora...
Los procesos metabolicos del sistema nacional de innovación una visión panora...
 
Lista 2 ano 2011
Lista 2 ano 2011Lista 2 ano 2011
Lista 2 ano 2011
 
POWER POINT NUESTRO DE CADA DIA
POWER POINT NUESTRO DE CADA DIAPOWER POINT NUESTRO DE CADA DIA
POWER POINT NUESTRO DE CADA DIA
 
Examen Final Slideshare
Examen Final SlideshareExamen Final Slideshare
Examen Final Slideshare
 

Similaire à node.js - Eine kurze Einführung

Grundlagen postgresql
Grundlagen postgresqlGrundlagen postgresql
Grundlagen postgresql
inovex GmbH
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schritt
dominion
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
Virttoo org
 
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
NETWAYS
 

Similaire à node.js - Eine kurze Einführung (20)

Node.js Security
Node.js SecurityNode.js Security
Node.js Security
 
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
JavaScript goes Enterprise - Node.js-Anwendungen mit Visual Studio und den No...
 
Icinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga 2009 at Nagios Workshop
Icinga 2009 at Nagios Workshop
 
Grundlagen postgresql
Grundlagen postgresqlGrundlagen postgresql
Grundlagen postgresql
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schritt
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit Rust
 
Citrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx NetworkingCitrix Day 2013: Citirx Networking
Citrix Day 2013: Citirx Networking
 
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam AugustinFMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
FMK2019 FileMaker Data API mit Node.js nutzen by Adam Augustin
 
Making the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUICMaking the internet faster HTTP/3 und QUIC
Making the internet faster HTTP/3 und QUIC
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
OSMC 2011 | Collectd in der großen weiten Welt - Anbindung des Datensammlers ...
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)
 
Backend-Services mit Rust
Backend-Services mit RustBackend-Services mit Rust
Backend-Services mit Rust
 
Internet Information Services (deutsch)
Internet Information Services (deutsch)Internet Information Services (deutsch)
Internet Information Services (deutsch)
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 

node.js - Eine kurze Einführung

  • 1. node.js Eine kurze Einführung in node.js 03.11.2011
  • 2. node.js in Zahlen • 17.000+ Zeilen Code • 227 beteiligte Entwickler • 10.400 Beobachter auf Git
  • 3. Aufbau und Vorteile • ereignisorientierter Server • ideal für viele gleichzeitige I/O Verbindungen • basierend auf Google V8 Javascript Engine • in C++ geschrieben • übersetzt Programm in Maschinencode vor Ausführung (Performance) • flexibles Modulsystem (NPM)
  • 4. Performance • erreicht hohe Geschwindigkeit durch – nicht blockierende I/O Zugriffe – asynchrone Dateizugriffe • teilweise bis zu 1000% schneller als Apache2
  • 5. Blockierende I/O Zugriff vs. nicht blockierende I/O Zugriffe • A, B seien Zugriffe • blockierender I/O Zugriff – sum(A,B) • nicht-blockierender I/O Zugriff – max(A,B) • gesparte Zeit sum(A,B) – max(A,B)
  • 6. Installation node.js Installation über Paketmanager echo deb http://ftp.us.debian.org/debian/ sid main > /etc/apt/sources.list.d/sid.list apt-get update apt-get install nodejs npm Installation über Paketmanager curl http://npmjs.org/install.sh | sh Installation von Modulen npm install express // Installation von express
  • 7. Node Package Manager (npm) • Installation von zusätzlichen Modulen • 4779 Module verfügbar • einfache Integration in node.js • Modulübersicht – https://github.com/joyent/node/wiki/modules – http://search.npmjs.org/
  • 8. Code-Beispiel Programm // example.js var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Worldn'); }).listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/'); Ausführung $ node example.js
  • 9. Hello World Beispiel Programm // helloworld.js console.log('Hello World!'); Ausführung $ node helloworld.js Ausgabe Hello World!