SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
No core doEntendendo como a plataforma trabalha
https://github.com/marceloserpa
https://twitter.com/_marceloserpa
https://www.linkedin.com/in/marceloserpa
Olá, sou Marcelo Serpa :)
● Desenvolvedor de software na Ilegra
● Formando no curso de ADS na FTEC
● Apaixonado por desenvolvimento de software
● Além de programação, gosto de card games
O que é NodeJS?
Node.js é uma plataforma construída em cima do motor Javascript do Chrome o
V8. Node.js é orientado a eventos, trabalhando com o modelo de I/O não
bloqueante para construir aplicações leve e eficiente.
Qual seu propósito?
Trazer um modelo mais eficiente para trabalhar com I/O
Modelo multi-thread tradicional
Modelo single-thread
Event loop
Cada processo em Node roda em um única thread.
Event loop sync:
Libs de I/O
● Não é single-thread
● Inicia com pool thread de 4
● Cada lib possui método síncronos também
● Desenvolvido acima do Libuv
I/O não bloqueante exemplo:
I/O bloqueante exemplo:
Chrome's V8 JavaScript engine Asynchronous I/O
Arquitetura
Quando usar
● Alto uso de I/O
● Baixo processamento de CPU
● NoSQL
● Alto processamento de CPU
Quando não usar
Quem esta usando...
● Paypal
● Ebay
● Sony Yahoo
● Amazon
● Netflix
● The New York Times
● Salesforce
● Linkedin
● Uber
Concluindo...
https://github.com/marceloserpa
https://twitter.com/_marceloserpa
https://www.linkedin.com/in/marceloserpa

Mais conteúdo relacionado

Mais procurados

Code Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágilCode Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágilRafael Pinheiro
 
CodeIgniter 4 - Introdução
CodeIgniter 4 - IntroduçãoCodeIgniter 4 - Introdução
CodeIgniter 4 - IntroduçãoRafael Pinheiro
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHPVinícius Krolow
 
Deployment no Azure
Deployment no AzureDeployment no Azure
Deployment no AzureRodrigo Kono
 
Apresentação Introdução Typescript - .Net Caxias do Sul
Apresentação   Introdução Typescript - .Net Caxias do SulApresentação   Introdução Typescript - .Net Caxias do Sul
Apresentação Introdução Typescript - .Net Caxias do SulGlaucia Lemos
 
Node js - O poder do JavaScript do lado do servidor
Node js  - O poder do JavaScript do lado do servidorNode js  - O poder do JavaScript do lado do servidor
Node js - O poder do JavaScript do lado do servidorRomulo Fagundes
 
9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometemFernando Henriques
 
Palestra NativeScript - 2º Meetup DF.js
Palestra NativeScript - 2º Meetup DF.jsPalestra NativeScript - 2º Meetup DF.js
Palestra NativeScript - 2º Meetup DF.jsWendell Adriel
 
A Evolução do Front end
A Evolução do Front endA Evolução do Front end
A Evolução do Front endDouglas Matoso
 
Construindo um Servidor Web com GO
Construindo um Servidor Web com GOConstruindo um Servidor Web com GO
Construindo um Servidor Web com GOBeto Muniz
 
Rest web services com Java
Rest web services com JavaRest web services com Java
Rest web services com JavajesuinoPower
 
Workshop - Introdução a linguagem C#
Workshop - Introdução a linguagem C#Workshop - Introdução a linguagem C#
Workshop - Introdução a linguagem C#Cristiano Cunha
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavajesuinoPower
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?Fabio Janiszevski
 

Mais procurados (20)

Code Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágilCode Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágil
 
Docker postgre
Docker postgreDocker postgre
Docker postgre
 
CodeIgniter 4 - Introdução
CodeIgniter 4 - IntroduçãoCodeIgniter 4 - Introdução
CodeIgniter 4 - Introdução
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHP
 
Deployment no Azure
Deployment no AzureDeployment no Azure
Deployment no Azure
 
Apresentação Introdução Typescript - .Net Caxias do Sul
Apresentação   Introdução Typescript - .Net Caxias do SulApresentação   Introdução Typescript - .Net Caxias do Sul
Apresentação Introdução Typescript - .Net Caxias do Sul
 
Node js - O poder do JavaScript do lado do servidor
Node js  - O poder do JavaScript do lado do servidorNode js  - O poder do JavaScript do lado do servidor
Node js - O poder do JavaScript do lado do servidor
 
9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem
 
Palestra NativeScript - 2º Meetup DF.js
Palestra NativeScript - 2º Meetup DF.jsPalestra NativeScript - 2º Meetup DF.js
Palestra NativeScript - 2º Meetup DF.js
 
