Skip to main content

15 posts tagged with "2021"

View All Tags

· 3 min read

13/11/2021 - Aula 4 de Backend com Java (Presencial)

Após algumas semanas sem aula por problemas de saude e disponibilidade da sala, a aula voltou hoje, sendo a ultima do ano e da materia.

O Professor Djonathan começa a aula falando sobre padrão de organização de um projeto. Comparando alguns tipos. Ele falou que posteriormente vai passar um material sobre isso.

Essa parte de organização vai ser utilizada para o trabalho, além de uma forma de documentar a nossa API utilizando OpenAPI. O professor foi atualizando o projeto que temos, do qual vamos ter que seguir para entregar o trabalho.

Isso foi o que foi visto pela manha. Após o almoço, começamos a ver sobre APIs REST e os seus verbos HTTP, vimos sobre HATEOAS e sobre o uso de Swagger.

Voltamos as aulas presenciais, pois o decreto que permitia não está mais em vigor. O Professor Djonathan começa a aula fazendo uma revisão da segunda aula.

  • Princípio da Responsbilidade Única
    • Classes e metodos sempre coesos, que ele ~e responsavel por ele mesmo.
  • Princípio Aberto-Fechado
    • Uma forma melhor de escrever, que garante a sustentabilidade do código.
  • Padrões

Depois de revisar, a aula continuou com Spring, utilizando o projeto unipar-2021-aula-2 para implementar alguns recursos do Spring, conforme o professor ia fazendo ele ia explicando a utilização dos componentes.

  • @Component
  • @AutoWired
  • Injeção de dependência por Setter
  • Contrutor

Tudo isso visto até o momento foi o modulo 1, agora vamos começar o modulo 2, que é a utilização de APIs.

Como levar o monte Fuji do Japão para a India? Monte Fuji R: Uma foto já faz você levar para a India.

Livro: How Do You Fight a Horse-Sized Duck?: Secrets to Succeeding at Interview Mind Games and Getting the Job You Want

API

API é um conjunto de definições e protocolos usado no desenvolvimento e na integração de software de aplicações.

REST

O estilo de Transferência de Estado Representacional (REST) é uma abstração dos elementos arquiteturais de um sistema de distribuição de hipermídia.

Estruturas como URIs (Coleções vs Recursos vs Hierarquias)

  • /planos
  • /planos/1
  • /planos/1/dependentes/
  • /planos/1/dependentes/4

Obs: sempre utilizar substantivos e nunca verbos

  • /planos/cancelar (errado)

Padrões para URIs

  • Mantenha tudo em caixa baixa
  • Substitua espaços com hífens ou underscore

Representação

  • Deve ser consistentes (a mesma requisição deve retornar a mesma resposta caso o recurso não tenha sido modificado)
  • O conteúdo pode ser negociado

JSON

https://www.json.org/json-pt.html

Exemplo de JSON

{
"nome": "João da Silva",
"idade": "20",
"cidade": "São Paulo",
"estado": "SP",
"pais": "Brasil"
}

Exemplo 2

{
"cliente": 1,
"data": "2020-10-10",
"itens": [
{
"id": 1,
"nome": "Item 1",
"quantidade": 10,
"valor": 100.00
},
{
"id": 2,
"nome": "Item 2",
"quantidade": 20,
"valor": 200.00
}
]
}

Com isso terminamos a aula pela parte da manhã, vamos para o almoço e depois a aula continuou com a criação de um novo projeto, para ser a nossa API.

Esse projeto é um sistema para aulas online, começamos montando a parte da disciplina, criando os metodos GET para retornas todos os dados, POST, para criar uma nova disciplina, PUT para atualizar os dados da disciplina por inteiro e PATCHE para atualizar somente um dado, e por fim, DELETE para deletar a disciplina.

Verbos HTTP

Além de ver alguns dos verbos HTTPS, foi falado sobre os códigos de status HTTP.

Status HTTP

Com isso foi finalizado a aula.

Trabalho

As informações do trabalho estão na pagina da disciplina.
Link

· 3 min read

09/10/2021 - Aula 3 de Backend com Java (Presencial)

Voltamos as aulas presenciais, pois o decreto que permitia não está mais em vigor. O Professor Djonathan começa a aula fazendo uma revisão da segunda aula.

  • Princípio da Responsbilidade Única
    • Classes e metodos sempre coesos, que ele ~e responsavel por ele mesmo.
  • Princípio Aberto-Fechado
    • Uma forma melhor de escrever, que garante a sustentabilidade do código.
  • Padrões

