Your SlideShare is downloading. ×
0
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
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
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
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
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
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
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
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
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
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
×

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

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

2,854

Published on

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

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

×