Nodejs.introduccion

787 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
787
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Nodejs.introduccion

  1. 1. Phillip - @killfil Introducción a node.js
  2. 2. Para que sirve node.js? Hacer backends
  3. 3. Para que sirve node.js? Hacer backends No bloqueantes
  4. 4. Para que sirve node.js? Hacer backends No bloqueantes Asincrónicos
  5. 5. Para que sirve node.js? Hacer backends No bloqueantes Asincrónicos Javascript
  6. 6. Problema “El servidor esta lento” <antes> resultado = query(’update water set tipo=2’) <después> Posible causa: IO
  7. 7. Problema: las distancias metros? Acceso Distancia CPU 15 ciclos RAM 250 ciclos Disco 41.000.000 ciclos Red 240.000.000 ciclos
  8. 8. Problema: las distancias Acceso Distancia CPU 15 ciclos RAM 250 ciclos Disco 41.000.000 ciclos Red 240.000.000 ciclos Años luz!
  9. 9. Problema: las distancias Ciencia ficción: hibernación…
  10. 10. Problema: las distancias Llegué = { Print(‘listo!’); } <antes> query(’viajar de A a B’, Llegué) <después>
  11. 11. Problema: las distancias Llegué = { Print(‘listo!’); } query(’viajar de A a B’, Llegué) Se demora lo mismo, pero no bloquea!
  12. 12. Porque es node.js interesante? (Sólo un par de ideas)
  13. 13. Porque es interesante? <ul><li>Engine </li></ul>
  14. 14. Porque es interesante? <ul><li>Engine </li></ul><ul><li>Reactor </li></ul>
  15. 15. Porque es interesante? <ul><li>Engine </li></ul><ul><li>Reactor </li></ul><ul><li>Cultura lenguaje </li></ul>
  16. 16. Porque es interesante? <ul><li>Engine </li></ul><ul><li>Reactor </li></ul><ul><li>Cultura lenguaje </li></ul><ul><li>IO </li></ul>
  17. 17. Porque es interesante? <ul><li>Engine </li></ul><ul><li>Reactor </li></ul><ul><li>Cultura lenguaje </li></ul><ul><li>IO </li></ul><ul><li>Librerías </li></ul>
  18. 18. Porque es interesante? <ul><li>Engine </li></ul><ul><li>Reactor </li></ul><ul><li>Cultura lenguaje </li></ul><ul><li>IO </li></ul><ul><li>Librerías </li></ul>Es cool y fácil de usar
  19. 19. Hello world var http = require(‘http’); logica = function(req, res) { res.end(‘hola’); } var app = http.createServer(logica) app.listen(80);
  20. 20. No bloquear el reactor! Filosofía: El CPU no se usa tanto… “El problema es la IO”
  21. 21. Bye world var http = require(‘http’); logica = function(req, res) { res.end( calcular_pi() ); } var app = http.createServer(logica) app.listen(80);
  22. 22. Pero necesito calcular! Child_process WebWorkers Extensión C++ Comunicación por red AMQP
  23. 23. Ecosistema Node Package Manager: NPM > 2.500 paquetes Ok.. Que hacemos?
  24. 26. “ Sitio móvil que muestre la misma info que la web” <ul><li>Obtener info regularmente </li></ul><ul><li>Disponibilizar la info obtenida </li></ul><ul><li>Sito móvil que la use </li></ul>
  25. 27. Iniciativa Nodejs.cl @nodejs_cl @killfil @hermanjunge

×