Depois de revisar, a aula continuou com Spring, utilizando o projeto unipar-2021-aula-2 para implementar alguns recursos do Spring, conforme o professor ia fazendo ele ia explicando a utilização dos componentes.

  • @Component
  • @AutoWired
  • Injeção de dependência por Setter
  • Contrutor

Tudo isso visto até o momento foi o modulo 1, agora vamos começar o modulo 2, que é a utilização de APIs.

Como levar o monte Fuji do Japão para a India? Monte Fuji R: Uma foto já faz você levar para a India.

Livro: How Do You Fight a Horse-Sized Duck?: Secrets to Succeeding at Interview Mind Games and Getting the Job You Want

API

API é um conjunto de definições e protocolos usado no desenvolvimento e na integração de software de aplicações.

REST

O estilo de Transferência de Estado Representacional (REST) é uma abstração dos elementos arquiteturais de um sistema de distribuição de hipermídia.

Estruturas como URIs (Coleções vs Recursos vs Hierarquias)

  • /planos
  • /planos/1
  • /planos/1/dependentes/
  • /planos/1/dependentes/4

Obs: sempre utilizar substantivos e nunca verbos

  • /planos/cancelar (errado)

Padrões para URIs

  • Mantenha tudo em caixa baixa
  • Substitua espaços com hífens ou underscore

Representação

  • Deve ser consistentes (a mesma requisição deve retornar a mesma resposta caso o recurso não tenha sido modificado)
  • O conteúdo pode ser negociado

JSON

https://www.json.org/json-pt.html

Exemplo de JSON

{
"nome": "João da Silva",
"idade": "20",
"cidade": "São Paulo",
"estado": "SP",
"pais": "Brasil"
}

Exemplo 2

{
"cliente": 1,
"data": "2020-10-10",
"itens": [
{
"id": 1,
"nome": "Item 1",
"quantidade": 10,
"valor": 100.00
},
{
"id": 2,
"nome": "Item 2",
"quantidade": 20,
"valor": 200.00
}
]
}

Com isso terminamos a aula pela parte da manhã, vamos para o almoço e depois a aula continuou com a criação de um novo projeto, para ser a nossa API.

Esse projeto é um sistema para aulas online, começamos montando a parte da disciplina, criando os metodos GET para retornas todos os dados, POST, para criar uma nova disciplina, PUT para atualizar os dados da disciplina por inteiro e PATCHE para atualizar somente um dado, e por fim, DELETE para deletar a disciplina.

Verbos HTTP

Além de ver alguns dos verbos HTTPS, foi falado sobre os códigos de status HTTP.

Status HTTP

· 2 min read

25/09/2021 - Aula 2 de Backend com Java (Remoto)

A aula hoje é remota, e atrasou um pouco por causa de alguns problema tecnicos, nada que atrapalhou a aula.

Durante a semana, o professor Djonathan passou um material complementar sobre a primeira aula. esse material está disponivel aqui. Além disso, apresentou um repositorio que vai ser utilizado para o trabalho em grupo que vai ser feito no decorrer das aulas, onde cada equipe vai implementar um item.

Seguimos com a criação de um projeto novo Spring, do qual vai ser o esqueleto do trabalho que vamos fazer. Esse projeto está no GitHub.

Professor continuou mostrando como trabalhar com o GitHub, exemplificando a utilização de Pull Request para poder enviar as alterações.

Após essa parte introdutoria, começamos com o conteudo, seguindo o material da ultima aula, que está disponivel aqui

Coesão Refere-se a ligação ou harmonia entre elementos textuais.

Acoplamento que está acoplado (ligado, conectado)

  • SOLID

Acrônimo para os Cinco Princípios de um bom Design Orientado a Objeto, cunhado por Bob Martin em [MARTIN, 2000].

  • S - Princípio da Responsabilidade Única
    Todo objeto do seu sistema deveria ter uma única responsabilidade, e todos os erviços desse objeto deveriam focar em realizar essa responsabilidade única.

  • O - Princípio do Aberto-Fechado
    Classes deveriam estar abertas para extensão e fechadas para modificação.

  • L - Princípio da Substituição de Liskov
    Subtipos devem ser substituíveis por seus tipos base.

  • I - Princípio da Segregação de Interfaces
    Muitas interfaces especializadas são melhores que uma interface de propósito geral.

  • D - Princípio da Inversão de Dependências
    Dependa de abstrações ao invés de classes concretas.

