
Esta aula fala sobre o conceito que envolve o desenvolvimento com node.js bem como as vantagens e diferenciais da tecnologia nos dias atuais. É uma aula introdutória e utiliza de slides no vídeo com alguns tópicos para um melhor entendimento do que é o node.js.
Os slides utilizados no vídeo estão disponíveis para download.
A Aula aborda o desenvolvimento do node.js em ambiente Linux. Nela nós podemos ver como o site do node.js nos instrui na instalação do node.js.
Para aqueles alunos que desenvolvem aplicações em ambiente windows, disponibilizamos esta aula para instruí-los a ter o ambiente do node.js instalado e rodando normalmente em sua máquina. Afinal, node é multiplataforma, roda facilmente em qualquer sistema operacional.
Use o poderoso gerenciador de pacote (NPM) para iniciar um projeto. Nesta aula abordamos como iniciar um projeto e como rodar arquivos js dentro do ambiente do node.js.
Utilizaremos o poderoso módulo de http nativo do node.js para desenvolver para web. Afinal, não há como desenvolver para a web sem o http que é um protocolo de transferência de hipertexto. Aqui aprendemos como trabalhar com requisições e respostas bem como imprimir resultados em texto plano e também em html.
Nesta aula veremos como utilizar o file system (fs) do Node.js para escrever, ler e listar aquivos de um diretório. Uma das vantagens do node.js é a facilidade para lidar com arquivos, este conhecimento é essencial para quando lidarmos com ORM's como o Sequelize , por exemplo. Neste curso não abordaremos a utilização do Sequelize, porém você já estará familiarizado com a manipulação de arquivos.
Aprenda a separar funcionalidades da sua aplicação, criar seus próprios módulos e utilizá-los dentro da sua estrutura no node.
Nesta aula a abordagem é voltada a instalação e remoção de pacotes com o gerenciador de pacotes chamado npm. Aqui você aprenderá como configurar dependências com o npm, utilizar estas dependências somente em ambientes de desenvolvimento e também salvar a referência de dependências no seu package.json.
Nesta aula há uma breve explicação sobre o que é o express e também nela abordamos a instalação do express com o npm, bem como carregamos o express em nosso projeto.
Nesta aula é abordado o assunto de rotas. Aqui aprendemos a usar os verbos http corretamente no framework express.
Aqui aprendemos a lidar com o Request no ambiente de desenvolvimento do Node.js com o Express. Não há como desenvolver para a web sem as requisições (request). Aprenda a dominar este tópico dentro do Express.
Toda aplicação web devolve respostas resultantes de requisições. Nesta aula vamos abordar como trabalhar com diferentes tipos de respostas com o Express.
Muitas vezes antes de efetuarmos requisições em uma aplicação web, precisamos tomar determinadas ações e executar determinadas tarefas em nosso sistema. Nesta aula você aprenderá como utilizar os middlewares do Express para lidar com esta necessidade.
Nesta aula aprenderemos como identificar e capturar erros no Node.js. É muito importante no fluxo de execução da sua aplicação poder identificar quando os erros ocorrem e tomar decisões relacionadas a eles.
Nesta aula abordaremos como utilizar linguagem de template chamado PUG (antigo Jade). Com esta engine conseguimos organizar melhor a parte do front-end de nossa aplicação. Bem como separá-la em uma camada à parte na nossa aplicação.
Nesta aula sobre carregamento de assets você aprenderá a carregar seus css's , imagens e scripts javascript na sua aplicação de forma dinâmica.
Aqui veremos um pouco mais a fundo como utilizar o pug dentro da estrutura do nodejs bem como utilizar bootstrap nas nossas views. Com o nodejs, pug e bootstrap iremos criar um navbar de navegação no nosso exemplo.
Nesta aula veremos como criar um formulário utilizando o pug e o bootstrap. Posteriormente este formulário será usado em nosso exemplo de crud.
Nesta criaremos um formulário de listagem com o pug e o bootstrap. Posteriormente este formulário será utilizado no nosso crud.
Nesta aula o ensino é voltado a instalação do mysql client no Linux. Para consumir o Mysql Server precisamos ter o Mysql Client na nossa máquina.
Nesta aula utilizaremos um servidor Mysql no Docker. Pois com o docker trabalhamos com conceito de container, muito semelhante ao conceito de virtualização. Assim nosso client local se conectará a um container.
Nesta aula instalaremos o mysql em ambiente windows para que possamos conectar o node.js ao mesmo.
Nesta aula abordaremos como utilizar o sequelize com o node.js. Sequelize é um ORM que trabalha com bancos de dados relacionais. Nesta aula aprenderemos a configurá-lo no nosso ambiente.
Para aqueles que estão estudando em ambiente Windows. Mostramos como conectar-se ao Mysql com Sequelize em ambiente Windows.
Nesta aula criaremos uma representação a entidade client pelo Sequelize. Como trabalharemos com um crud de clientes é imprescindível que criar esta representação.
Nesta aula abordaremos como podemos inserir dados no Mysql por meio no sequelize.
Nesta aula aprenderemos como alterar dados na base Mysql com o Sequelize.
Nesta aula aprenderemos como excluir registros do Mysql utilizando o poderoso ORM Sequelize.
Nesta aula aprenderemos a consultar dados do Mysql, bem como filtrar uma pesquisa com o Sequelize.
Nesta aula veremos como listar os clientes que já foram cadastrados em nossa base de dados de forma dinâmica.
Nesta aula vamos começar a implementar a inserção de clientes na aplicação de forma dinâmica. Aplicando assim, os conhecimentos adquiridos nas seções anteriores. Nesta aula utilizaremos mixins do Pug para separar o formulário , pois este será usado tanto na inserção quanto na alteração de dados.
Nesta aula implementaremos a parte back-end do nosso cadastro de novos clientes.
Nesta aula implementaremos na aplicação do curso a alteração de dados de Clientes.
Nesta aula implementaremos no nosso crud o Delete de Clientes. Nele utilizaremos o methodoverride para podermos deletar clientes pela aplicação web. Nesta aula finalizamos nossa iniciação ao node.js.
Ops! Esquecemos de confirmar com o usuário se ele realmente deseja deletar este cliente. Fizemos este pequeno upgrade no nosso recurso de deletar o cliente.
Esta aula tem como objetivo refatorarmos o mixin de formulário eliminando assim a duplicação de código no nosso formulário
Esta aula tem como objetivo deixar a parte de retorno de mensagens um pouco mais automatizada e com menos código.
A maioria dos alunos que entraram em contato relatando alguma dificuldade com instalação ou load de algum módulo do NodeJs usam Windows. Sendo assim, para me identificar melhor com os alunos vamos configurar um ambiente minimamente decente no windows utilizando Linux embarcado com WSL 2.
Nesta aula efetuamos a instalação do docker na nossa distribuição do ubuntu dentro do wsl2. Tivemos que abortar o uso da primeira distro do ubuntu instalada para instalar a versão 20.04 LTS. É bom que estes problemas aconteçam, pois são muito reais no dia a dia de um dev.
Uma abordagem conceitual sobre o que é o docker e como ele funciona.
Nesta aula faremos nossas primeiras interações com containers baseados na distribuição Ubuntu.
Nesta aula veremos com expor portas e ter um servidor web rodando em um container.
Nesta aprenderemos como editar arquivos dentro de containers com acesso interativo.
Nesta Aula aprenderemos a montar volumes do docker de forma que nossas edições de arquivos não sejam perdidas.
Nesta aula estudaremos um pouco mais sobre imagens, suas tags e versões.
Esta aula é muito importante para entendermos a importância dos comandos WORKDIR, COPY, ENTRYPOINT e CMD no nosso Dockerfile
Esta aula expõe um importantíssimo recurso do docker que é o network. Com o docker conseguimos criar vários tipos de redes e utilizar de seus recursos para o desenvolvimento de nossas soluções.
Nesta aula faremos na prática a conexão entre um container ubuntu e mysql. Nosso container do ubuntu irá consumir a base de dados que está no container mysql. Todos estes conceitos tem a finalidade de adquirirmos conhecimentos necessários para termos nosso ambiente no docker.
Nesta veremos como fazer com que containers acessem recursos nativos de nossa máquina.
Nesta aula criaremos nossa primeira aplicação nodejs em containers.
Nesta aula criaremos uma imagem da nossa aplicação NodeJS com Docker e deixaremos este ambiente um pouco mais automatizado.
Nesta aula utilizaremos este complemento poderoso para configuração de ambientes. Se trata do docker compose.
Nesta aula configuraremos uma aplicação nodejs utilizando docker-compose e dockerfile juntamente. Esta é a forma mais eficaz para configurarmos ambientes com o Docker.
Nesta subiremos um serviço de banco de dados Mysql utilizando os conceitos aprendidos até aqui sobre docker compose.
Nesta Aula aprenderemos a rodar uma aplicação NodeJS em um container Docker utilizando o docker compose.
Nesta aula aprenderemos a conectar os containers NodeJS com o Mysql utilizando Docker Compose.
Na última nós fizemos com que o container do node se conectasse a um banco de dados que está no outro container. Porém, fizemos isso sem controlar as dependências entre estes containers. Nesta aula veremos uma forma de fazer com que o container de aplicação dependa e espere pelo container de banco de dados, visto que a premissa básica para a aplicação rode é que o container de banco esteja funcionando e servindo a aplicação.
Olá! Nesta aula já estamos praticamente concluindo este módulo de docker. Finalmente vamos fazer nosso projeto de crud Rodar em ambiente containirizado com docker. Nos próximos módulos vamos um pouco além do crud transformando nosso projeto em um sistema com mais recursos.
Olá nesta aula, faremos um alteração na configuração do nosso projeto com Docker. Iremos configurar um proxy reverso utilizando Nginx. Assim o Nginx vai servir nosso serviço de aplicação node.
Nesta aula daremos continuidade ao projeto que deixará de ser um simples crud e passará a ser um sistema de propostas. Além do crud de Clientes que já criamos anteriormente, também faremos o cadastro de usuários, de categorias, de produtos e por fim a proposta. Tudo isso na prática explorando mais recursos do sequelize.
Nesta aula instalaremos algumas extensões importantes do node e criar a nossa entidade de usuário.
Nesta Aula faremos o formulário de cadastro de novos usuários utilizando os recursos de mixins do pug que foram aprendidos em módulos anteriores.
O ES6 (ECMAScript 2015) é uma grande atualização da linguagem JavaScript que trouxe recursos modernos para tornar o código mais simples, organizado e poderoso. Ele introduziu novas formas de declarar variáveis com let e const, funções mais concisas com arrow functions, além de recursos como template literals, destructuring, classes, módulos e promessas. Essas novidades facilitam a escrita de código mais legível, reutilizável e próximo de linguagens modernas usadas no back‑end. Também melhoram a forma de lidar com coleções de dados por meio de novas APIs em arrays, maps e sets. Em resumo, o ES6 é o marco que transformou o JavaScript em uma linguagem mais robusta para aplicações web complexas tanto no front‑end quanto no back‑end.
Nesta aula o aluno vai entender o que são as declarações let e const introduzidas no ES6, por que elas surgiram e como substituem o uso tradicional de var no JavaScript. A aula começa com um contexto rápido sobre problemas comuns com var (escopo confuso e redeclarações) e, em seguida, apresenta let como uma forma de declarar variáveis com escopo de bloco, que podem ter seu valor alterado, mas não podem ser redeclaradas no mesmo escopo.
Na sequência, a aula introduz const como a opção para valores que não devem ser reatribuídos, também com escopo de bloco, explicando a diferença entre “não poder reatribuir a variável” e ainda poder modificar o conteúdo de objetos e arrays referenciados por ela. Ao longo da explicação, o instrutor demonstra exemplos práticos em código, compara lado a lado var, let e const, e mostra casos reais de uso (como contadores com let e constantes de configuração com const).
Por fim, a aula reforça boas práticas modernas, como usar const por padrão e let quando for realmente necessário mudar o valor, além de destacar por que se deve evitar var em código novo. Tudo é apresentado com exemplos simples, comentários no código e pequenas atividades guiadas para que o aluno pratique e fixe a diferença entre as duas palavras‑chave.
Arrow Functions é um recurso que foi adicionado ao javascript com o ES6 (ECMAScript 6) , este é um recurso do javascript moderno que provê um modo mais legível, simples e sucinto para declaração de functions em Javascript.
Método filter de arrays em javascript existe desde a versão do ES5 (ECMAScript 5) , ou seja, desde 2009. É um método que provê uma forma sucinta e simples de filtrar arrays, combinado com arrow functions, se torna uma forma poderosa de filtrar valores em arrays.
O método map foi adicionado ao Javascript juntamente com filter e reduce em 2009 na versão ES5 do JS. Ele é muito útil para iteração de coleções de dados em javascript. Com ele podemos iterar determinadas estruturas de dados de forma mais sucinta, simples e legível.
O reduce foi adicionado a linguagem javascript em meados de 2009 na versão ES5 do ECMAScript. Ele é muito útil quando queremos simplificar operações que reduzem dados presentes em coleções de dados em um único valor.
Template Literals faz parte do ES6. É uma feature do javascript que permite simplificação de concatenação de variáveis a valores string, permite simplificação de print de string multi line bem como possibilidade uso de expressões dentro de stirngs .
Destructuring foi acrescentado ao javascript no ES6 de 2015. Destructuring é muito útil quando queremos capturar determinados valores separados , tanto de array , quanto de propriedades de objetos.
Spread Operator é uma excelente feature do Javascirpt acrescentada na versão ES6 em 2015. Spread Operator permite-nos uma forma muito dinâmica e simplificada de acrescentarmos valores a posições de arrays, construção de mesclagem de arrays e objetos , bem como passar parâmetros para funções de forma dinâmica. É um recurso que evita muitas linhas desnecessárias na formação de determinadas estruturas de dados.
Promises em javascript é um objeto que veio para resolver o problema de callbacks aninhados e organizam melhor fluxo de execução de functions Javascript. A utilização de promises permite-nos organizar o que ainda não foi executado bem como sua ordem.
Continuação sobre Promises em Javascript
Async Await são keywords que representam recursos poderosos do javascript, eles organizam ainda mais a forma como tratamos e trabalhamos com promises. Com async await podemos definir se vamos executar funções paralelamente ou de forma encadeada.
Typescript é um pré processador de javascript disponibilizado em Outubro de 2012. Ele foi desenvolvido pelo mesmo criador do Turbo Pascal, Delphi e C#, Anders Hejlsberg. Ele foi incorporado ao ecosistema javascript para trazer recursos como tipagem estática , bem como suporte consistente a orientação a objetos. Com ele podemos trabalhar com recursos de orientação a objetos como classes, interfaces, generics, tipagem, entre outros.
Nesta aula é mostrado como instalar e configurar inicialmente o compilador do Typescript para trabalharmos com nossos estudos. Aqui aprendemos algumas configurações do tsconfig.json entre outros conceitos.
Uma das vantagens do Typescript foi trazer ao eco sistema javascript a possibilidade de tipagem de variáveis como é com outras grandes linguegens de programação. Este vídeo é a primeira parte sobre como fazer esta tipagem de dados em Typescript.
Tuplas são uma estrutura de dados como Array, porém nesta estrutura de tupla podemos ter diferentes tipagens numa mesma assinatura.
Enum é uma forma de declarar conjuntos de valores constantes predefinidos. Estes valores tendem a não passar por alterações. Nesta vemos algumas formas de trabalharmos com enums tipo string, numéricos e hetereogêneos.
O tipo Union é um recurso muito poderoso do Typescript que permite a combinação de diversos tipos de dados em variáveis, arrays e functions. Ele usa de um pipe (barra vertical) para assinar mais de um tipo.
Typeof permite-nos verificar o tipo de um determinado dado. Instanceof é mais um recurso poderoso do TS que permite-nos verificar se um objeto é de uma determinada instância.
Any é um grande motivo de discussões e controvérsias entre a comunidade Typescript. Considerando que o TS já possui o tipo union que permite atribuição de diferentes tipos , a grande questão da comunidade é por que o Any ? A resposta é que o any é muito útil quando se trabalha com abstrações ou integrações a respeito das quais não sabemos que tipo de dados será trafegado, o any vem para resolver este tipo de imprevisibilidade.
Typescript se coloca entre as grandes linguagem de programação no quesito tipagem, ela nos possibilita também trabalharmos com tipagens nos parâmetros de funções , bem como em seus retornos.
Type assertion permite mudar o tipo de uma variável, isso lembra o cast de outras linguagens
Vamos supor que temos uma function com parâmetro Any , porém no corpo da function há uma variável number , esta variável vai receber o valor do parâmetro. O compilador geraria uma exception com isto, como resolver este problema ?
O Type Assertion faz isso de forma simples , o valor precisa passar o typo entre chaves <>
Este curso é para você que quer aprender a desenvolver para web utilizando a plataforma NodeJS no back-end.
Este curso foi feito para aquelas pessoas que desejam se tornar um desenvolvedor web utilizando a plataforma de desenvolvimento NodeJS. O curso vai desde o básico de NodeJS até o desenvolvimento de uma API Rest no final do curso utilizando tudo o que foi aprendido no curso. Concluindo este curso, você terá conhecimentos em NodeJS, Npm, Javascript, Typescript, Docker e API Rest, assim você estará capacitado para desenvolver aplicações web com NodeJS e terá um fundamento para entrar no mercado de trabalho.
Este curso inicia do básico em NodeJS, abordando instalação em diferentes Sistemas Operacionais. Depois disso o aluno terá contato com o gerenciador de pacotes de NodeJS, irá trabalhar com HTTP, leitura de arquivos e entender como são os módulos no NodeJS. Após isso você já começará a criar seus primeiros Requests e templates , utilizando bootstrap e Pug Template. Também aprenderá a se conectar com banco de dados Mysql e fazer seus primeiros cadastros com NodeJS e Mysql.
Neste curso temos um bônus que é um curso de Docker , aqui você irá configurar todo ambiente da aplicação utilizando o Docker que hoje é uma tecnologia mandatória no mercado de trabalho. Os usuários de Windows aprenderão a instalar WSL 2 no Windows tendo Linux como subsistema. Aprenderá a criar containers e ambientes Docker para seus projetos.
O curso tembém tem um módulo que consiste em ensinar ES 6 para relembrarmos os conceitos de Javascript moderno e também irá aprender o Typescript que é um superset do Javascript altamente utilizado em aplicações modernas , tanto no front-end quanto no back-end.
No final do curso aplicaremos tudo isto desenvolvendo uma API Rest em Node.js, utilizaremos as melhores práticas de orientação a objetos com Typescript, bem como dockerização de ambiente , teste unitários e disponibilização de endpoints.