Olá!!! eu escrevi um livro sobre NodeJS.

capa-livro-node-js

Resenha

O NodeJS é uma poderosa plataforma para construir de forma rápida e fácil aplicações de rede escaláveis. Utiliza um modelo de single thread, faz I/O não bloqueante e por isso trabalha sempre de forma assíncrona.

Construindo aplicações com NodeJS abrange:

  • O que é o NodeJS e o que pode ser feito com essa plataforma.
  • Conceitos de bancos de dados relacionais como modelagem e formas normais.
  • Conceitos de REST e boas práticas para um bom design de API.
  • Como construir, testar e documentar uma API RESTful com NodeJS.

Você aprenderá a construir uma API RESTful funcional, com testes unitários e documentação dos endpoints, que estará pronta para ser publicada seguindo boas práticas e otimizações. Será utilizada uma estrutura robusta, testável e expansível, que poderá servir como base para implementar outras aplicações HTTP com NodeJS.

Novatec

http://novatec.com.br/livros/nodejs/

Evento de lançamento do livro

https://www.facebook.com/events/798912433541444/

Códigos do livro

https://github.com/wbruno/livro-nodejs

Grupo no Google Groups

https://groups.google.com/forum/#!forum/livro-nodejs-wbruno

=)

Introdução – 21 páginas

Instalação e configuração

Programação síncrona e assíncrona

Orientação a eventos

Orientação a objetos

Programação funcional

NPM (Node Package Manager)

Lado bom

Lado ruim

Fork io.js

Gerenciando instalações do NodeJS ou do io.js

Variáveis de ambiente

O console do NodeJS

Node Inspector

Tenha um bom editor de código

Arquivo de preferencies do Sublime Text 3

EditorConfig.org

Opções de IDE(Integrated Development Enviroment)

Plugin para visualização de JSON

JavaScript básico

Variáveis

Comentários

Funções

Objetos

Operações

Controles de fluxo

Laços de repetição

Arrays

Promise

Template strings

Ferramenta de linha de comando – 14 páginas

Executando programas NodeJS

Seu primeiro programa com NodeJS

Arquivo package.json

Scripts do package.json

Node Debug

GruntJS

Arquivo Gruntfile.js

Concatenando arquivos .css

Concatenando arquivos .js

Utilizando o grunt watch

Gulp

O arquivo gulpfile.js

Learn you Node

Criando um chat TCP

Criando um servidor HTTP

Criando novos endereços

O que é REST (Representational State Transfer) – 5 páginas

Exemplos de APIs

Estrutura da requisição

Estrutura da resposta

Restrições do REST

Testando a requisição com curl

Testando a requisição com Postman

Bancos de dados – 7 páginas

MySQL

Relacionamento 1:N

Relacionamento N:N

MongoDB

Inserindo registros

Selecionando resultados

Realizando buscas

Atualizando informações

Excluindo registros

Construindo uma API RESTful com Express – 30 páginas

ExpressJS

Nodemon

Method Override

Body Parser

Middleware

Middlewares da aplicação

Middlewares de terceiros

Middlewares de rota e embutido

Middleware de manipulação de erros

Arquivo app.js

Refatorando o router

Refatorando o server listener

Rotas

Controllers

Models

Banco de dados

Arquitetura das pastas

Express Generator

Mongoose

Promise

Autenticação

Módulo passport

JSON Web Token

Template engine – 10 páginas

Servindo arquivos estáticos

Renderizando informações

Swig

Handlebars

Jade

Testes automáticos – 20 páginas

Mocha

Hooks

JSHint

Testes unitários

Testes funcionais

Istanbul

Mantendo as dependências atualizadas

Deploy em produção – 10 páginas

Healthcheck

Cluster

Recuperando de falhas

Instalando o NodeJS em produção

Configurando o Nginx

Módulo forever

Unix Service

Travis CI

Heroku e MongoLab

Método process.nextTick