Conquistando el Servidor con Node.JS
Upcoming SlideShare
Loading in...5
×
 

Conquistando el Servidor con Node.JS

on

  • 2,728 views

 

Statistics

Views

Total Views
2,728
Slideshare-icon Views on SlideShare
2,575
Embed Views
153

Actions

Likes
1
Downloads
32
Comments
4

10 Embeds 153

http://jguzman.cl 54
http://www.jguzman.cl 35
http://emartini.wordpress.com 31
http://lanyrd.com 12
http://www.linkedin.com 5
https://twitter.com 5
http://a0.twimg.com 4
https://www.linkedin.com 3
http://us-w1.rockmelt.com 3
http://paper.li 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

14 of 4 Post a comment

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • buenaso muy bueno ahora si me meto a nodejs
    Are you sure you want to
    Your message goes here
    Processing…
  • Excelente presentación de la tecnología, me ha motivado a empezar probar en node.js
    Are you sure you want to
    Your message goes here
    Processing…
  • Very impressive! I'm particularly interested in the Cocktails stuff; seems like Yahoo is building cool things with Node.
    Are you sure you want to
    Your message goes here
    Processing…
  • Excellent presentation, thanks!
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Conquistando el Servidor con Node.JS Conquistando el Servidor con Node.JS Presentation Transcript

    • Conquering the Server Side with Node.JS StartTechConf 2011 Caridy Patiño Search Direct Team YUI Evangelist YUI Contributor caridy@yahoo-inc.com @caridySaturday, November 5, 2011
    • Saturday, November 5, 2011
    • La industria esta cambiando muy rápidoSaturday, November 5, 2011
    • Chrome + V8Saturday, November 5, 2011
    • Internet de alta velocidadSaturday, November 5, 2011
    • Coulds / NubesSaturday, November 5, 2011
    • WebApps & AppsSaturday, November 5, 2011
    • Almazenamiento MásivoSaturday, November 5, 2011
    • La web en tiempo realSaturday, November 5, 2011
    • Y esto se traduce en...Saturday, November 5, 2011
    • Peaks / PicosSaturday, November 5, 2011
    • ConcurrenciaSaturday, November 5, 2011
    • ConcurrenciaSaturday, November 5, 2011
    • Saturday, November 5, 2011
    • ut O old S Microsoft VBScript compilation error ‘800a03e9′ Out of memory /LM/W3SVC/600510919/Root/dStore/http://global.asa, line 0Saturday, November 5, 2011
    • DesempeñoSaturday, November 5, 2011
    • Soluciones...Saturday, November 5, 2011
    • Más servidoresSaturday, November 5, 2011
    • Más servidores $$$$$Saturday, November 5, 2011
    • Nubes ElásticasSaturday, November 5, 2011
    • Wow Amazon EC2 Is Expensive For Start Ups “With EC2, I would pay 30 days * 24 hours * $0.1 * 1.19 (tax) = $85. And that does not take into account backup space (S3), traffic and true persistent storage (EBS) yet.”Saturday, November 5, 2011
    • Delegar procesos hacia el clienteSaturday, November 5, 2011
    • Saturday, November 5, 2011
    • Node.JSSaturday, November 5, 2011
    • Server Side JavaScript (SSJS)Saturday, November 5, 2011
    • NarwhalJS RingoJS Wakanda Rhino AkshellSaturday, November 5, 2011
    • Nuestros sistemas operativos y lenguajes derivan de los sistemas diseñados para teletipos.Saturday, November 5, 2011
    • Las plataformas modernas de software siguen imitando estas interfaces antiguas.Saturday, November 5, 2011
    • “Blocking system call” is a call into the kernel which waits for some I/O to complete before before returning. Blocking syscalls introduce unbounded latency into the current thread.Saturday, November 5, 2011
    • Los procesos son buenos para mantener unidades aisladas. Sin embargo, son demasiado pesados como para dedicarle una conexión completa.Saturday, November 5, 2011
    • Uno de los objetivos principales de Node es hacer accesible la programación sin bloqueo para aquellos usuario que no son expertos.Saturday, November 5, 2011
    • Node ha tenido éxito en poner servidor de alto desempeño al alcance de los programadores utilizando una API sin bloqueosSaturday, November 5, 2011
    • Un solo stack por cada procesoSaturday, November 5, 2011
    • Node.JS solo tiene 2.5 años de edad. La version 0.6 es la 3ra iteración estable.Saturday, November 5, 2011
    • Saturday, November 5, 2011
    • HTTP benchmark con 100 clientes concurrentes en OSX 10.6 - v0.2.6 5330 req/sec - v0.4.12 5552 req/sec - v0.5.10 5803 req/seSaturday, November 5, 2011
    • Por qué Javascript?Saturday, November 5, 2011
    • Javascript es el lenguaje del navegadorSaturday, November 5, 2011
    • Javascript es un lenguaje dinámicoSaturday, November 5, 2011
    • Closures y programación asincrónica por naturalezaSaturday, November 5, 2011
    • Comunidad creciente, activa y diversaSaturday, November 5, 2011
    • http://github.com/languagesSaturday, November 5, 2011
    • No existe otro lenguaje que pueda destronar a javascript en un future cercanoSaturday, November 5, 2011
    • Node Event LoopSaturday, November 5, 2011
    • var result = db.query("select * from T"); // use resultSaturday, November 5, 2011
    • var result = db.query("select * from T"); // use result Qué esta haciendo el software mientras se ejecuta la query?Saturday, November 5, 2011
    • db.query("select * from T", function (result) { // use result });Saturday, November 5, 2011
    • db.query("select * from T", function (result) { // use result }); Este código le permite al programa retornar al event loop inmediatamenteSaturday, November 5, 2011
    • Node maneja todas los IO de la misma maneraSaturday, November 5, 2011
    • Saturday, November 5, 2011
    • Menos memoria necesita ser usada, y un mayor rendimiento debido al menor número de cambios de contexto.Saturday, November 5, 2011
    • El uso de los closures para capturar el estado entre diferentes eventosSaturday, November 5, 2011
    • function adicionar(callback) { http.get(url1, function(respuesta1) { var parte1 = respuesta1.data; http.get(url2, function(respuesta2) { var parte2 = respuesta2.data; callback(parte1 + parte2); }); }); }Saturday, November 5, 2011
    • Node StackSaturday, November 5, 2011
    • Como usar NodeSaturday, November 5, 2011
    • Download, configure, compile, and make install it: http://nodejs.org/Saturday, November 5, 2011
    • Windows Build (Node v0.6.0): http://nodejs.org/dist/v0.6.0/node.exeSaturday, November 5, 2011
    • NPM http://npm.org/Saturday, November 5, 2011
    • curl http://npmjs.org/install.sh | shSaturday, November 5, 2011
    • NPM 101 $ npm help $ npm install <pkgName> $ npm uninstall <pkgName> $ npm publish $ npm list $ npm update http://howtonode.org/introduction-to-npmSaturday, November 5, 2011
    • $  npm  list app@0.1.0  /Users/caridy/node/app  connect@1.7.1      mime@1.2.4      qs@0.3.1    express@2.4.7      mime@1.2.4      mkdirp@0.0.7      qs@0.3.1    micro<me@0.1.3-­‐1    mime@1.2.4    yui3@0.7.4    htmlparser@1.7.3      yui3-­‐core@3.4.0      yuitest@0.6.9    yui3-­‐core@3.4.0Saturday, November 5, 2011
    • Express http://expressjs.com/Saturday, November 5, 2011
    • $ cd my/node/app/ $ npm install expressSaturday, November 5, 2011
    • Requiriendo Express NPM Module var app = require(express).createServer(); app.get(/usuario/:id, function(req, res){ res.send(Bienvenido + req.params.id); }); app.listen(3000);Saturday, November 5, 2011
    • $ node app.jsSaturday, November 5, 2011
    • http://localhost:3000/usuario/caridySaturday, November 5, 2011
    • Express Boilerplate $ npm install -g express $ cd my/node/app/ $ express ./ $ npm install -d $ node app.jsSaturday, November 5, 2011
    • YUISaturday, November 5, 2011
    • Saturday, November 5, 2011
    • $ npm install yui3Saturday, November 5, 2011
    • var YUI = require("yui3").YUI; Requiriendo YUI NPM Module YUI().use(json, io, function(Y) { Y.io(http://yuilibrary.com/gallery/api/user/caridy, { on: { success: function(id, o) { Y.log(Y.JSON.parse(o.responseText), info, demo); } } }); });Saturday, November 5, 2011
    • var YUI = require("yui3").YUI; Requiriendo YUI NPM Module YUI().use(yql, function(Y) { var query = select * from geo.states where place="Chile" and lang="es-CL" ; Y.YQL(query, function(result) { // =result= now contains the result of the YQL Query // use the YQL Developer console to learn // what data is coming back in this object // and how that data is structured. Y.log(result, info, demo); }); }); http://developer.yahoo.com/yql/console/#h=select%20*%20from%20geo.states%20where %20place%3D%22Chile%22%20and%20lang%3D%22es-CL%22Saturday, November 5, 2011
    • { "query": { "count": 15, "created": "2011-10-31T15:38:44Z", "results": { "place": [ { "lang": "es-CL", "uri": "http://where.yahooapis.com/v1/place/2345028", "woeid": "2345028", "placeTypeName": { "code": "8", "content": "Región" }, "name": "Maule" }, { "lang": "es-CL", "uri": "http://where.yahooapis.com/v1/place/2345025", "woeid": "2345025", "placeTypeName": { "code": "8", "content": "Región" }, "name": "Libertador General Bernardo OHiggins" }, { "lang": "es-CL", "uri": "http://where.yahooapis.com/v1/place/2345029", "woeid": "2345029", "placeTypeName": { "code": "8", "content": "Región" }, "name": "Santiago" } ] } } }Saturday, November 5, 2011
    • YUI Library Who contributes? Everyone, with committer review. YUI Gallery Who contributes? Everyone, with little review. YUI Test Comprehensive unit testing solution for any JS code YETI YUI Easy Testing Interface: run browser JS unit tests from consoleSaturday, November 5, 2011
    • Yahoo! CocktailsSaturday, November 5, 2011
    • Saturday, November 5, 2011
    • Cocktails: MojitoSaturday, November 5, 2011
    • Mojito es un Web Application FrameworkSaturday, November 5, 2011
    • Mojits MVC Controller Model ViewSaturday, November 5, 2011
    • Tres tipos de scripts: - foo.server.js - foo.common.js - foo.client.jsSaturday, November 5, 2011
    • Multiples Runtimes Javascript on the Native Bridges Javascript on the browser iOS Android serverSaturday, November 5, 2011
    • Mojito Command 101 $ mojito help $ mojito create app ./myApp $ mojito create mojit Foo $ mojito test $ mojito compile $ mojito startSaturday, November 5, 2011
    • Mojito Application Folder ./myApp - application.json - assets - autoload - index.js - mojits - Foo - Bar - package.json - server.jsSaturday, November 5, 2011
    • Open Source a inicios del 2012Saturday, November 5, 2011
    • Cocktails: ManhattanSaturday, November 5, 2011
    • Yahoo! Manhattan es un ambiente de hosting para aplicaciones basadas en Mojito que utiliza la nube de Yahoo! para correr esas aplicaciones.Saturday, November 5, 2011
    • Server Side: Technology Stack Mojito App Mojito YUI Express Mustache Connect Cocktails Abstractions Node.JS V8 Manhattan Security Filters Tracking MonitoringSaturday, November 5, 2011
    • Yahoo! Manhattan extiende Node.JS para proveer fault- isolation & fault-tolerance, escalabilidad, disponibilidad, seguridad y desempeño.Saturday, November 5, 2011
    • Saturday, November 5, 2011
    • Manhattan provides a simple interface for developers to deploy, un-deploy and manage their Mojito-based applications, leveraging the scale and performance of Yahoo!’s technology infrastructure.Saturday, November 5, 2011
    • DesempeñoSaturday, November 5, 2011
    • Saturday, November 5, 2011
    • Saturday, November 5, 2011
    • node.js 0.4 + express + yui + mustacheSaturday, November 5, 2011
    • Apache + PHP Node + Express + YUI + MustacheSaturday, November 5, 2011
    • Saturday, November 5, 2011
    • Apache + PHP no creceSaturday, November 5, 2011
    • Saturday, November 5, 2011
    • Thank you caridy@yahoo-inc.com @caridySaturday, November 5, 2011
    • Links • nodejs.org • npm.org • expressjs.com • yuilibrary.com/projects/nodejs-yui3/Saturday, November 5, 2011
    • Más sobre Yahoo! Mojito: http://www.slideshare.net/rhyolight/mojito-sl-2011Saturday, November 5, 2011
    • Más sobre Yahoo! Manhattan: http://video.yahoo.com/yahoonet-24189541/yodel-24697328/ cocktails-in-action-27127763.html http://video.yahoo.com/yahoonet-24189541/yodel-24697328/ introducing-cocktails-from-yahoo-27127762.htmlSaturday, November 5, 2011