SlideShare una empresa de Scribd logo
1 de 27
Phillip  -  @killfil Introducción a node.js
Para que sirve node.js? Hacer backends
Para que sirve node.js? Hacer backends No bloqueantes
Para que sirve node.js? Hacer backends No bloqueantes Asincrónicos
Para que sirve node.js? Hacer backends No bloqueantes Asincrónicos Javascript
Problema “El servidor esta lento” <antes> resultado = query(’update water set tipo=2’) <después> Posible causa: IO
Problema: las distancias metros? Acceso Distancia CPU 15 ciclos RAM 250 ciclos Disco 41.000.000 ciclos Red 240.000.000 ciclos
Problema: las distancias Acceso Distancia CPU 15 ciclos RAM 250 ciclos Disco 41.000.000 ciclos Red 240.000.000 ciclos Años luz!
Problema: las distancias Ciencia ficción: hibernación…
Problema: las distancias Llegué = { Print(‘listo!’); } <antes> query(’viajar de A a B’, Llegué) <después>
Problema: las distancias Llegué = { Print(‘listo!’); } query(’viajar de A a B’, Llegué) Se demora lo mismo, pero no bloquea!
Porque es node.js interesante? (Sólo un par de ideas)
Porque es interesante? ,[object Object]
Porque es interesante? ,[object Object],[object Object]
Porque es interesante? ,[object Object],[object Object],[object Object]
Porque es interesante? ,[object Object],[object Object],[object Object],[object Object]
Porque es interesante? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Porque es interesante? ,[object Object],[object Object],[object Object],[object Object],[object Object],Es cool y fácil de usar
Hello world var http = require(‘http’); logica = function(req, res) { res.end(‘hola’); } var app = http.createServer(logica) app.listen(80);
No bloquear el reactor! Filosofía: El CPU no se usa tanto… “El problema es la IO”
Bye world var http = require(‘http’); logica = function(req, res) { res.end( calcular_pi() ); } var app = http.createServer(logica) app.listen(80);
Pero necesito calcular! Child_process  WebWorkers Extensión C++ Comunicación por red  AMQP
Ecosistema Node Package Manager: NPM > 2.500 paquetes Ok.. Que hacemos?
 
 
“ Sitio móvil que muestre la misma info que la web” ,[object Object],[object Object],[object Object]
Iniciativa Nodejs.cl @nodejs_cl @killfil @hermanjunge

Más contenido relacionado

La actualidad más candente

Creación de aplicaciones web con Node.js y Express
Creación de aplicaciones web con Node.js y ExpressCreación de aplicaciones web con Node.js y Express
Creación de aplicaciones web con Node.js y Express
betabeers
 

La actualidad más candente (20)

Node JS (Francisco Cerdas)
Node JS (Francisco Cerdas)Node JS (Francisco Cerdas)
Node JS (Francisco Cerdas)
 
Curso node.js
Curso node.js Curso node.js
Curso node.js
 
Nodejs
NodejsNodejs
Nodejs
 
NodeJS
NodeJSNodeJS
NodeJS
 
Apache
Apache Apache
Apache
 
Sandbox para ejercicios de programación
Sandbox para ejercicios de programaciónSandbox para ejercicios de programación
Sandbox para ejercicios de programación
 
Entorno de desarrollo rápido con Vagrant
Entorno de desarrollo rápido con VagrantEntorno de desarrollo rápido con Vagrant
Entorno de desarrollo rápido con Vagrant
 
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphereVagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
Vagrant para automatizar entornos DEV/PRO: VirtualBox y vSphere
 
Creación de aplicaciones web con Node.js y Express
Creación de aplicaciones web con Node.js y ExpressCreación de aplicaciones web con Node.js y Express
Creación de aplicaciones web con Node.js y Express
 
Presentacion node
Presentacion nodePresentacion node
Presentacion node
 
Dockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrolloDockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrollo
 
Dar lab1819
Dar lab1819Dar lab1819
Dar lab1819
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrollo
 
