Node.JS: JavaScript no servidor com Google V8
Upcoming SlideShare
Loading in...5
×
 

Node.JS: JavaScript no servidor com Google V8

on

  • 8,675 views

Com Node.js, JavaScript liberta-se do navegador e torna-se uma linguagem dinâmica de uso geral assim como Python e Ruby. Node.js usa o mesmo motor V8 de alto desempenho do Google Chrome, roda em ...

Com Node.js, JavaScript liberta-se do navegador e torna-se uma linguagem dinâmica de uso geral assim como Python e Ruby. Node.js usa o mesmo motor V8 de alto desempenho do Google Chrome, roda em Linux, Windows e Mac OSX, e oferece APIs assíncronas para criar servidores e clientes que lidam com muitas requisições concorrentes de modo eficiente.
Saiba o que é programação assíncrona e tenha uma visão panorâmica do Node.js.

Statistics

Views

Total Views
8,675
Views on SlideShare
7,153
Embed Views
1,522

Actions

Likes
16
Downloads
134
Comments
0

16 Embeds 1,522

http://www.gonow.com.br 1270
http://labs.myn.com.br 84
http://eventifier.co 61
http://candidosalesg.wordpress.com 41
http://candidosg.com 36
http://871419307951952_f3332ac152de360f01477425a1ac01078c107c3d.blogspot.com 6
http://www.flavors.me 5
http://a0.twimg.com 5
https://si0.twimg.com 4
http://flavors.me 3
http://fr.flavors.me 2
http://abtasty.com 1
http://de.flavors.me 1
http://gonow-site.gonow.com.br 1
http://webcache.googleusercontent.com 1
https://twitter.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

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
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Node.JS: JavaScript no servidor com Google V8 Node.JS: JavaScript no servidor com Google V8 Presentation Transcript

  • Luciano Ramalho luciano@ramalho.org @lucianoNode.js:JavaScript com Google V8 no servidor
  • Luciano Ramalho• Programando por prazer desde 1978, profissionalmente desde 1982• Arquiteto de soluções Web desde 1994 • 1º diretor técnico do Brasil Online, na Abril S/A• Muitos clientes e alguns empregos desde então, quase sempre atuando na Web (server-side)• Agora: Oficinas Turing e Academia Python na Globalcode @luciano
  • Demonstração bandeiras.js etc.** http://github.com/oturing/nodejs @luciano
  • @luciano
  • Node.js... • É um ambiente de execução para usar JavaScript fora do navegador • linha de comando + console interativo • Incorpora o engine de JavaScript Google V8 • aquele do Google Chrome, ECMAScript 5 • Inclui bibliotecas para fazer programação de I/O orientada a eventos (modo assíncrono) @luciano
  • Arquitetura @luciano
  • Demonstração console interativo @luciano
  • Node.js: console (REPL) > function agora() { ... var dt = Date().slice(16,24); ... console.log(dt); ... } undefined > agora(); 13:50:17 undefined > @luciano
  • Programação assíncrona? @luciano
  • O restaurante síncrono @luciano
  • O restaurante síncrono @luciano
  • O restaurante síncrono @luciano
  • O restaurante síncrono @luciano
  • O restaurante síncrono @luciano
  • O restaurante síncrono @luciano
  • O restaurante síncrono @luciano
  • O restaurante assíncrono @luciano
  • O restaurante assíncrono @luciano
  • O restaurante assíncrono @luciano
  • O restaurante assíncrono @luciano
  • O restaurante assíncrono @luciano
  • O restaurante assíncrono @luciano
  • O restaurante assíncrono @luciano
  • Programação assíncrona = callback @luciano
  • Demonstração hora*.js, sigint*.js, stat*.js* http://github.com/oturing/nodejs @luciano
  • hora.js Com isso o shell do *nix consegue executar o script O 2º console.log acontece antes do primeiro * http://github.com/oturing/nodejs @luciano
  • hora2.js Temposdiferentes * http://github.com/oturing/nodejs @luciano
  • hora3.js Cada chamada dispara a próxima, com atraso aleatório Iniciar * http://github.com/oturing/nodejs
  • statSync.jsImportação de módulos ≈ Common.js Invoca a funçãostatSync do módulo fs. Saída padrão: stdout * http://github.com/oturing/nodejs @luciano
  • stat.js: chamada assíncrona Callback: esta função é invocada quando o SO responde o stat, milhõesde ciclos depois * http://github.com/oturing/nodejs @luciano
  • sigint.js Callback: invocada quando o operador tecla ˆC * http://github.com/oturing/nodejs @luciano
  • sigint2.js O primeiro callback associa um segundo callback ao mesmo evento * http://github.com/oturing/nodejs @luciano
  • sigint3.js O que faz esta chamada? @luciano
  • sigint3.js Ela constrói e retorna uma função sob medida @luciano
  • sigint3.js Variável livre: não é definida no escopo desta função @luciano
  • sigint3.js Closure é um puxadinho do escopo da função @luciano
  • E o que eu ganho com todo este trabalho? @luciano
  • Acessar o cache L1 é... ...como pegar um papel sobre a sua mesa Analogia do Ryan Dahl @luciano
  • Acessar o cache L2 é... ...como pegar um papel em uma gaveta @luciano
  • Acessar a RAM é... ...como pegar um papel em um armário @luciano
  • Acessar a rede é... @luciano
  • Acessar a rede é... @luciano
  • Acessar a rede é... @luciano
  • Acessar a rede é... ...como ir buscar um papel no Japão @luciano
  • Tempos de acesso ciclos de CPU Dados cache L1 3 aproximados cache L2 14 citados por RAM 250 Ryan Dahl* disco 41.000.00 rede 240.000.000* http://www.youtube.com/watch?v=M-sc73Y-zQA @luciano
  • Decifrando o hello world @luciano
  • Decifrando o hello world @luciano
  • Decifrando o hello world @luciano
  • Eco-sistema• Produto experimental, APIs mudando (v. 0.6.x)• Framework Web: Express, comparável a Flask (Python) ou Sinatra (Ruby) • nada tão completo quanto Django ou Rails• Centenas de bibliotecas de terceiros, livres*• Hospedagem especializada • gerenciados: Joyent, Heroku, Nodegrid; VPS etc. * https://github.com/joyent/node/wiki/modules @luciano
  • Cocktails• Mojito• Manhattan• outros drinks...? @luciano
  • Evitando “o pior do JS”• “use strict” sempre, sem medo de ser feliz• CoffeScript, Clojure etc. • no server-side, ninguém liga se você usar outra linguagem, desde que ela gere código JavaScript• ECMAScript 5 • no server-side o ambiente é controlado: o único engine que te interessa é o V8 @luciano
  • Luciano Ramalho luciano@ramalho.org @lucianooficina online:JavaScript modernocom Node.js e testes automatizados * http://pre-node.turing.com.br