JavaScript Moderno
JavaScript ModernoJavaScript Moderno
JavaScript Moderno
 
interativo
interativointerativo
interativo
 
Javafx
JavafxJavafx
Javafx
 
A Evolução do Front end
A Evolução do Front endA Evolução do Front end
A Evolução do Front end
 
Construindo um Servidor Web com GO
Construindo um Servidor Web com GOConstruindo um Servidor Web com GO
Construindo um Servidor Web com GO
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Rest web services com Java
Rest web services com JavaRest web services com Java
Rest web services com Java
 
Workshop - Introdução a linguagem C#
Workshop - Introdução a linguagem C#Workshop - Introdução a linguagem C#
Workshop - Introdução a linguagem C#
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma Java
 
Blazor #SnetTalks3
Blazor  #SnetTalks3Blazor  #SnetTalks3
Blazor #SnetTalks3
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 

Destaque

Conclave on Marketing for Sustainability: Balancing Corporate Goals with Sust...
Conclave on Marketing for Sustainability: Balancing Corporate Goals with Sust...Conclave on Marketing for Sustainability: Balancing Corporate Goals with Sust...
Conclave on Marketing for Sustainability: Balancing Corporate Goals with Sust...UPES Dehradun
 
Flora y fauna
Flora y faunaFlora y fauna
Flora y faunajenafehe
 
OCP Java SE 8 Exam - Sample Questions - Generics and Collections
OCP Java SE 8 Exam - Sample Questions - Generics and CollectionsOCP Java SE 8 Exam - Sample Questions - Generics and Collections
OCP Java SE 8 Exam - Sample Questions - Generics and CollectionsGanesh Samarthyam
 
배민개발학당 8기 Web/API 개발 #1
배민개발학당 8기 Web/API 개발 #1배민개발학당 8기 Web/API 개발 #1
배민개발학당 8기 Web/API 개발 #1Ashal aka JOKER
 
Creating the Digital Lesson Plan: Integrating Web 2.0 & Social Media
Creating the Digital Lesson Plan: Integrating Web 2.0 & Social MediaCreating the Digital Lesson Plan: Integrating Web 2.0 & Social Media
Creating the Digital Lesson Plan: Integrating Web 2.0 & Social MediaMohamed Amin Embi
 
[D2 campus]Key-value store 만들기
[D2 campus]Key-value store 만들기[D2 campus]Key-value store 만들기
[D2 campus]Key-value store 만들기NAVER D2
 
A presentation on Copyright & Copyright Infringement
A presentation on Copyright & Copyright InfringementA presentation on Copyright & Copyright Infringement
A presentation on Copyright & Copyright InfringementAnand Prabhudesai
 
De jeugd van tegenwoordig 2.2
De jeugd van tegenwoordig 2.2De jeugd van tegenwoordig 2.2
De jeugd van tegenwoordig 2.2Concept24
 
Divyasree 77° Place Brochure - Zricks.com
Divyasree 77° Place Brochure - Zricks.comDivyasree 77° Place Brochure - Zricks.com
Divyasree 77° Place Brochure - Zricks.comZricks.com
 
CWRA 2016 Assessing Cumulative Effects of SAGD Operations in the Mackay Water...
CWRA 2016 Assessing Cumulative Effects of SAGD Operations in the Mackay Water...CWRA 2016 Assessing Cumulative Effects of SAGD Operations in the Mackay Water...
CWRA 2016 Assessing Cumulative Effects of SAGD Operations in the Mackay Water...Dirk Kassenaar M.Sc. P.Eng.
 
Assessing Cumulative Effects with Integrated Modelling
Assessing Cumulative Effects with Integrated ModellingAssessing Cumulative Effects with Integrated Modelling
Assessing Cumulative Effects with Integrated ModellingDirk Kassenaar M.Sc. P.Eng.
 
Integrated Modelling as a Tool for Assessing Groundwater Sustainability under...
Integrated Modelling as a Tool for Assessing Groundwater Sustainability under...Integrated Modelling as a Tool for Assessing Groundwater Sustainability under...
Integrated Modelling as a Tool for Assessing Groundwater Sustainability under...Dirk Kassenaar M.Sc. P.Eng.
 
Integrated Modelling of Groundwater Interaction with Channels, Wetlands and L...
Integrated Modelling of Groundwater Interaction with Channels, Wetlands and L...Integrated Modelling of Groundwater Interaction with Channels, Wetlands and L...
Integrated Modelling of Groundwater Interaction with Channels, Wetlands and L...Dirk Kassenaar M.Sc. P.Eng.
 

Destaque (18)