Com isso, começamos a utilizar o conceito do SOLID, e montamos um exemplo de sistemas de simulador de emprestimo. Fomos gerando as classes, e fluxos, e melhorando com o decorrer da aula. Essa atividade pode ser vista em GitHub

Professor apresentou varios padrões, ele vai depois disponibilizar um material complementar, quando estiver disponivel, coloco o link aqui.

Com isso terminamos a aula, conversamos um pouco sobre o trabalho, como vai funcionar.

No final da aula, aproveitei para conversar e compartilhar uma forma de rodar os teste utilizando GitHub Actions, e ele pediu para fazer o pull request para incluir no projeto.

E isso foi tudo na aula 2.

info

· 4 min read

11/09/2021 - Aula 1 de Backend com Java (Presencial) , Professor Geferson fez a apresentação do professor Djonathan, visto que é a primeira aula que temos com ele, sendo assim, ele tambem perguntou algo sobre nós, uma pequena apresentação para saber o nível de conhecimento do pessoal.

A aula começou utilizando o material .pdf, com a parte de Design e Orientado a Objetos.

Uma linguagem suporta um Estilo de Programação se ela provê funcionalidades que tornam conveniente (razoavelmente fácil, seguro e eficiente) utilizar esse estilo. Uma linguagem não suporta uma técnica se é necessário um esforço excepcional ou habilidade para escrever os determinados programas; nesse caso, a linguagem simplesmente habilita os programadores a utilizar a técnica.

Conceitos Chave

  • Estilo procedural
    • Decida quais procedimentos você deseja, utilize o melhor algoritmo que você possa encontrar.
  • Ocultação de Dados
    • Decida quais procedimentos você deseja, particionar o programa de forma que os dados fiquem ocultos em módulos.
  • Abstração de Dados
    • Decida quais tipos você deseja, forneça um conjunto de operações para cada tipo.

Orientação a Objetos (Conceito)

Decida quais classes você deseja; forneça um conjunto de operações para cada classe; torne as semelhanças explícitas utilizando herança.

OOP (Objetos)

Coisas (pessoas, animais, objetos), características (cor, sabor), eventos (confirmação, cancelamento), estado (pendente, confirmado), basicamente tudo que possamos chamar com um substantivo / nome próprio, incluindo objetos abstratos.

Imagem OOP

OOP (Classes)

Grupos de objetos com características muito similares, do ponto de vista técnico compõem o conjunto de tipos de uma linguagem na categoria de Tipo de Dados Abstratos. Objetos de determinada classe são denominados como instâncias.

Imagem OOP

OOP (Atributos)

Descrevem as características de um objeto, fazendo parte do arquétipo da classe. Cada instância da classe armazena os valores de seus atributos, porém atributos estáticos são compartilhados entre as instâncias.

Imagem OOP

OOP (Mensagens/Métodos)

Objetos se comunicam através de mensagens, a unidade de abstração dessas mensagens é chamada de método. Métodos abstraem uma determinada lógica ue será aplicada a uma referida instância sempre que receber uma mensagem específica. Métodos podem conter parâmetros e retornar valores ao final e sua execução.

Imagem OOP

OOP (Encapsulamento)

Ninguém deve se preocupar com a forma em que um objeto está organizado ou o quê ele sabe. Quanto menos comprometido uma classe tiver com o mundo exterior menor é a superfície de mudança que pode impactar a manutenabilidade do sistema.

Imagem OOP

Após explicar esses conceitos, começamos a mexer em um projeto, vendo os conceitos iniciais de Kotlin. Criamos uma classe e vimos como implementar algumas funções.

Com isso terminamos o que foi visto pela manha, e a aula volta as 13:30, vamos continuar o material no slides e fazer na pratica o código.

OOP (Generalização)

Refere-se a habilidade de organizar os objetos em estruturas hierárquicas.

Classes podem implementar dois tipos de Generalização:

  • Tipo: Classes diferentes compartilham a mesma interface.
  • Implementação: Onde além da interface, a implementação também é compartilhada.

OOP (Interfaces)

O conceito de Interface tem duas aplicações:

  • O conjunto de operações que compõem o contrato de uma classe com os consumidores.
  • Herança de Tipos, onde diversas classes podem compartilhar a mesma interface.

Imagem OOP

OOP (Herança)

