SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
O que é Node.js
• É uma plataforma que interpreta código JavaScript em tempo de
execução no lado do servidor.
• Orientado a eventos
• Usa um modelo assíncrono de I/O não bloqueante
• Multi-plataforma
• Open Source
Claudiney Junior
Cloud Application Developer @ IBM
Community Manager @ CaquiCoders
Community Manager @ GDG Mogi das Cruzes
Community Manager @ IBM Santander
Community
IBM Recognized Speaker/ Presenter
Certificação em Agile, Design Thinking,
Blockchain e Computação Cognitiva
Nerd =)
Como será o curso ?
• 8 dias de treinamento sendo :
• 6 dias de aulas com exercícios.
• 3 dias em NODE
• 3 dias em Angular
• 2 dias de desenvolvimento de um projeto.
• Node + Angular
O que é Node.js – Server-Side
Javascript
• Utiliza a engine V8 do Google Chrome
• A V8 é uma engine OpenSource criada pelo Google para o
navegador Google Chrome
• A primeira versão da V8 foi lançada juntamente como Chrome
em Setembro de 2008
• Existem 3 conceitos chave para a performance da V8
• Fast property access
• Dynamic Machine code generation
• Efficient Garbage Collection
O que é Node.js – Orientado a
eventos
O que é Node.js – Multi-plataforma
Node.js – Instalação
https://nodejs.org/
Node.js – NPM
O que é:
• Node Package Manager
• Contém milhares de pacotes
• Um pacote é um conjunto de arquivos necessários para um
módulo
• Módulos são bibliotecas JavaScript que você pode usar em seu
projeto
Node.js – Hello World!
Node.js – Processamento Síncrono
PROBLEMA:
• Processamento síncrono paralisa o processamento enquanto o
processo realiza uma operação de I/O.
O que é Node.js – Síncrono - I/O
bloqueante
PROCESSO A
ESPERA ENQUANTO
CONSULTA O BANCO
PROCESSO A PROCESSO B
Node.js – Processamento Síncrono
• Se há um grande número de requisições que fazem uso de I/O o
processamento ficará ocioso por grande parte do tempo.
• As requisições levarão mais tempo para serem atendidas, os
usuários reclamarão!
• SHUT UP AND TAKE MY MONEY: Vai ter que investir em hardware
para solucionar isso.
O que é Node.js – Assíncrono I/O não
bloqueante
PROCESSO A PROCESSO B PROCESSO A
CONSULTA AO BANCO
Node.js
Teste de
performance
Node.js – Callback Functions
• É uma função passada a um processo assíncrono que deve ser
chamada quando este processo estiver completo.
• É uma função passada como parâmetro a outra função no JavaScript
• Convenção:
• Uma função de callback deve ser o último parâmetro passado a uma função
• Sempre deve esperar parâmetros da seguinte maneira
(error, … otherParameters)
Node.js – Promises
• É um objeto usado para processamento assíncrono. Representa um
valor que pode estar disponível agora, no futuro ou nunca.
• Estados possíveis das promises:
• pending - Aguardando uma resposta
• fulfilled - Sucesso na operação, a promessa foi cumprida com sucesso
• rejected - Houve um problema e a promessa foi rejeitada (falha)
• settled - Já foi rejeitada ou realizada.
Node.js – Async Await
• É um operador usado para tratar Promises. (syntax sugar)
• Só pode ser usada dentro de uma async function
• Deixa o código assíncrono com a sintaxe mais parecida da de código
síncrono.
• Tratamento de erros é feito por try/catch, fazendocom que
possamos tratar erros de código síncrono e assíncrono de uma só
vez
Node.js –
Quiz
• Qual é o output?
• O que é NPM e qual sua importância?
• Explique o que é o P da sigla NPM
Node.js – Para amanhã
Pesquisem sobre:
•Protocolo HTTP
•Verbos
•Códigos de erro
Boa Noite!

Mais conteúdo relacionado

Semelhante a IBM - Curso Node + Angular - Aula 01

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
 
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
 
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
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsRafael Salerno de Oliveira
 
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...E-Commerce Brasil
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosRafael Chaves
 
Integração Contínua com Hudson
Integração Contínua com HudsonIntegração Contínua com Hudson
Integração Contínua com HudsonLuis Reis
 
BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIAlvaro Viebrantz
 
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
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosThiago Soares
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Igor Abade
 
Java one
Java oneJava one
Java oneIsmael
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAmazon Web Services LATAM
 
Conhecendo o Nodejs
Conhecendo o NodejsConhecendo o Nodejs
Conhecendo o NodejsCaio Cutrim
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122Bruno Souza
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperCesar Romero
 

