Introdução ao Node.js
Apresentação e Exercícios Práticos
Prof. Edgar Eler
Sobre o Node.js
Plataforma construída sobre o motor JavaScript V8
do Google Chrome para construir aplicações de rede
rápidas e escaláveis. Site oficial: nodejs.org
Utiliza o modelo de Programação Orientada a
Eventos, como no JavaScript client-side.
Adota um padrão não obstrutivo de escrever código,
ou seja, você consegue estruturar seu código de
maneira que operações não dependam de nada que
está sendo executado para serem executadas de
forma independente.
Callbacks em Node.js
São funções que serão executadas de modo
assíncrono, ou posteriormente.
A chave para a compreensão de callbacks é perceber
que eles são utilizados sempre que você não sabe
quando alguma operação assíncrona estará completa,
mas você sabe quando se completará - a última linha
da função assíncrona!
Exercícios Práticos
Configurando o Ambiente
● Instale o Node.js: nodejs.org
● Acesse o site NodeSchool: nodeschool.io
● Clique em Tutorials: nodeschool.
io/#workshoppers
● Abra o Terminal (Console, Prompt, Shell, etc...)
● Instale os tutoriais do NodeSchool:
$ npm install -g learnyounode
Iniciando a Prática
● Navegue até a pasta onde deseja criar os códigos
dos exercícios
$ cd /home/edgar/UCL/Node.js/tutoriais
● Abra os exercícios do NodeSchool:
$ learnyounode
● Selecione o exercício desejado, por exemplo:
» HELLO WORLD
● Analise os requisitos de cada exercício. A seguir
serão exibidas as instruções para os 4 primeiros.
Instruções
● Abra um editor de texto, como o Atom (atom.io), e
navegue até a pastados exercícios.
● Crie o arquivo para o exercício 1, com a extensão .
js, por exemplo, ex1.js, e inicie a escrita dos código
JavaScript para a realização do o exercício.
● Para testar a execução de ex1.js, rode:
$ learnyounode run ex1.js
● Ao concluir o exercício, valide seu código:
$ learnyounode verify ex1.js
Instruções
● Caso o exercício esteja correto, o learnyounode
conterá uma mensagem informando o acerto e a
solução oficial do exercício:
✓ Submission results match expected
# PASS Your solution to HELLO WORLD passed!
● Caso o exercício esteja incorreto, a resposta
conterá os detalhes do erro, o local onde foi
encontrado e o texto:
✗ Submission results did not match expected!
# FAIL Your solution to HELLO WORLD didn't
pass. Try again!
Exercício 2
● Escreva um programa que aceite um ou mais
números como argumentos de linhas de comando
e imprima a soma destes números no console
○ Argumentos de linha de comando são
acessíveis pelo objeto global process.
○ O objeto process tem uma propriedade
chamada argv que é um vetor que contém a
linha de comando completa: process.argv
○ Executando node programa.js 1 2 3, retornará
o vetor:
[ 'node', '/pasta/do/programa.js', '1', '2', '3' ]
Exercício 3
● Escreva um programa que use apenas uma
operação síncrona que leia um arquivo e imprima
no console o número de novas linhas que ele
contém.
● Será necessário utilizar o módulo fs, da biblioteca
central do Node. Para carregar este tipo de
módulo, use a seguinte sintaxe:
var fs = require('fs');
● O caminho completo do arquivo será fornecido
como o primeiro argumento de linha de comando
(process.argv[2]).
Exercício 4
● Escreva um programa que use apenas uma
operação asíncrona que leia um arquivo e imprima
no console o número de novas linhas que ele
contém. O caminho completo do arquivo será
fornecido como o primeiro argumento de linha de
comando.
● A solução para este problema é quase a mesma
para o problema anterior, porém você terá de
fazer agora do jeito Node.js: asíncrono.
Exercício 4
● Ao invés de fs.readFileSync() você vai usar fs.
readFile() e ao invés de retornar um valor deste
método você precisa coletar o valor a partir de
uma função callback que você irá passar como
segundo parâmetro.
● Funções callback no Node.js normalmente
possuem a assinatura abaixo:
function callback(err, dados) { /* ... */ }
● Com isso você pode checar se ocorreu um erro por
verificar se o primeiro parâmetro é válido. Caso
não exista erro, você poderá ter seu objeto Buffer
como segundo parâmetro.
Contato: eler@edgar.systems

Mais conteúdo relacionado

