SlideShare uma empresa Scribd logo
1 de 20
NodeJS 
RENATO FILHO 
InfoSenac - 2014
NODEJS? WTF? 
Javascript do lado do servidor(server-side).
Mais uma???
O Que é que o NodeJS tem?
•A história das 
“interwebs” para os 
usuários em dois 
capitulos.
A internet de hoje. 
Asíncrona. 
Tempo real.
O Usuário quer tudo e agora!
Gambiarras! 
• Ajax Pooling.
I/O bloqueante 
• Conexões no banco de dados. 
• Leitura ou escrita de arquivos.
I/O Síncrona
I/O Assíncrona com Threads
O “charme” do NodeJS
Threads vs Event Loop 
• Threads escalam em utilização de 
CPU.(Processamento paralelo). 
• Event Loop escala em I/O não 
bloqueante.(single thread).
Criando um servidor HTTP com NodeJS
RESTful API com NodeJS
Realtime com Socket.io
Por que aprender NodeJS? 
• Aprender uma nova tecnologia 
• Aprender mais sobre JS. 
• Criar de aplicações simples até aplicações real-time. 
• Javascript Everywhere para Desenvolvedores 
front-end.
Contato

Mais conteúdo relacionado

Mais procurados

TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....tdc-globalcode
 
Nodejs Intro William Dias
Nodejs Intro William DiasNodejs Intro William Dias
Nodejs Intro William DiasWilliam Dias
 
Executando Tarefas em Background com Webjobs
Executando Tarefas em Background com WebjobsExecutando Tarefas em Background com Webjobs
Executando Tarefas em Background com WebjobsCamila Carrera
 
Security updates por que voce deveria aceitar os updates da sua distro leo...
Security updates  por que voce deveria aceitar os updates da sua distro   leo...Security updates  por que voce deveria aceitar os updates da sua distro   leo...
Security updates por que voce deveria aceitar os updates da sua distro leo...PotiLivre Sobrenome
 
MongoDB: introdução à sua próxima base de dados
MongoDB:  introdução à sua próxima base de dadosMongoDB:  introdução à sua próxima base de dados
MongoDB: introdução à sua próxima base de dadosJordan Kobellarz
 
NPA - NoSQL Persistence API
NPA - NoSQL Persistence APINPA - NoSQL Persistence API
NPA - NoSQL Persistence APIWesley Fuchter
 
Microservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosMicroservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosVinícius Krolow
 

Mais procurados (9)

Apresentação
ApresentaçãoApresentação
Apresentação
 
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
 
Nodejs Intro William Dias
Nodejs Intro William DiasNodejs Intro William Dias
Nodejs Intro William Dias
 
Executando Tarefas em Background com Webjobs
Executando Tarefas em Background com WebjobsExecutando Tarefas em Background com Webjobs
Executando Tarefas em Background com Webjobs
 
Security updates por que voce deveria aceitar os updates da sua distro leo...
Security updates  por que voce deveria aceitar os updates da sua distro   leo...Security updates  por que voce deveria aceitar os updates da sua distro   leo...
Security updates por que voce deveria aceitar os updates da sua distro leo...
 
MongoDB: introdução à sua próxima base de dados
MongoDB:  introdução à sua próxima base de dadosMongoDB:  introdução à sua próxima base de dados
MongoDB: introdução à sua próxima base de dados
 
NPA - NoSQL Persistence API
NPA - NoSQL Persistence APINPA - NoSQL Persistence API
NPA - NoSQL Persistence API
 
Microservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosMicroservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenos
 
Node.js no Pagar.me
Node.js no Pagar.meNode.js no Pagar.me
Node.js no Pagar.me
 

Destaque

ODIG - Javascript, DOM Elements e jQuery
ODIG - Javascript, DOM Elements e jQueryODIG - Javascript, DOM Elements e jQuery
ODIG - Javascript, DOM Elements e jQueryMarketing Digital ODIG
 
