• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
A explosão do Node.js: JavaScript é o novo preto
 

A explosão do Node.js: JavaScript é o novo preto

on

  • 3,203 views

 

Statistics

Views

Total Views
3,203
Views on SlideShare
2,981
Embed Views
222

Actions

Likes
8
Downloads
29
Comments
0

8 Embeds 222

http://coderwall.com 166
http://irr.posterous.com 37
http://us-w1.rockmelt.com 13
http://twitter.com 2
http://www.slideshare.net 1
http://www.onlydoo.com 1
https://twitter.com 1
http://10.0.1.2 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    A explosão do Node.js: JavaScript é o novo preto A explosão do Node.js: JavaScript é o novo preto Presentation Transcript

    • A explosão do Node.js JavaScript é o novo preto Nando Vieira
    • Sobre mim.@fnandohttp://nandovieira.com.br
    • SIMPLESIDEIAS.COM.BR
    • codeplane.com.br
    • ode.c om.brhow toc
    • Standard library.Timers, Process, Events, Util, Buffer,Crypto, TLS/SSL, FileSystem, Net, DNS,HTTP/HTTPS, URL, UDP.
    • Ecossistema.O Node.js é novo, mas já tem muita coisa.
    • Database.Mysql, Redis, MongoDB, CouchDB.
    • HTTP.Connect e Express.
    • Templating.Jade, EJS, Haml, Sass.
    • Realtime.módulo net, Socket.IO, Now.js, Faye.
    • Deploy.No.de, Nodester, Nodejitsu, Duostack,Heroku, Cluster, Upstart/init.d.
    • Servidor HTTP - Node.jsvar http = require("http");http.createServer(function (request, response) { response.end("Hello TDC 2011!n");}).listen(2345);
    • Chat TCPvar net = require("net") , emitter = new process.EventEmitter();net.createServer(function(socket){ emitter.on("message", function(sender, message){ if (socket.writable) { socket.write(socket.remoteAddress + "> " + message); } }); socket.on("data", function(data){ emitter.emit("message", socket, data) });}).listen(2345, "kernelpanic.local");
    • Presentta.Um sistema de treinamento online.
    • Um monte de coisas.Node.js + Ruby + Rails + Flash + Linux +Erlang + WebSockets.
    • Microfones Qualidade doNavegação de slides Áudio !"#$ Ativa screensharing
    • Flash.Streaming de áudio e vídeo.
    • Comunicação.Protocolo JSON.
    • JSON.stringify({ type: "new_message", message: "My new message", user: 1});
    • JSON.load(payload);
    • JavaScript.Closures, funções anônimas eescopo de variáveis.
    • Escopo de variáveis.
    • Escopo de variáveisvar someVariable = "global variable!";console.log(someVariable); // global variablefunction someFunction() { console.log(someVariable); // global variable}someFunction();
    • Escopo de variáveisvar someVariable = "global variable!";console.log(someVariable); // global variablefunction someFunction() { var someVariable = "local variable"; console.log(someVariable); // local variable}someFunction();
    • Escopo de variáveisvar someVariable = "global variable!";console.log(someVariable); // global variablefunction someFunction() { var someVariable = "local variable"; console.log(someVariable); // local variable console.log(this.someVariable); // global variable}someFunction();
    • this.É o dono da função executada.
    • Escopo de variáveisfunction someFunction(){ return this;};someFunction() === this;
    • Escopo de variáveisfunction someFunction(){ return this;};var items = [];someFunction.call(items) === items;
    • Função anônima.Função que foi definida sem um nome.
    • Funções anônimasfunction someFunction() { // your code}someFunction.name; // "someFunction"
    • Funções anônimasvar someFunction = function() { // your code};someFunction.name; // ""
    • Funções anônimassetTimeout(function(){ // your code});
    • Funções anônimas(function(){ // your code})();
    • Funções anônimashttp.createServer(function(req, res){ // add listeners}).listen(2345);
    • Closures.Funções que guardam o escopo devariáveis quando foram definidas.
    • Closuresvar handlers = [];for (var i = 0; i < 5; i++) { handlers.push(function(){ console.log(i);; });}console.log(handlers.length); // 5handlers[0](); // 5handlers[1](); // 5
    • Closuresvar handlers = [];function handler(number) { return function() { console.log(number); };}for (var i = 0; i < 5; i++) { handlers.push(handler(i));}handlers[0](); // 0handlers[1](); // 1
    • Closuresvar handlers = [];for (var i = 0; i < 5; i++) { (function(number){ handlers.push(function(){ console.log(number); }); })(i);}handlers[0](); // 0handlers[1](); // 1
    • Entenda JavaScript.Node.js é fácil. JavaScript, nem tanto.
    • Dúvidas?
    • nandovieira.com.brsimplesideias.com.br howtocode.com.br @fnando