Semelhante a IBM - Curso Node + Angular - Aula 01 (20)

Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 
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
 
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
 
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.
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOpsComo automatizar Sistemas Legados utilizando ferramentas de DevOps
Como automatizar Sistemas Legados utilizando ferramentas de DevOps
 
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin -...
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutos
 
Integração Contínua com Hudson
Integração Contínua com HudsonIntegração Contínua com Hudson
Integração Contínua com Hudson
 
BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage API
 
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
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
Java one
Java oneJava one
Java one
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
 
Meteor - TechParty 2015
Meteor - TechParty 2015Meteor - TechParty 2015
Meteor - TechParty 2015
 
Conhecendo o Nodejs
Conhecendo o NodejsConhecendo o Nodejs
Conhecendo o Nodejs
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack Developer
 
JEE nas nuvens: uma introdução ao openshift
JEE nas nuvens:  uma introdução ao openshiftJEE nas nuvens:  uma introdução ao openshift
JEE nas nuvens: uma introdução ao openshift
 

IBM - Curso Node + Angular - Aula 01

  • 1.
  • 2. O que é Node.js • É uma plataforma que interpreta código JavaScript em tempo de execução no lado do servidor. • Orientado a eventos • Usa um modelo assíncrono de I/O não bloqueante • Multi-plataforma • Open Source
  • 3. Claudiney Junior Cloud Application Developer @ IBM Community Manager @ CaquiCoders Community Manager @ GDG Mogi das Cruzes Community Manager @ IBM Santander Community IBM Recognized Speaker/ Presenter Certificação em Agile, Design Thinking, Blockchain e Computação Cognitiva Nerd =)
  • 4. Como será o curso ? • 8 dias de treinamento sendo : • 6 dias de aulas com exercícios. • 3 dias em NODE • 3 dias em Angular • 2 dias de desenvolvimento de um projeto. • Node + Angular
  • 5. O que é Node.js – Server-Side Javascript • Utiliza a engine V8 do Google Chrome • A V8 é uma engine OpenSource criada pelo Google para o navegador Google Chrome • A primeira versão da V8 foi lançada juntamente como Chrome em Setembro de 2008 • Existem 3 conceitos chave para a performance da V8 • Fast property access • Dynamic Machine code generation • Efficient Garbage Collection
  • 6. O que é Node.js – Orientado a eventos
  • 7. O que é Node.js – Multi-plataforma
  • 8.
  • 10. Node.js – NPM O que é: • Node Package Manager • Contém milhares de pacotes • Um pacote é um conjunto de arquivos necessários para um módulo • Módulos são bibliotecas JavaScript que você pode usar em seu projeto
  • 12. Node.js – Processamento Síncrono PROBLEMA: • Processamento síncrono paralisa o processamento enquanto o processo realiza uma operação de I/O.
  • 13. O que é Node.js – Síncrono - I/O bloqueante PROCESSO A ESPERA ENQUANTO CONSULTA O BANCO PROCESSO A PROCESSO B
  • 14. Node.js – Processamento Síncrono • Se há um grande número de requisições que fazem uso de I/O o processamento ficará ocioso por grande parte do tempo. • As requisições levarão mais tempo para serem atendidas, os usuários reclamarão! • SHUT UP AND TAKE MY MONEY: Vai ter que investir em hardware para solucionar isso.
  • 15.
  • 16. O que é Node.js – Assíncrono I/O não bloqueante PROCESSO A PROCESSO B PROCESSO A CONSULTA AO BANCO
  • 18.
  • 19. Node.js – Callback Functions • É uma função passada a um processo assíncrono que deve ser chamada quando este processo estiver completo. • É uma função passada como parâmetro a outra função no JavaScript • Convenção: • Uma função de callback deve ser o último parâmetro passado a uma função • Sempre deve esperar parâmetros da seguinte maneira (error, … otherParameters)
  • 20.
  • 21. Node.js – Promises • É um objeto usado para processamento assíncrono. Representa um valor que pode estar disponível agora, no futuro ou nunca. • Estados possíveis das promises: • pending - Aguardando uma resposta • fulfilled - Sucesso na operação, a promessa foi cumprida com sucesso • rejected - Houve um problema e a promessa foi rejeitada (falha) • settled - Já foi rejeitada ou realizada.
  • 22. Node.js – Async Await • É um operador usado para tratar Promises. (syntax sugar) • Só pode ser usada dentro de uma async function • Deixa o código assíncrono com a sintaxe mais parecida da de código síncrono. • Tratamento de erros é feito por try/catch, fazendocom que possamos tratar erros de código síncrono e assíncrono de uma só vez
  • 23. Node.js – Quiz • Qual é o output? • O que é NPM e qual sua importância? • Explique o que é o P da sigla NPM
  • 24. Node.js – Para amanhã Pesquisem sobre: •Protocolo HTTP •Verbos •Códigos de erro