PPTX
Node JS - Parte 2
PPTX
Node JS - Parte 1
PPTX
Node JS - Parte 3
PPTX
Testes com javascript
PPTX
Node JS - Parte 4
PPTX
C# 6.0 - DotNetBaixada - Novembro/2015
PDF
Introdução à biblioteca OpenCV
PDF
Python com TDD
Node JS - Parte 2
Node JS - Parte 1
Node JS - Parte 3
Testes com javascript
Node JS - Parte 4
C# 6.0 - DotNetBaixada - Novembro/2015
Introdução à biblioteca OpenCV
Python com TDD

Mais procurados (20)

PPTX
Como tratar múltiplos JSONps com o mesmo callback name? - FloripaJS
PPTX
Aula de Node
PPTX
Introdução ao CMake
PDF
Delphi Conference 2012 - Programação Baseado em Regras com RTTI
PPTX
Aplicando o poder de uma GPU no SQL Server
PPTX
Introdução OpenCV (Pt-Br) com exemplos
PDF
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
PDF
Google App Engine e PHP
PPTX
Node.js
PDF
Delphi Conference 2012 - Controlando a Concorrência em Aplicações Multi-Thread
PDF
Definição de processos
PDF
Iniciando com django
PDF
Oficina shell
PPTX
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
PPTX
Aplicando processamento paralelo em instruções SQL
PDF
Apt_vagrant_chef_olavo_queiroz
PDF
MRTG - SNMP na Prática
PDF
Uma breve introdução ao Terraform
PDF
Aula CRONTAB
Como tratar múltiplos JSONps com o mesmo callback name? - FloripaJS
Aula de Node
Introdução ao CMake
Delphi Conference 2012 - Programação Baseado em Regras com RTTI
Aplicando o poder de uma GPU no SQL Server
Introdução OpenCV (Pt-Br) com exemplos
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
Google App Engine e PHP
Node.js
Delphi Conference 2012 - Controlando a Concorrência em Aplicações Multi-Thread
Definição de processos
Iniciando com django
Oficina shell
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
Aplicando processamento paralelo em instruções SQL
Apt_vagrant_chef_olavo_queiroz
MRTG - SNMP na Prática
Uma breve introdução ao Terraform
Aula CRONTAB
Anúncio

Semelhante a Introdução ao Node.js (20)

PDF
Node js - Javascript Server Side
PDF
Node.JS - Workshop do básico ao avançado
PDF
Programação para Web II: NodeJS
PDF
Minicurso Node.js fullstack IFCE - 2015-11-28
PDF
Curso de Node JS Básico
PPTX
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
PDF
Node.js e Express
PDF
Realtime com node.js e socket.io
ODP
Palestra parse
PDF
Introdução à MEAN Stack
PPTX
Introdução ao Nodejs
PDF
Aula 02 - Ambientação Electron JavaScript.pdf
PPTX
Introdução ao Node.js - FATEC SP
PPTX
NodeJS - Tutorial de forma simples e pratica.
PDF
Node.js, Uma breve introdução
PPTX
Node.js para desenvolvedores .NET
ODP
Conhecendo o Nodejs
PDF
Node.js: serious business
PDF
IBM - Curso Node + Angular - Aula 01
PDF
operadores aritméticos, relacionais e lógicos em javascript
Node js - Javascript Server Side
Node.JS - Workshop do básico ao avançado
Programação para Web II: NodeJS
Minicurso Node.js fullstack IFCE - 2015-11-28
Curso de Node JS Básico
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Node.js e Express
Realtime com node.js e socket.io
Palestra parse
Introdução à MEAN Stack
Introdução ao Nodejs
Aula 02 - Ambientação Electron JavaScript.pdf
Introdução ao Node.js - FATEC SP
NodeJS - Tutorial de forma simples e pratica.
Node.js, Uma breve introdução
Node.js para desenvolvedores .NET
Conhecendo o Nodejs
Node.js: serious business
IBM - Curso Node + Angular - Aula 01
operadores aritméticos, relacionais e lógicos em javascript
Anúncio

Último (12)

PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PDF
Jira Software projetos completos com scrum
PPTX
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
PPTX
Utilizando code blockes por andre backes
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Analise Estatica de Compiladores para criar uma nova LP
PPT
Conceitos básicos de Redes Neurais Artificiais
PDF
Manejo integrado de pragas na cultura do algodão
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Viasol Energia Solar -Soluções para geração e economia de energia
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Jira Software projetos completos com scrum
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
Utilizando code blockes por andre backes
Tipos de servidor em redes de computador.pptx
Analise Estatica de Compiladores para criar uma nova LP
Conceitos básicos de Redes Neurais Artificiais
Manejo integrado de pragas na cultura do algodão
Processos no SAP Extended Warehouse Management, EWM100 Col26