Mini Curso - jQuery - FMU
Mini Curso - jQuery - FMUMini Curso - jQuery - FMU
Mini Curso - jQuery - FMUThiago Ericson
 
Jquery: + Produtivo, + Eficiente
Jquery: + Produtivo, + EficienteJquery: + Produtivo, + Eficiente
Jquery: + Produtivo, + EficienteLeon Kulikowski
 
MiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSisMiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSisThiago Miranda
 
jQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicajQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicaVictor Cavalcante
 
performance em jQuery apps
performance em jQuery appsperformance em jQuery apps
performance em jQuery appsDavidson Fellipe
 
Apresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBAApresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBALuciano Borges
 
ASP.NET MVC para desenvolvedores Web Forms (TechEd)
ASP.NET MVC para desenvolvedores Web Forms (TechEd)ASP.NET MVC para desenvolvedores Web Forms (TechEd)
ASP.NET MVC para desenvolvedores Web Forms (TechEd)Giovanni Bassi
 
Continuous delivery with azure app service
Continuous delivery with azure app serviceContinuous delivery with azure app service
Continuous delivery with azure app serviceNabeel Khan
 
Vasopressin dan perawatan intensif
Vasopressin dan perawatan intensifVasopressin dan perawatan intensif
Vasopressin dan perawatan intensifNur Hajriya
 
Puente Pomachaca-Futura Construccion
Puente Pomachaca-Futura ConstruccionPuente Pomachaca-Futura Construccion
Puente Pomachaca-Futura ConstruccionGermán Cueva
 
DiscoverReady I-DECISION Automated Review
DiscoverReady I-DECISION Automated ReviewDiscoverReady I-DECISION Automated Review
DiscoverReady I-DECISION Automated ReviewScott_Woodworth
 
Retórica
RetóricaRetórica
RetóricaJKJampa
 
Formato hoja de_vida_del_alumno
Formato hoja de_vida_del_alumnoFormato hoja de_vida_del_alumno
Formato hoja de_vida_del_alumnodorada-65
 

Destaque (20)

ODIG - Javascript, DOM Elements e jQuery
ODIG - Javascript, DOM Elements e jQueryODIG - Javascript, DOM Elements e jQuery
ODIG - Javascript, DOM Elements e jQuery
 
Mini Curso - jQuery - FMU
Mini Curso - jQuery - FMUMini Curso - jQuery - FMU
Mini Curso - jQuery - FMU
 
Jquery: + Produtivo, + Eficiente
Jquery: + Produtivo, + EficienteJquery: + Produtivo, + Eficiente
Jquery: + Produtivo, + Eficiente
 
MiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSisMiniCurso Jquery - IV SimSis
MiniCurso Jquery - IV SimSis
 
jQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicajQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmica
 
jQuery e ASP.Net mvc2
jQuery e ASP.Net mvc2jQuery e ASP.Net mvc2
jQuery e ASP.Net mvc2
 
jQuery Simplificando o JavaScript
jQuery Simplificando o JavaScriptjQuery Simplificando o JavaScript
jQuery Simplificando o JavaScript
 
performance em jQuery apps
performance em jQuery appsperformance em jQuery apps
performance em jQuery apps
 
Apresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBAApresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBA
 
ASP.NET MVC para desenvolvedores Web Forms (TechEd)
ASP.NET MVC para desenvolvedores Web Forms (TechEd)ASP.NET MVC para desenvolvedores Web Forms (TechEd)
ASP.NET MVC para desenvolvedores Web Forms (TechEd)
 
Continuous delivery with azure app service
Continuous delivery with azure app serviceContinuous delivery with azure app service
Continuous delivery with azure app service
 
Vasopressin dan perawatan intensif
Vasopressin dan perawatan intensifVasopressin dan perawatan intensif
Vasopressin dan perawatan intensif
 
Operaciones resolver problemas con racionales
Operaciones resolver problemas con racionalesOperaciones resolver problemas con racionales
Operaciones resolver problemas con racionales
 
