Your SlideShare is downloading. ×
Node js Alt.net Hispano
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Node js Alt.net Hispano

1,048
views

Published on

Published in: Technology

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

  • Be the first to like this

No Downloads
Views
Total Views
1,048
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Hernan Garcia http://www.slideshare.net/hdgarcia/ @theprogrammer http://dynamicprogrammer.com [email_address] http://github.com/hgarcia
  • 2. node.js Qué es y como instalarlo? Hola node, callbacks o no callbacks. Sobre modules, exports y CommonJs Npm (manejo de paquetes) Creando eventos.   Bases de dato Crear y publicar un paquete con npm
  • 3. image: http://platformjs.wordpress.com/2010/11/24/node-js-under-the-hood/ Escribes codigo en JavaScript. Usas las librerias de node Node tiene bindings en C con el sistema operativo. Utiliza V8 como el motor para ejecutar JavaScript.
  • 4. Single thread por request Nunca bloquea (no espera) IO publica eventos (no bloquea) Callbacks es la clave image: http://www.salagraphics.com/index.php?main_page=product_info&cPath=6&products_id=114
  • 5. image: http://xkcd.com/303/ traducción: http://www.abadiadigital.com/articulo/chistes-para-programadores *nix (code - compile) *nix con n windows en cygwin
  • 6. image: http://reanimatepc.com/content/how-tell-if-your-windows-loads-or-not en v0.5.1 salió el primer exe nativo para windows MS esta ayudando Soporte completo en v 0.6.0
  • 7. node.js que es y como instalarlo? Hola node, callbacks o no callbacks Sobre modules, exports y CommonJs Npm (manejo de paquetes) Creando eventos.  Bases de dato Crear y publicar un paquete con npm
  • 8. http://nodejs.org var http = require('http'); http.createServer( function (req, res) {     res.writeHead(200, {'Content-Type': 'text/plain'});     res.end('Hola Alt.Netn'); } ).listen(8080, "127.0.0.1"); console.log('Servidor en http://127.0.0.1:8080/');
  • 9. var http = require('http'); var mongodm = require('mongodm');   http.createServer(function (req, res) {     mongodm.withDatabase(&quot;altnet&quot;,  function (err, db) {           if (err) {             res.writeHead(500, {'Content-Type': 'text/plain'});             res.end(err);         } else {             db.withCollection('sessions', function (err, collection) {                if (err) {                                  res.writeHead(500, {'Content-Type': 'text/plain'});                     res.end(err);                                    } else {                                        collection.find( function (err, resultArray) {                                                var response = 'Make it heren';                                                 for (var i = 0; i < resultArray.length; (i += 1)) {                             response += resultArray[i].title + 'n';                         }                         res.writeHead(200, {'Content-Type': 'text/plain'});                                             res.end(response);                     });                     }             });         }     }); }).listen(8080, &quot;127.0.0.1&quot;); console.log('Servidor en http://127.0.0.1:8080/');
  • 10. image: http://www.apajcan.org/ Librerias para el control de flujo. https://github.com/joyent/node/wiki/modules#wiki-async-flow/joyent/node/wiki/modules#wiki-async-flow
  • 11. node.js que es y como instalarlo? Hola node, callbacks o no callbacks Sobre modules, exports y CommonJs Npm (manejo de paquetes) Creando eventos.  Bases de dato Crear y publicar un paquete con npm
  • 12. CommonJs es un &quot;standard&quot;. Hay varias implementaciones. Node implementa un subset de esos standards. Modules 1.0 Promises/B y Promises/D Unit testing. El mas importante (para entender node y su ecosistema) es modules. http://www.commonjs.org/specs/
  • 13.
    • Modules nos da los mecanismos para crear codigo reusable sin afectar el scope global.
    • Modules (funciones y objectos)
      • require (function usada por el cargador de modulos)
      • exports (objecto usado para exponer la api de un modulo)
  • 14. Podemos crear la idea de private scope con modules. image: http://www.finankorr.net/?page_id=13
  • 15.
    • Resolucion de modulos.
      • Globales (node version)
      • Proyecto
      • File System
      • require.paths 
      • require.resolve('mongodm')
    image: http://walkkingdisaster.blogspot.com/2011/07/es-como-todo-lentamente-se-desmorona-al.html
  • 16. node.js que es y como instalarlo? Hola node, callbacks o no callbacks Sobre modules, exports y CommonJs Npm (manejo de paquetes) Creando eventos.  Bases de dato Crear y publicar un paquete con npm
  • 17. Al principio hubo varios. npm es el de facto standard. Node Package Manager. compatible con Git. Super facil de usar. Soporta versioning,  Instalacion global y por proyecto. Maneja dependencias. Compila codigo nativo. Mas... image: http://nodej.org
  • 18. npm install npm install underscore npm ls installed npm ls npm uninstall underscore npm install -g npm installed hgarcia npm update image: http://nodej.org
  • 19. node.js que es y como instalarlo? Hola node, callbacks o no callbacks Sobre modules, exports y CommonJs Npm (manejo de paquetes) Creando eventos.   Bases de dato Crear y publicar un paquete con npm
  • 20. Usar EventEmitter Exponer los eventos. Listo. image: http://www.codeandbeyond.org/2011/04/recursos-gratuitos-para-empezar-con.html
  • 21. node.js que es y como instalarlo? Hola node, callbacks o no callbacks Sobre modules, exports y CommonJs Npm (manejo de paquetes) Creando eventos.  Bases de dato Crear y publicar un paquete con npm
  • 22.
    • Similar a otras tecnologias.
    • Drivers y/o ORM.
    • Trabaja muy bien con soluciones NoSql.
      • MongoDB
      • CouchDB
  • 23. node.js que es y como instalarlo? Hola node, callbacks o no callbacks Sobre modules, exports y CommonJs Npm (manejo de paquetes) Creando eventos.  Bases de dato Crear y publicar un paquete con npm
  • 24. image: http://walkkingdisaster.blogspot.com/2011/07/es-como-todo-lentamente-se-desmorona-al.html Crea un archivo package.jsonen el root de tu proyecto.  {      &quot;name&quot;: &quot;super paquete&quot;,      &quot;version&quot;: &quot;0.1.1&quot;,      &quot;main&quot;: &quot;file.js&quot; }   Linkea el paquete para poder testear mas facilmente > npm link
  • 25. image: http://walkkingdisaster.blogspot.com/2011/07/es-como-todo-lentamente-se-desmorona-al.html Crea una cuenta en npm > npm adduser <username> <pass> <email> En el root de tu paquete > npm publish
  • 26. Hidden level Testing Debugging
  • 27. Vows
  • 28. node-inspector   Instalar chrome > npm install v8-profiler > npm install node-inspector