Fury - Docker Meetup
Fury - Docker MeetupFury - Docker Meetup
Fury - Docker Meetup
 
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - QuaipWordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
 
Docker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en Restorando
 
1212
12121212
1212
 
Introducción a Ansible
Introducción a AnsibleIntroducción a Ansible
Introducción a Ansible
 
Casper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end DrupalCasper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end Drupal
 
Introduccion a Ansible
Introduccion a AnsibleIntroduccion a Ansible
Introduccion a Ansible
 

Similar a Nodejs.introduccion

Nodejs.introduccion
Nodejs.introduccionNodejs.introduccion
Nodejs.introduccion
killfill
 
Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0
wcuestas
 
Jose Selvi - Adaptando exploits para evitar la frustración [RootedSatellite V...
Jose Selvi - Adaptando exploits para evitar la frustración [RootedSatellite V...Jose Selvi - Adaptando exploits para evitar la frustración [RootedSatellite V...
Jose Selvi - Adaptando exploits para evitar la frustración [RootedSatellite V...
RootedCON
 
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
Antonio Ognio
 
Clase1 introduccinalcurso
Clase1 introduccinalcursoClase1 introduccinalcurso
Clase1 introduccinalcurso
jorg_marq
 

Similar a Nodejs.introduccion (20)

Nodejs.introduccion
Nodejs.introduccionNodejs.introduccion
Nodejs.introduccion
 
Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0
 
Jruby On Rails. Ruby on Rails en la JVM
Jruby On Rails. Ruby on Rails en la JVMJruby On Rails. Ruby on Rails en la JVM
Jruby On Rails. Ruby on Rails en la JVM
 
Tutorial Java
Tutorial JavaTutorial Java
Tutorial Java
 
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.js
 
Silex: Microframework y camino fácil de aprender Symfony
Silex: Microframework y camino fácil de aprender SymfonySilex: Microframework y camino fácil de aprender Symfony
Silex: Microframework y camino fácil de aprender Symfony
 
JRuby al Rescate de J2EE
JRuby al Rescate de J2EEJRuby al Rescate de J2EE
JRuby al Rescate de J2EE
 
Jose Selvi - Adaptando exploits para evitar la frustración [RootedSatellite V...
Jose Selvi - Adaptando exploits para evitar la frustración [RootedSatellite V...Jose Selvi - Adaptando exploits para evitar la frustración [RootedSatellite V...
Jose Selvi - Adaptando exploits para evitar la frustración [RootedSatellite V...
 
PHPAJAX
PHPAJAXPHPAJAX
PHPAJAX
 
Computación evolutiva no tradicional
Computación evolutiva no tradicionalComputación evolutiva no tradicional
Computación evolutiva no tradicional
 
sesion_01-JAVA.pdf
sesion_01-JAVA.pdfsesion_01-JAVA.pdf
sesion_01-JAVA.pdf
 
JRuby Al Rescate J2EE
JRuby Al Rescate J2EEJRuby Al Rescate J2EE
JRuby Al Rescate J2EE
 
Apache ha muerto, Viva Lighttpd
Apache ha muerto, Viva LighttpdApache ha muerto, Viva Lighttpd
Apache ha muerto, Viva Lighttpd
 
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
 
Reactvolution
ReactvolutionReactvolution
Reactvolution
 
Servicios web Extendido_error perl
Servicios web Extendido_error perlServicios web Extendido_error perl
Servicios web Extendido_error perl
 
Clase1 introduccinalcurso
Clase1 introduccinalcursoClase1 introduccinalcurso
Clase1 introduccinalcurso
 
Docker y PostgreSQL
Docker y PostgreSQLDocker y PostgreSQL
Docker y PostgreSQL
 
Mobile Day - Lecciones de vuelo
Mobile Day - Lecciones de vueloMobile Day - Lecciones de vuelo
Mobile Day - Lecciones de vuelo
 

Nodejs.introduccion