Puente Pomachaca-Futura Construccion
Puente Pomachaca-Futura ConstruccionPuente Pomachaca-Futura Construccion
Puente Pomachaca-Futura Construccion
 
DiscoverReady I-DECISION Automated Review
DiscoverReady I-DECISION Automated ReviewDiscoverReady I-DECISION Automated Review
DiscoverReady I-DECISION Automated Review
 
AG
AGAG
AG
 
Retórica
RetóricaRetórica
Retórica
 
Nap 3° ciclo matematica
Nap 3° ciclo matematicaNap 3° ciclo matematica
Nap 3° ciclo matematica
 
Formato hoja de_vida_del_alumno
Formato hoja de_vida_del_alumnoFormato hoja de_vida_del_alumno
Formato hoja de_vida_del_alumno
 
Ativ4lopurdeslima
Ativ4lopurdeslimaAtiv4lopurdeslima
Ativ4lopurdeslima
 

Semelhante a NodeJS introdução assíncrono I/O não bloqueante

Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarFilipe Falcão
 
MEAN Full Stack JavaScript - TaSafoConf 2015
MEAN Full Stack JavaScript - TaSafoConf 2015MEAN Full Stack JavaScript - TaSafoConf 2015
MEAN Full Stack JavaScript - TaSafoConf 2015Kaio Valente
 
Real time com java e Node.Js
Real time com java e Node.JsReal time com java e Node.Js
Real time com java e Node.JsFabiano Modos
 
Node não é filme de Terror
Node não é filme de TerrorNode não é filme de Terror
Node não é filme de TerrorPaulo Pires
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros PassosJackson F. de A. Mafra
 
Light Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsLight Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsCaio Ribeiro Pereira
 
Introdução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPIntrodução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPArthur Fücher
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.Filipe Morelli
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Emerson Macedo
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...Diego Santos
 
Integração com webservices usando MVC e mágica
Integração com webservices usando MVC e mágicaIntegração com webservices usando MVC e mágica
Integração com webservices usando MVC e mágicaLeocadio Tiné
 

Semelhante a NodeJS introdução assíncrono I/O não bloqueante (20)

Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizar
 
MEAN Full Stack JavaScript - TaSafoConf 2015
MEAN Full Stack JavaScript - TaSafoConf 2015MEAN Full Stack JavaScript - TaSafoConf 2015
MEAN Full Stack JavaScript - TaSafoConf 2015
 
Real time com java e Node.Js
Real time com java e Node.JsReal time com java e Node.Js
Real time com java e Node.Js
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
Node não é filme de Terror
Node não é filme de TerrorNode não é filme de Terror
Node não é filme de Terror
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
 
Light Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsLight Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.js
 
Introdução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPIntrodução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SP
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011
 
Nodejs e Socket.io
Nodejs e Socket.ioNodejs e Socket.io
Nodejs e Socket.io
 
Pouch db tdc2016
Pouch db tdc2016Pouch db tdc2016
Pouch db tdc2016
 
Pouch db tdc2016
Pouch db tdc2016Pouch db tdc2016
Pouch db tdc2016
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
 
Integração com webservices usando MVC e mágica
Integração com webservices usando MVC e mágicaIntegração com webservices usando MVC e mágica
Integração com webservices usando MVC e mágica
 
Node slide
Node slideNode slide
Node slide
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
Phonegap
PhonegapPhonegap
Phonegap
 

Mais de Renato Sousa

Curso Programação Web com Ruby on Rails - Aula 03
Curso Programação Web com Ruby on Rails - Aula 03Curso Programação Web com Ruby on Rails - Aula 03
Curso Programação Web com Ruby on Rails - Aula 03Renato Sousa
 
Curso Programação Web com Ruby on Rails - Aula 01
Curso Programação Web com Ruby on Rails - Aula 01Curso Programação Web com Ruby on Rails - Aula 01
Curso Programação Web com Ruby on Rails - Aula 01Renato Sousa
 
Curso de Android - Aula #01: Introdução ao Android
Curso de Android - Aula #01: Introdução ao AndroidCurso de Android - Aula #01: Introdução ao Android
Curso de Android - Aula #01: Introdução ao AndroidRenato Sousa
 