Refere-se diretamente a Generalização de Implementação, onde classes compartilham sua implementação além da interface.

Imagem OOP

Boas Práticas de Design

  • DRY
    • Don’t Repeat Yourself! (Não se repita!)
  • YAGNI
    • You Ain’t gonna need it! (Você não vai precisar disso!)
  • KISS
    • Keep it simple, stupid. (Mantenha isso simples, idiota.)

Professor discutiu todos esses pontos durante a aula de hoje, no PDF, fomos até a pagina 19. O resto vai ficar para as proximas aulas.

info

Material complementar Máterial de apoio em PDF aula 01

· One min read

28/08/2021 - Aula 3 de Banco de dados (Presencial)

A aula demorou cerca de 20 minutos para começar, alunos queriam esperar os alunos atrasados, mas a aula tem que dar prioridade pra quem chegou na hora. Tendo isso em mente, o professor Fernando começou a aula fazendo a revisão da atividade 5.

As 09:30, é feito um intervalo, e depois começamos a aula com esses slides aqui.

Foi visto como trabalhar com domínios, transações, converter tipos, views, funções e triggers. Com isso o professor passou alguns exemplos para praticarmos.

Finalizamos a parte da manha com isso, e voltamos 13:30 com o assunto de Power BI, conteúdo que não estava previsto, e entrando no lugar de NOSQL. Utilizamos os slides que estão aqui.

A aula seguiu com o professor mostrando a ferramenta, e como fazer a utilização para gera gráficos e relatórios, como importar dados, etc.

No final, não teve nada sobre o trabalho, mas o professor vai passar durante a semana.

Trabalho

As informações do trabalho estão na pagina da disciplina.
Link

· 2 min read

14/08/2021 - Aula 2 de Banco de dados (Remoto)

A aula demorou um pouco pra começar, pois alguns alunos pensaram que seria presencial, e estão na universidade, então o professor aguardou até eles irem para algum laboratório.

O professor Fernando começou a aula revisando a atividade 2, explicando o objetivo e tirando alguma duvida que alguém possa ter ainda. Além disso, o professor fez uma revisão da aula anterior, pois ele alterou o material e adicionou novas explicações.

Comandos DDL são sempre comandos que vão mudar na estrutura das tabelas, dentre elas temos:

  • Adicionar ou Remover columns
  • Adicionar ou Remover constraints
  • Mudar valores default
  • Mudar tipos de dados da coluna
  • Renomear Colunas
  • Renomear Tabelas

Já o DML, ele manipula os dados.

A aula seguiu utilizando o material que está no link ou arquivo Guia Disciplina, lá está duas apresentações, a apresentação utilizada foi essa aqui.

Professor pediu para criamos um banco de dados novo, e rodar o seguinte SQL:

CREATE TABLE departamentos(
id_departamento INT PRIMARY KEY,
nome VARCHAR(60),
responsavel VARCHAR(60)
);

CREATE TABLE grupos(
id_grupo serial,
nome VARCHAR(60),
id_departamento INT REFERENCES departamentos
);

Depois, populamos o banco de dados com alguns INSERTS;

INSERTS
-- Informando todos os campos:
INSERT INTO departamentos VALUES (1,'Eletrônicos','Fernando');

-- Múltiplos INSERTS:
INSERT INTO departamentos VALUES
--(1,'Eletrônicos','Fernando'),
(2,'Portáteis','Fernando'),
(3,'Eletrodomésticos','Fernando');

-- Informando apenas valores obrigatórios:
INSERT INTO grupos (id_grupo, id_departamento) VALUES (1,1);

-- Tabela com campo Serial:
INSERT INTO grupos (nome, id_departamento) VALUES ('Smartphone',1);

-- A partir de dados de outra tabela:
INSERT INTO grupos (nome, id_departamento)
SELECT nome, id_departamento FROM novo_grupos WHERE id_grupo > 10;

Professor fez mais alguns exemplos, adicionando constraints para garantir a integridade do banco de dados, fazendo selects, updates e deletes.

Após a explicação, professor passou uma atividade, utilizando o mesmo grupo da aula passada, é a atividade 3.

Finalizamos a manha até esse ponto, e no período da tarde voltamos vendo a parte de selects com o material do link. Vimos os tipos de join, e como fazer um join entre tabelas, como utilizar o group by e como utilizar o order by e por fim, o limit.

Depois disso, professor passou uma atividade 4, que pode ser entregue até a próxima aula.