Conclave on Marketing for Sustainability: Balancing Corporate Goals with Sust...
Conclave on Marketing for Sustainability: Balancing Corporate Goals with Sust...Conclave on Marketing for Sustainability: Balancing Corporate Goals with Sust...
Conclave on Marketing for Sustainability: Balancing Corporate Goals with Sust...
 
Flora y fauna
Flora y faunaFlora y fauna
Flora y fauna
 
hibernate with JPA
hibernate with JPAhibernate with JPA
hibernate with JPA
 
OCP Java SE 8 Exam - Sample Questions - Generics and Collections
OCP Java SE 8 Exam - Sample Questions - Generics and CollectionsOCP Java SE 8 Exam - Sample Questions - Generics and Collections
OCP Java SE 8 Exam - Sample Questions - Generics and Collections
 
배민개발학당 8기 Web/API 개발 #1
배민개발학당 8기 Web/API 개발 #1배민개발학당 8기 Web/API 개발 #1
배민개발학당 8기 Web/API 개발 #1
 
Creating the Digital Lesson Plan: Integrating Web 2.0 & Social Media
Creating the Digital Lesson Plan: Integrating Web 2.0 & Social MediaCreating the Digital Lesson Plan: Integrating Web 2.0 & Social Media
Creating the Digital Lesson Plan: Integrating Web 2.0 & Social Media
 
[D2 campus]Key-value store 만들기
[D2 campus]Key-value store 만들기[D2 campus]Key-value store 만들기
[D2 campus]Key-value store 만들기
 
Ppt on corbet
Ppt on corbetPpt on corbet
Ppt on corbet
 
K to 12 TLE Curriculum Guide for Plumbing
K to 12 TLE Curriculum Guide for PlumbingK to 12 TLE Curriculum Guide for Plumbing
K to 12 TLE Curriculum Guide for Plumbing
 
A presentation on Copyright & Copyright Infringement
A presentation on Copyright & Copyright InfringementA presentation on Copyright & Copyright Infringement
A presentation on Copyright & Copyright Infringement
 
Non ferrous metal
Non ferrous metalNon ferrous metal
Non ferrous metal
 
De jeugd van tegenwoordig 2.2
De jeugd van tegenwoordig 2.2De jeugd van tegenwoordig 2.2
De jeugd van tegenwoordig 2.2
 
Divyasree 77° Place Brochure - Zricks.com
Divyasree 77° Place Brochure - Zricks.comDivyasree 77° Place Brochure - Zricks.com
Divyasree 77° Place Brochure - Zricks.com
 
CWRA 2016 Assessing Cumulative Effects of SAGD Operations in the Mackay Water...
CWRA 2016 Assessing Cumulative Effects of SAGD Operations in the Mackay Water...CWRA 2016 Assessing Cumulative Effects of SAGD Operations in the Mackay Water...
CWRA 2016 Assessing Cumulative Effects of SAGD Operations in the Mackay Water...
 
Assessing Cumulative Effects with Integrated Modelling
Assessing Cumulative Effects with Integrated ModellingAssessing Cumulative Effects with Integrated Modelling
Assessing Cumulative Effects with Integrated Modelling
 
Watertech Booth Slide 2013
Watertech Booth Slide 2013Watertech Booth Slide 2013
Watertech Booth Slide 2013
 
Integrated Modelling as a Tool for Assessing Groundwater Sustainability under...
Integrated Modelling as a Tool for Assessing Groundwater Sustainability under...Integrated Modelling as a Tool for Assessing Groundwater Sustainability under...
Integrated Modelling as a Tool for Assessing Groundwater Sustainability under...
 
Integrated Modelling of Groundwater Interaction with Channels, Wetlands and L...
Integrated Modelling of Groundwater Interaction with Channels, Wetlands and L...Integrated Modelling of Groundwater Interaction with Channels, Wetlands and L...
Integrated Modelling of Groundwater Interaction with Channels, Wetlands and L...
 

Semelhante a No core do node js - entendendo como a plataforma trabalha

Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoEduardo Bohrer
 
Zabbix, Grafana e os conteineres Docker
Zabbix, Grafana e os conteineres DockerZabbix, Grafana e os conteineres Docker
Zabbix, Grafana e os conteineres DockerAécio Pires
 
Reuso De Código Com Rails
Reuso De Código Com RailsReuso De Código Com Rails
Reuso De Código Com RailsRodrigo Urubatan
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal EngineAdolfo Neto
 
Apresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaApresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaFrederico Maia Arantes
 
Trabalhando de forma profissional com silex
Trabalhando de forma profissional com silexTrabalhando de forma profissional com silex
Trabalhando de forma profissional com silexMichael Douglas
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Durotdc-globalcode
 