Curso Java #05 - Heranca, Polimorfismo e Classe abstratas
Curso Java #05 - Heranca, Polimorfismo e Classe abstratasCurso Java #05 - Heranca, Polimorfismo e Classe abstratas
Curso Java #05 - Heranca, Polimorfismo e Classe abstratasRenato Sousa
 
Curso Java #04 - Programação Orientada a Objetos
Curso Java #04 - Programação Orientada a Objetos Curso Java #04 - Programação Orientada a Objetos
Curso Java #04 - Programação Orientada a Objetos Renato Sousa
 
Curso Java #03 - Arrays
Curso Java #03 - ArraysCurso Java #03 - Arrays
Curso Java #03 - ArraysRenato Sousa
 
Programacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaProgramacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaRenato Sousa
 
Curso Java #02 - Variáveis, Tipos e Estruturas de Controle
Curso Java #02 - Variáveis, Tipos e Estruturas de ControleCurso Java #02 - Variáveis, Tipos e Estruturas de Controle
Curso Java #02 - Variáveis, Tipos e Estruturas de ControleRenato Sousa
 
Curso Java #01 - Introdução
Curso Java #01 - IntroduçãoCurso Java #01 - Introdução
Curso Java #01 - IntroduçãoRenato Sousa
 

Mais de Renato Sousa (20)

Curso Programação Web com Ruby on Rails - Aula 03
Curso Programação Web com Ruby on Rails - Aula 03Curso Programação Web com Ruby on Rails - Aula 03
Curso Programação Web com Ruby on Rails - Aula 03
 
Curso Programação Web com Ruby on Rails - Aula 01
Curso Programação Web com Ruby on Rails - Aula 01Curso Programação Web com Ruby on Rails - Aula 01
Curso Programação Web com Ruby on Rails - Aula 01
 
Javascript
JavascriptJavascript
Javascript
 
Devise
DeviseDevise
Devise
 
Virada Geek
Virada GeekVirada Geek
Virada Geek
 
Rails
RailsRails
Rails
 
Aula03
Aula03Aula03
Aula03
 
Aula02
Aula02Aula02
Aula02
 
Git
GitGit
Git
 
Aula00
Aula00Aula00
Aula00
 
PHP - Aula #01
PHP - Aula #01PHP - Aula #01
PHP - Aula #01
 
Curso de Android - Aula #01: Introdução ao Android
Curso de Android - Aula #01: Introdução ao AndroidCurso de Android - Aula #01: Introdução ao Android
Curso de Android - Aula #01: Introdução ao Android
 
Ruby (1)
Ruby (1)Ruby (1)
Ruby (1)
 
Curso Java #05 - Heranca, Polimorfismo e Classe abstratas
Curso Java #05 - Heranca, Polimorfismo e Classe abstratasCurso Java #05 - Heranca, Polimorfismo e Classe abstratas
Curso Java #05 - Heranca, Polimorfismo e Classe abstratas
 
Curso Java #04 - Programação Orientada a Objetos
Curso Java #04 - Programação Orientada a Objetos Curso Java #04 - Programação Orientada a Objetos
Curso Java #04 - Programação Orientada a Objetos
 
Curso Java #03 - Arrays
Curso Java #03 - ArraysCurso Java #03 - Arrays
Curso Java #03 - Arrays
 
Programacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaProgramacao orientada-a-objetos-java
Programacao orientada-a-objetos-java
 
Curso Java #02 - Variáveis, Tipos e Estruturas de Controle
Curso Java #02 - Variáveis, Tipos e Estruturas de ControleCurso Java #02 - Variáveis, Tipos e Estruturas de Controle
Curso Java #02 - Variáveis, Tipos e Estruturas de Controle
 
Curso Java #01 - Introdução
Curso Java #01 - IntroduçãoCurso Java #01 - Introdução
Curso Java #01 - Introdução
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 

NodeJS introdução assíncrono I/O não bloqueante