Construindo aplicações com NodeJS
Olá!!! eu escrevi um livro sobre NodeJS.
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