* Grade ainda em construção, alterações poderão ser feitas sem aviso prévio.
- Processador, HD e memória
- Arquivos, extensões e código binário
- Interface gráfica, terminal e linha de comando
- Domínio, IP e DNS
- Arquitetura cliente e servidor
- Protocolo HTTP
- Navegador e os 3 idiomas (HTML, CSS, JS)
- Instalando o Python
- O que é Python
- Configurando o VSCode
- Tipos e variáveis
- Aula ao vivo: consultando a documentação da linguagem
- Operadores aritméticos
- Operadores relacionais
- Operadores lógicos
- Recebendo input do usuário
- Condicionais: if, else, elif
- Repetição: while
- (LIVE) Exercícios de lógica de programação
- Listas
- Tuplas
- Conjuntos
- Dicionários
- Percorrendo estruturas de dados: for
- (LIVE) Algoritmos e estruturas de dados
- Definindo funções
- Funções que retornam valores
- Argumentos com valor padrão
- Aula ao vivo: aprofundando em funções
- Objetos imutáveis, valor e referência
- Objetos mutáveis
- Definindo classes
- Construtores
- Métodos de classe e métodos estáticos
- Criando a classe Evento
- Atributo de classe e f-strings
- Herança
- Importando módulos
- Aula ao vivo: teoria de programação orientada a objetos
- Revisão protocolo HTTP
- Implementando um servidor HTTP
- Exibindo lista de eventos
- Retornando eventos como JSON
- Interagindo com nossa API via cURL
- Utilizando o Postman
- Google Chrome Developer Tools
- Extensões VSCode
- Aula ao vivo: Git e GitHub
- O que é uma API REST
- Introdução ao Flask
- Listar eventos
- Detalhes do evento
- Criar um novo evento
- Deletar um evento
- Editar um evento
- Limitações do Flask
- Aula ao vivo: banco de dados
- Arquitetura MVC e MVT
- Criando nosso projeto
- Criando o modelo Evento
- Utilizando o shell
- Django Admin
- Listar eventos
- Criar um novo evento
- Formulários no Django
- Autenticação e autorização
- Escrevendo testes para nossa aplicação
- Aula ao vivo:deploy da aplicação?
- Por que testar?
- A biblioteca unittest
- Configurando a suíte de testes
- Testes unitários e de integração
- (LIVE) TDD
- Instalando a biblioteca rest_framework
- Criando rotas de /api
- Seguindo o padrão REST
- Serializers
- ModelSerializers
- Validação customizada
- Escrevendo testes para nossa API
- Autenticação
- Novos casos de uso
- Paginação
- Cache
- Autorização
- async no Python
- Celery: fila de tarefas
- Gerando relatórios em CSV
- Aula ao vivo: tema a definir
- Formatadores/Linters
- CI/CD
- Observability (Sentry, analisar stack de erros, logs)
- Test-Driven Development
- Git “a fundo”
- Docker