Introdução ao Node.js

  • 1. Introdução ao Node.js Apresentação e Exercícios Práticos Prof. Edgar Eler
  • 2. Sobre o Node.js Plataforma construída sobre o motor JavaScript V8 do Google Chrome para construir aplicações de rede rápidas e escaláveis. Site oficial: nodejs.org Utiliza o modelo de Programação Orientada a Eventos, como no JavaScript client-side. Adota um padrão não obstrutivo de escrever código, ou seja, você consegue estruturar seu código de maneira que operações não dependam de nada que está sendo executado para serem executadas de forma independente.
  • 3. Callbacks em Node.js São funções que serão executadas de modo assíncrono, ou posteriormente. A chave para a compreensão de callbacks é perceber que eles são utilizados sempre que você não sabe quando alguma operação assíncrona estará completa, mas você sabe quando se completará - a última linha da função assíncrona!
  • 5. Configurando o Ambiente ● Instale o Node.js: nodejs.org ● Acesse o site NodeSchool: nodeschool.io ● Clique em Tutorials: nodeschool. io/#workshoppers ● Abra o Terminal (Console, Prompt, Shell, etc...) ● Instale os tutoriais do NodeSchool: $ npm install -g learnyounode
  • 6. Iniciando a Prática ● Navegue até a pasta onde deseja criar os códigos dos exercícios $ cd /home/edgar/UCL/Node.js/tutoriais ● Abra os exercícios do NodeSchool: $ learnyounode ● Selecione o exercício desejado, por exemplo: » HELLO WORLD ● Analise os requisitos de cada exercício. A seguir serão exibidas as instruções para os 4 primeiros.
  • 7. Instruções ● Abra um editor de texto, como o Atom (atom.io), e navegue até a pastados exercícios. ● Crie o arquivo para o exercício 1, com a extensão . js, por exemplo, ex1.js, e inicie a escrita dos código JavaScript para a realização do o exercício. ● Para testar a execução de ex1.js, rode: $ learnyounode run ex1.js ● Ao concluir o exercício, valide seu código: $ learnyounode verify ex1.js
  • 8. Instruções ● Caso o exercício esteja correto, o learnyounode conterá uma mensagem informando o acerto e a solução oficial do exercício: ✓ Submission results match expected # PASS Your solution to HELLO WORLD passed! ● Caso o exercício esteja incorreto, a resposta conterá os detalhes do erro, o local onde foi encontrado e o texto: ✗ Submission results did not match expected! # FAIL Your solution to HELLO WORLD didn't pass. Try again!
  • 9. Exercício 2 ● Escreva um programa que aceite um ou mais números como argumentos de linhas de comando e imprima a soma destes números no console ○ Argumentos de linha de comando são acessíveis pelo objeto global process. ○ O objeto process tem uma propriedade chamada argv que é um vetor que contém a linha de comando completa: process.argv ○ Executando node programa.js 1 2 3, retornará o vetor: [ 'node', '/pasta/do/programa.js', '1', '2', '3' ]
  • 10. Exercício 3 ● Escreva um programa que use apenas uma operação síncrona que leia um arquivo e imprima no console o número de novas linhas que ele contém. ● Será necessário utilizar o módulo fs, da biblioteca central do Node. Para carregar este tipo de módulo, use a seguinte sintaxe: var fs = require('fs'); ● O caminho completo do arquivo será fornecido como o primeiro argumento de linha de comando (process.argv[2]).
  • 11. Exercício 4 ● Escreva um programa que use apenas uma operação asíncrona que leia um arquivo e imprima no console o número de novas linhas que ele contém. O caminho completo do arquivo será fornecido como o primeiro argumento de linha de comando. ● A solução para este problema é quase a mesma para o problema anterior, porém você terá de fazer agora do jeito Node.js: asíncrono.
  • 12. Exercício 4 ● Ao invés de fs.readFileSync() você vai usar fs. readFile() e ao invés de retornar um valor deste método você precisa coletar o valor a partir de uma função callback que você irá passar como segundo parâmetro. ● Funções callback no Node.js normalmente possuem a assinatura abaixo: function callback(err, dados) { /* ... */ } ● Com isso você pode checar se ocorreu um erro por verificar se o primeiro parâmetro é válido. Caso não exista erro, você poderá ter seu objeto Buffer como segundo parâmetro.