Por que devo aprender JavaScript?
Por que devo aprender JavaScript?Por que devo aprender JavaScript?
Por que devo aprender JavaScript?Breno Alves
 
Palestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorPalestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorDaniel Brandão
 
NodeJS Under the Hood - Concurrency and Multithreading
NodeJS Under the Hood - Concurrency and MultithreadingNodeJS Under the Hood - Concurrency and Multithreading
NodeJS Under the Hood - Concurrency and MultithreadingRhuan Karlus Silva
 
MVP - The fast and the sujous - CEUMA - Efrem Filho - Product Camp 2017
MVP - The fast and the sujous - CEUMA - Efrem Filho - Product Camp 2017MVP - The fast and the sujous - CEUMA - Efrem Filho - Product Camp 2017
MVP - The fast and the sujous - CEUMA - Efrem Filho - Product Camp 2017Product Camp Brasil
 
MVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFxMVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFxDouglas Aguiar
 
Contribuindo para a comunidade Elixir
Contribuindo para a comunidade ElixirContribuindo para a comunidade Elixir
Contribuindo para a comunidade ElixirKelvin Stinghen
 
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
 

Semelhante a No core do node js - entendendo como a plataforma trabalha (20)

Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
Zabbix, Grafana e os conteineres Docker
Zabbix, Grafana e os conteineres DockerZabbix, Grafana e os conteineres Docker
Zabbix, Grafana e os conteineres Docker
 
Reuso De Código Com Rails
Reuso De Código Com RailsReuso De Código Com Rails
Reuso De Código Com Rails
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Desenvolvendo com IONIC
Desenvolvendo com IONICDesenvolvendo com IONIC
Desenvolvendo com IONIC
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal Engine
 
Apresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaApresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - Goiânia
 
Trabalhando de forma profissional com silex
Trabalhando de forma profissional com silexTrabalhando de forma profissional com silex
Trabalhando de forma profissional com silex
 
PHP: Além do sitezinho
PHP: Além do sitezinhoPHP: Além do sitezinho
PHP: Além do sitezinho
 
Machine Learning Black Boxes
Machine Learning Black BoxesMachine Learning Black Boxes
Machine Learning Black Boxes
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
 
Por que devo aprender JavaScript?
Por que devo aprender JavaScript?Por que devo aprender JavaScript?
Por que devo aprender JavaScript?
 
Palestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorPalestra - Profissão: Desenvolvedor
Palestra - Profissão: Desenvolvedor
 
NodeJS Under the Hood - Concurrency and Multithreading
NodeJS Under the Hood - Concurrency and MultithreadingNodeJS Under the Hood - Concurrency and Multithreading
NodeJS Under the Hood - Concurrency and Multithreading
 
MVP - The fast and the sujous - CEUMA - Efrem Filho - Product Camp 2017
MVP - The fast and the sujous - CEUMA - Efrem Filho - Product Camp 2017MVP - The fast and the sujous - CEUMA - Efrem Filho - Product Camp 2017
MVP - The fast and the sujous - CEUMA - Efrem Filho - Product Camp 2017
 
MVP - the fast and the sujous
MVP - the fast and the sujous  MVP - the fast and the sujous
MVP - the fast and the sujous
 
MVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFxMVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFx
 
Contribuindo para a comunidade Elixir
Contribuindo para a comunidade ElixirContribuindo para a comunidade Elixir
Contribuindo para a comunidade Elixir
 
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
 

Mais de Marcelo Serpa

Mais de Marcelo Serpa (13)

AWS Organizations
AWS OrganizationsAWS Organizations
AWS Organizations
 
Web 3.0 - The Future of Web
Web 3.0 - The Future of WebWeb 3.0 - The Future of Web
Web 3.0 - The Future of Web
 
Frontend Track NodeJS
Frontend Track NodeJSFrontend Track NodeJS
Frontend Track NodeJS
 
Netty training
Netty trainingNetty training
Netty training
 
Terraform
TerraformTerraform
Terraform
 
Cqrs
CqrsCqrs
Cqrs
 
Microservices
MicroservicesMicroservices
Microservices
 
Caching
CachingCaching
Caching
 
Defenda seus consumidores
Defenda seus consumidoresDefenda seus consumidores
Defenda seus consumidores
 
Service discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring CloudService discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring Cloud
 
Acessando apis com feign e hystrix
Acessando apis com feign e hystrixAcessando apis com feign e hystrix
Acessando apis com feign e hystrix
 
Componentizacao com ReactJs
Componentizacao com ReactJsComponentizacao com ReactJs
Componentizacao com ReactJs
 
Clean code
Clean codeClean code
Clean code
 

No core do node js - entendendo como a plataforma trabalha