Sobre o instrutor:
Matheus Battisti é desenvolvedor Full Stack e ama trabalhar nesta área, pois oferece diversas oportunidades de aprender novas tecnologias todos os dias. Estuda constantemente visando aprimorar as habilidades e conhecer novas libs, frameworks, linguagens e novas tecnologias que chamam a atenção. Criador do blog e canal no youtube Hora De Codar, em que ministra cursos grátis de diversas tecnologias que foi utilizando e estudando durante a vivência na área. Tem o objetivo de capacitar quem deseja ser desenvolvedor/programador para o mercado de trabalho.
Sobre o curso JavaScript do Básico ao Avançado
JavaScript é uma das linguagens mais utilizadas atualmente, tanto para o front-end quanto para o back-end, neste curso você vai aprender desde os conceitos mais básicos da linguagem até o que há de mais avançado.Isso com base em mais de 40 exercícios práticos e 3 projetos (tanto com JavaScript puro e para web, como também para web com Node, Express, Sequelize, Handlebars e etc). É importante citar também que o curso tem mais de 22 horas de muito aprendizado para você.
O curso tem uma didática que mescla teoria com prática, para entender tudo que acontece nos bastidores no JavaScript e ainda exercícios práticos para colocarmos a mão na massa com situações reais de programação que acontecem no dia a dia de um programador.
Alguns dos tópicos do curso são:
- Tipos de dados e operadores lógicos;
- Estruturas de programação;
- Funções;
- Arrays e Objetos;
- Orientação a Objetos;
- Tratamento de erros e debug;
- Expressões regulares;
- Programação assíncrona;
- JavaScript no navegador;
- Eventos com JavaScript;
- Node (c/ Express, Sequelize).
E é claro: muitos projetos, que agregam toda a teoria aprendida na prática de projetos que simulam aplicações reais.
Utilizaremos Node.js com Express no back-end, para criar projetos modernos, com código robustos e completos.
Este é o último curso de JavaScript que você vai precisar, todos os pontos da linguagens serão abordados e ainda o curso terá atualizações constantes para adicionar mais projetos para você praticar, ou seja, você sai deste curso pronto para programar JS da forma que precisar: seja front-end ou back-end.
Quem é o instrutor:
Matheus Bastiti
Olá, eu sou o Matheus, desenvolvedor Full Stack e amo trabalhar nesta área que me oferece diversas oportunidades de aprender novas tecnologias todos os dias.
Por este motivo estudo constantemente visando aprimorar minhas habilidades e conhecer novas libs, frameworks, linguagens e novas tecnologias que me chamam a atenção.
Como acredito que conhecimento quanto mais se compartilha mais se têm, decidi dividir o que aprendi durante esse tempo na minha carreira profissional.
E foi então que nasceu a ideia do Hora De Codar, que hoje é um blog e um canal no YouTube, onde compartilho diversas tecnologias que fui utilizando e estudando durante minha vivência na área, e agora resolvi expandir meus cursos para o Qualifica, para alcançar o maior número de pessoas.
Meu objetivo é capacitar quem deseja ser desenvolvedor(a)/programador(a) para o mercado de trabalho. Como meu aprendizado foi semelhante, nada mais justo do que eu retornar da mesma forma. :)
O que você aprenderá:
- JavaScript do básico ao avançado;
- Lógica de programação com base em JS;
- Orientação a objetos no JavaScript;
- Estruturas de condição, repetição e funções;
- Programar web com Node (Express/Sequelize/Handlebars/Body Parser);
- Programação de eventos e DOM com JS;
- Criar aplicações web completas;
- Expressão regular com JavaScript.
Há algum requisito ou pré-requisito para o curso?
- Computador com algum sistema operacional (Windows, Linux e etc.);
- Vontade de aprender.
Para quem é este curso:
- Programadores(as);
- Desenvolvedores(as);
- Quem deseja ser programador(as);
- Programadores(as) que estão migrando para JavaScript;
- Quem desejar aprender tudo sobre JavaScript com muita prática.
Introdução
- Apresentação do Curso
- Introdução
- O Que é JavaScript?
- Onde o JavaScript é Utilizado?
- Fazendo Download do VSCode (Editor de Texto Utilizado no Curso)
- Como Executar JS no Navegador por Arquivo
- Como Executar JS Diretamente no Navegador
- Maneira Alterativa de Executar JS
- Como Pesquisar Problemas/Dúvidas de Código no Stackoverflow
- Como Pesquisar Problemas/Dúvidas de Código no Google
- Minha Sugestão Para Você Acompanhar o Curso
- Conclusão do Módulo
Tipos de Dados e Operadores Lógicos
- Introdução do Módulo
- O Que São Tipos de Dados
- Tipos de Dados: Number
- Operações Aritméticas com Number
- Conhecendo os Special Numbers
- Tipos de Dados: String
- Mais Sobre Strings
- Tipos de Dados: Boolean
- Comparações com Booleans
- Operadores Lógicos: Teoria
- Operadores Lógicos: Prática
- Operador Ternário
- Conhecendo os Empty Values
- Conversão Automática de Valor
- Conclusão do Módulo
Exercícios Sobre Tipos de Dados
- Introdução do Módulo
- Exercício 01
- Exercício 02
- Exercício 03
- Exercício 04
- Exercício 05
- Conclusão do Módulo
Estruturas de Programação
- Introdução do Módulo
- O Que é um Software?
- O Que São Variáveis?
- Outras Forma de Declarar Variáveis
- Convenção no Nome de Variáveis
- Palavras Reservadas da Linguagem JavaScript
- O Ambiente do JavaScript
- As Estruturas das Funções
- Função built in: prompt
- Função built in: alert
- Função built in: Math
- Função built in: console.log
- O Que São Estruturas de Controle?
- Estrutura de Controle: if
- Estrutura de Controle: else
- Estrutura de Controle: else if
- O Que São Estruturas de Repetição?
- Estrutura de Repetição: while
- Estrutura de Repetição: do while
- Estrutura de Repetição: for
- O Que é Identação?
- Utilizando Break
- Utilizando Continue
- Incrementação Resumida
- Estrutura de Controle: switch
- Um Pouco Mais Sobre Declaração de Variáveis
- Como Escrever Comentários
- Conclusão do Módulo
Exercícios Sobre Estrutura de Programação
- Introdução do Módulo
- Exercício 06
- Exercício 07
- Exercício 08
- Exercício 09
- Exercício 10
- Exercício 11
- Exercício 12
- Exercício 13
- Exercício 14
- Exercício 15
- Conclusão do Módulo
Funções
- Introdução do Módulo
- O Que São Funções?
- Definindo Uma Função: Teoria
- Definindo Uma Função: Prática
- Mais Sobre Funções
- O Escopo das Funções
- Mais Sobre Escopo
- Escopo Aninhado
- Arrow Functions
- Mais Sobre Arrow Functions
- Argumentos Opcionais
- Argumentos com Valor Default
- Closure
- Recursion
- Conclusão do Módulo
Exercícios Sobre Funções
- Introdução do Módulo
- Exercício 16
- Exercício 17
- Exercício 18
- Exercício 19
- Exercício 20
- Exercício 21
- Exercício 22
- Exercício 23
- Exercício 24
- Exercício 25
- Conclusão do Módulo
Arrays e Objetos
- Introdução do Módulo
- O Que São Arrays
- Mais Sobre Arrays
- O Que São Propriedades
- O Que São Métodos
- O Que São Objetos
- Adicionando e Deletando Propriedades de um Objeto
- Copiando Propriedades de um Objeto
- Verificando as Chaves de um Objeto
- Mutação
- Loop em Arrays
- Métodos de Arrays: Push e Pop
- Métodos de rrays: Shift e Unshift
- Métodos de Arrays: indexOf e lastIndexOf
- Métodos de Arrays: slice
- Métodos de Arrays: forEach
- Métodos de Arrays: includes
- Métodos de Arrays: reverse
- Métodos de Strings: trim
- Métodos de Strings: padStart
- Métodos de Strings: split
- Métodos de Strings: join
- Métodos de Strings: repeat
- Rest Operator
- Destructuring em Objetos
- Destructuring em Arrays
- O Que é JSON
- Mais Sobre JSON
- Convertendo JSON Para String
- Conclusão do Módulo
Exercícios Sobre Arrays e Objetos
- Introdução do Módulo
- Exercício 26
- Exercício 27
- Exercício 28
- Exercício 29
- Exercício 30
- Exercício 31
- Exercício 32
- Exercício 33
- Exercício 34
- Exercício 35
- Conclusão do Módulo
Conceitos de Orientação a Objetos
- Introdução do Módulo
- O Que é Orientação a Objetos
- Aprofundando em Métodos
- Um Pouco Mais Sobre Métodos
- Prototypes
- Avançando em Prototypes
- Classes
- Instanciando Classes Por Função
- Instanciando Classes Por New
- Métodos no Prototype
- Métodos e Propriedades em Uma Class
- Classe e Construtor do ES6
- Override no Prototype
- Symbol
- Getters e Setters
- Herança
- Operador Instanceof
- Conclusão do Módulo
Exercícios Sobre Orientação a Objetos
- Introdução do Módulo
- Exercício 36
- Exercício 37
- Exercício 38
- Exercício 39
- Exercício 40
- Conclusão do Módulo
Bugs e Erros no JavaScript
- Introdução do Módulo
- O Que é Bug e Debug?
- Strict Mode
- Forma de Debug: console.log
- Forma de Debug: debugger
- Tratamento de Input Por Função
- Exception
- Try e Catch
- Finally
- Assertion
- Conclusão do Módulo
Expressões Regulares
- Introdução do Módulo
- O Que São Expressões Regulares
- Como Criar Uma Expressão Regular
- Testando Uma Expressão Regular
- Conjuntos
- Caracteres Especiais
- Caracteres Especiais na Prática
- Operador Not !
- Operador Plus +
- Operador Question ?
- Operador de Precisão
- Método Exec
- Método Match
- Choice Pattern
- Regex na Prática: Validando Domínios
- Regex na Prática: Validando E-mail
- Regex na Prática: Validando Data de Nascimento
- Conclusão do Módulo
Exercícios Sobre Expressões Regulares
- Introdução do Módulo
- Exercício 41
- Exercício 42
- Exercício 43
- Exercício 44
- Exercício 45
- Conclusão do Módulo
Programação Assíncrona com JavaScript
- Introdução do Módulo
- O Que é Programação Assíncrona?
- Utilizando Callbacks
- Apreendendo a Utilizar Promises
- Falha nas Promises
- Rejeitando Promises
- Resolvendo Várias Promises
- Funções Assíncronas
- Utilizando Await
- Generators
- Conclusão do Módulo
JavaScript e o Navegador
- Introdução do Módulo
- Entendendo Protocolos
- O Que é Uma URL?
- Entendendo o HTML
- A Estrutura do HTML
- O HTML e o JavaScript
- O HTML e o DOM
- Entendendo o DOM
- A Árvore do DOM
- Acessando Elementos/Tags
- Encontrando Elementos Teoria
- Encontrando Elementos Pela Tag
- Encontrando Elementos Por id
- Encontrando Elementos Pela Classe
- Encontrando Elementos Por Query
- Alterando o HTML
- Inserindo Elementos com InsertBefore
- Inserindo Elementos com AppendChild
- Trocando Elementos com ReplaceChild
- Inserindo Texto nos Elementos
- Criando Elementos
- Manipulando Atributos de Elementos
- Largura e Altura dos Elementos
- Posições dos Elementos
- Alterando CSS com JS
- Selecionando Vários Elementos com query
- Conclusão do Módulo
Eventos com JavaScript
- Introdução do Módulo
- O Que São Eventos?
- Criando um Evento
- Removendo Eventos
- Objeto dos Eventos
- Entendendo Propagation
- Prevent default
- Eventos por Tecla
- Mais Sobre Eventos do Mouse
- Movimentos do Mouse
- Eventos de Scroll
- Eventos de Foco
- Eventos de Page Load
- Debounce
- Conclusão do Módulo
Projeto 1: Jogo da Velha (HTML, CSS, DOM e Eventos)
- Introdução do Projeto
- Estruturando o Projeto
- Criando o HTML
- Finalizando o CSS
- Criando a Lógica do Jogo
- Lógica da Condição de Vitória
- Declarando Quem Foi o Vencedor
- Fazendo a IA Jogar
- Conclusão do Projeto
Aprendendo Node.js
- Introdução do Módulo
- O Que é Node?
- Instalando o Node
- Testando o Node
- O Comando Node
- O Que é npm?
- Criando um Projeto
- Lendo Arquivos com Node
- Escrevendo em Arquivos com Node
- Criando a Primeira Aplicação
- O Que é API?
- REST e RESTful
- Os Verbos HTTP
- O Que é Express?
- Instalando o Express
- O Que São Rotas?
- Criando a Primeira Aplicação com Express
- Instalando o Postman
- Testando Nossa API Com o Postman
- Conclusão do Módulo
Projeto com Node, Express, Sequelize: Job Finder
- Introdução do Projeto
- Criando o Projeto e Instalando Dependências
- Iniciando o App com o Express
- Conectando ao Banco de Dados
- Criando a Tabela
- Criando o Model
- Criando a Rota Para Adicionar Registros
- Inserindo Dados no Banco via Postman
- Criando Layout da Home
- Finalizando o Layout da Home
- CSS da Home
- HTML da Página de Adicionar Jobs
- CSS da Página de Adicionar Jobs
- Instalando o Handlebars
- Criando View com Handlebars
- Resgatando Dados do Banco e Colocando na View
- Fazendo a Lógica da Busca
- Adicionando Dados ao Banco Via Form
- Criando View da Job Individual
- CSS da View da Job
- Deixando o Layout o Responsivo
- Conclusão do Projeto
Projeto 3: Quizz com Vanilla JS (Manipulação e Eventos de DOM)
- Apresentação do Projeto
- Estrutura Base do Projeto
- HTML do Projeto
- CSS da Tela de Pontuação
- Finalizando CSS do Projeto
- Iniciando a Lógica do Quiz
- Exibindo as Alternativas na Tela
- Exibindo Pontuação do Usuário
- Avançando Questões do Quiz
- Conclusão do Projeto