Professor ficou para tirar as dúvidas da atividade, e com isso finalizamos a aula de hoje.

· 3 min read

31/07/2021 - Aula 1 de Banco de dados (Remoto)

A aula começou as 08:00, com um tempo a mais para até os alunos entrarem, com isso, começou a ser feito a apresentação dos alunos de forma individual. Após isso, o professor Fernando falou sobre como vai decorrer o curso e as aulas.

O professor criou um arquivo que está disponível no link ou arquivo Guia Disciplina, nesse arquivo tem diversas informações sobre o curso, tentei uma forma elegante de imprimir o site, mas fica ruim, então tudo que for importante estou salvando aqui no site.

A aula seguiu utilizando a apresentação.

Banco de dados pode ser resumido em:

Uma coleção de dados relacionados

  • Dados: Fatos conhecidos que podem ser registrados e que possuem significado implícito.
  • A mídia pode ser usando um computador, ou uma agenda indexada, sistema de pastas organizado, planilha de excell, e assim por diante.

Desta forma, um simples texto pode ser um banco de dados. Vale lembrar que o banco de dados representa um aspecto do mundo real, geralmente chamado de mini mundo ou universo de discurso.

Para isso, o banco de dados deve ter algumas propriedades:

  • Fonte de dados
  • Tem uma relação com os dados
  • Os usuários estão constantemente interessados no conteúdo manipulados.

O que é um sistema gerenciador de banco de dados?

  • É um sistema computado que permite ao usuário acessar e manipular dados armazenados em um banco de dados.
  • Ele facilita o uso em geral:
    • Definição
    • Construção
    • Manipulação
    • Compartilhamento
  • Interação entre usuários e aplicação

Qual a diferença entre um banco de dados e um sistema de gerenciamento de banco de dados (SGBD)?

  • Banco de dados é onde armazena os dados, é o repositório das informações.
  • O SGBD é o sistema que permite acessar e manipular os dados, onde fica as restrições.

DDL - Construção e Definição

  • Create
  • Alter
  • Drop

DML - Manipulações Possíveis

  • Select
  • Update
  • Insert
  • Delete

Conceitos Gerais

  • Entidade
    • Representa um conjunto de dados
    • Representa um conceito do mundo real
      • Alunos
      • Professores
      • Matérias
  • Atributos
    • São os dados das entidades
      • Nomes
      • Salario
      • Datas
  • Relacionamento
    • Como duas entidades estão conectadas
      • Funcionário trabalha em um projeto
      • Aluno esta em uma turma
  • Modelo entidade relacionamento
    • Um modelo conceitual de alto nível para representar os dados do BD
  • Esquema de banco de dados
    • Descrição de um banco de dados
  • Diagrama de esquema
    • É a representação de um esquema de banco de dados
  • Modelo de banco de dados
    • Forma de se organizar os dados em um banco de dados

A aula seguiu com uma modelagem de banco de dados, utilizando o StarUML.

A aula tem o intervalo para meio dia, e voltamos as 13:30, continuando vendo o assunto de modelagem de banco no StarUML.

Após isso, o professor passou uma atividade e separou a turma em grupos.

Alunos

O meu grupo foi o Grupo3, e nós geramos esse modelo aqui:

Alunos Download do projeto: Grupo-03.mdj

Após falarmos do trabalho, onde cada grupo apresentou o que foi feito, o professor começou a falar sobre SQL. Começou falando sobre sua estrutura, sobre seus tipos, a estrutura.

Pelo StarUML podemos gerar o SQL, no caso esse arquivo foi gerado aqui: .SQL

Geramos as tabelas e fizemos algumas atividades na pratica já com SQL.

Isso tudo foi visto na primeira aula.

· 2 min read

26/06/2021 - Aula 4 de Angular (Remoto)

A ultima aula de Angular começa as 08:00, com o professor Jean perguntando sobre o trabalho com o pessoal, vendo se estão com dúvidas, se já começaram a fazer ou não.

Por volta das 08:25 é iniciado a apresentação do conteúdo, vai ser visto o Angular Material nesta aula. para isso vamos utilizar o projeto que está disponível já em Github.

O material que o professor utilizou foi esse aqui em .PDF.

Começamos então a atuar com a alteração de um formulário, mudando ele para utilizar os componentes que são do Angular Material, aplicando para o cliente.

