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 TD...
Chat TCPvar net = require("net")  , emitter = new process.EventEmitter();net.createServer(function(socket){  emitter.on("m...
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    ...
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 someFunctio...
Escopo de variáveisvar someVariable = "global variable!";console.log(someVariable); // global variablefunction someFunctio...
Escopo de variáveisvar someVariable = "global variable!";console.log(someVariable); // global variablefunction someFunctio...
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(ha...
Closuresvar handlers = [];function handler(number) {  return function() { console.log(number); };}for (var i = 0; i < 5; i...
Closuresvar handlers = [];for (var i = 0; i < 5; i++) {  (function(number){    handlers.push(function(){      console.log(...
Entenda JavaScript.Node.js é fácil. JavaScript, nem tanto.
Dúvidas?
nandovieira.com.brsimplesideias.com.br   howtocode.com.br            @fnando
A explosão do Node.js: JavaScript é o novo preto
A explosão do Node.js: JavaScript é o novo preto
A explosão do Node.js: JavaScript é o novo preto
A explosão do Node.js: JavaScript é o novo preto
A explosão do Node.js: JavaScript é o novo preto
Upcoming SlideShare
Loading in...5
×

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

2,888

Published on

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,888
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
30
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

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

  1. 1. A explosão do Node.js JavaScript é o novo preto Nando Vieira
  2. 2. Sobre mim.@fnandohttp://nandovieira.com.br
  3. 3. SIMPLESIDEIAS.COM.BR
  4. 4. codeplane.com.br
  5. 5. ode.c om.brhow toc
  6. 6. Standard library.Timers, Process, Events, Util, Buffer,Crypto, TLS/SSL, FileSystem, Net, DNS,HTTP/HTTPS, URL, UDP.
  7. 7. Ecossistema.O Node.js é novo, mas já tem muita coisa.
  8. 8. Database.Mysql, Redis, MongoDB, CouchDB.
  9. 9. HTTP.Connect e Express.
  10. 10. Templating.Jade, EJS, Haml, Sass.
  11. 11. Realtime.módulo net, Socket.IO, Now.js, Faye.
  12. 12. Deploy.No.de, Nodester, Nodejitsu, Duostack,Heroku, Cluster, Upstart/init.d.
  13. 13. Servidor HTTP - Node.jsvar http = require("http");http.createServer(function (request, response) { response.end("Hello TDC 2011!n");}).listen(2345);
  14. 14. 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");
  15. 15. Presentta.Um sistema de treinamento online.
  16. 16. Um monte de coisas.Node.js + Ruby + Rails + Flash + Linux +Erlang + WebSockets.
  17. 17. Microfones Qualidade doNavegação de slides Áudio !"#$ Ativa screensharing
  18. 18. Flash.Streaming de áudio e vídeo.
  19. 19. Comunicação.Protocolo JSON.
  20. 20. JSON.stringify({ type: "new_message", message: "My new message", user: 1});
  21. 21. JSON.load(payload);
  22. 22. JavaScript.Closures, funções anônimas eescopo de variáveis.
  23. 23. Escopo de variáveis.
  24. 24. Escopo de variáveisvar someVariable = "global variable!";console.log(someVariable); // global variablefunction someFunction() { console.log(someVariable); // global variable}someFunction();
  25. 25. Escopo de variáveisvar someVariable = "global variable!";console.log(someVariable); // global variablefunction someFunction() { var someVariable = "local variable"; console.log(someVariable); // local variable}someFunction();
  26. 26. 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();
  27. 27. this.É o dono da função executada.
  28. 28. Escopo de variáveisfunction someFunction(){ return this;};someFunction() === this;
  29. 29. Escopo de variáveisfunction someFunction(){ return this;};var items = [];someFunction.call(items) === items;
  30. 30. Função anônima.Função que foi definida sem um nome.
  31. 31. Funções anônimasfunction someFunction() { // your code}someFunction.name; // "someFunction"
  32. 32. Funções anônimasvar someFunction = function() { // your code};someFunction.name; // ""
  33. 33. Funções anônimassetTimeout(function(){ // your code});
  34. 34. Funções anônimas(function(){ // your code})();
  35. 35. Funções anônimashttp.createServer(function(req, res){ // add listeners}).listen(2345);
  36. 36. Closures.Funções que guardam o escopo devariáveis quando foram definidas.
  37. 37. Closuresvar handlers = [];for (var i = 0; i < 5; i++) { handlers.push(function(){ console.log(i);; });}console.log(handlers.length); // 5handlers[0](); // 5handlers[1](); // 5
  38. 38. 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
  39. 39. Closuresvar handlers = [];for (var i = 0; i < 5; i++) { (function(number){ handlers.push(function(){ console.log(number); }); })(i);}handlers[0](); // 0handlers[1](); // 1
  40. 40. Entenda JavaScript.Node.js é fácil. JavaScript, nem tanto.
  41. 41. Dúvidas?
  42. 42. nandovieira.com.brsimplesideias.com.br howtocode.com.br @fnando
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×