Depois do professor explicar cada componente, e como utilizar ele, é solicitado para os alunos fazerem para a componente de usuário, tanto para a tela quanto para o modal.

Após validar a atividade, começamos a ver a parte de animações, como criar ela, configurar, utilizar, etc.

Professor também mostra como podemos fazer o deploy do projeto utilizando Docker, e explica como fazer esse processo utilizando o projeto atual.

Com isso terminamos o que foi visto antes do almoço.

Durante a tarde, o professor comentou sobre o trabalho, passou item a item do que tem ser feito, e aproveitou para tirar dúvidas do pessoal.

Trabalho

As informações do trabalho estão na pagina da disciplina.
Link

· 2 min read

12/06/2021 - Aula 3 de Angular (Remoto)

Começamos a terceira aula as 08:10, com o professor Jean revisando uma atividade que ele tinha pedido, que era a implementação de clientes, ele atualizou o projeto e está disponível já em Github.

O material que o professor utilizou foi esse aqui em .PDF.

Começamos a aula vendo o construtor "pipe" (|), que serve para formatar valores de acordo com o que você passar. Vimos também como criar um validador personalizado para validar campos de CPF e CNPJ.

# Instalar uma biblioteca para ajudar na formatação e validação dos campos
npm install angular2-text-mask --save
npm install ng2-currency-mask --save

Depois de importar as bibliotecas, foi alterado o arquivo do cliente e o modal do cliente, para inserir as validações.

Fizemos um intervalo as 10h, e depois demos continuidade na aula vendo gráficos, utilizando outra biblioteca

# Instalar uma biblioteca para ajudar nos gráficos
npm install ng2-charts@2.4.2 --save
npm install chart.js@2.9.3 --save

Depois do almoço, continuamos trabalhando com a parte de gráfico, criamos um componente pra ele, o que ajudou a reduzir o código da tela Home.

Por volta das 15h fizemos um intervalo e na volta começamos a ver um pouco sobre testes unitários, mas o professor comentou que na próxima aula vai ser aprofundado no assunto.

Começamos a ver então a função "Drag and Drop", utilizando um plugin

# Instalar uma biblioteca para ajudar nos gráficos
npm install ng2-dnd@5.0.2 --save

Implementamos em um exemplo de lista de produtos, com ações disparadas ao soltar. Trabalhamos também com componente de selecionar item com um dropdown, vendo vários recursos e como utilizar eles.

Ouve algumas dúvidas de alunos, e foi discutido os assuntos, como linguagem melhor para se trabalhar, se precisa fazer o backend em Javascrip, se consigo fazer toda a aplicação só com Angular, etc etc.

Foi conversado um pouco sobre o trabalho que vai ser passado, mas professor tem qeu verificar uns detalhes ainda antes de passar para nós.

Com isso terminamos a aula de hoje.

· 2 min read

29/05/2021 - Aula 2 de Angular (Presencial)

Começamos a segunda aula as 08:20, com o professor Jean mostrando as alterações que ele fez no projeto da aula passada, da qual ele disponibilizou por meio do Github. Foi adicionado um component ngx-toastr para ter notificações mais elegantes no projeto.

Em seguida professor passou alguns códigos, e pediu para colocarmos nas seguintes pastas:

  • .ZIP - Arquivo pra baixar
  • src/app/shared - Destino para colocar os arquivos.
  • OBS: A pasta helper deve ser movida para fora da pasta shared, em src/app

Esses novos arquivos são um controller para poder validar os dados, só adicionar ele, que ele faz a validação.

As 10:15 o professor mostra o que esses arquivos que passou faz, adicionamos no método salvar, e ele valida todos os campos de uma só vez.

As 10:40 começamos a ver sobre os serviços, para poder salvar um usuário, utilizando o padrão observer e subscriber.

As 11:50 o professor fala que vamos trabalhar a tarde com outro projeto, ele já disponibilizou no Github.

Após o almoço, a aula começou as 13:40 com a chamada, e em seguida professor mostra o projeto novo, falando a parte dos mocks de dados.

Em seguida, continua falando de todo o projeto, mostrando todo o processo de login, de como é feito a comunicação da senha, o que acontece quando é submetido o request de login e senha.

AS 15:00 o professor passa uma atividade para criar um formulário para o usuário dentro do modal, para poder inserir um novo, e para poder editar um já existente.

Professor passou de mesa em mesa tirando dúvidas e ajudando quem precisava.

Com isso terminamos a aula de hoje.