Skip to main content

14 posts tagged with "remoto"

View All Tags

· One min read

29/10/2022 - Aula 4 de Ruby (Remoto)

A aula começou um pouco atrasada pois o coordenador não apareceu para liberar o Google Meet para nós, mas o professor Mauricio utilizou uma conta dele para criar uma sala e nós entramos por lá.

Professor começou recapitulando a aula anterior e explicando novos itens do Next.js.

Começamos vendo sobre o useSWR que é um hook que faz o cache de dados e faz o refresh deles quando necessário.

import useSWR from 'swr'

function Profile() {
const { data, error } = useSWR('/api/user', fetch)

if (error) return <div>failed to load</div>
if (!data) return <div>loading...</div>
return <div>hello {data.name}!</div>
}

Depois arrumamos a parte de autenticação na API e utilizamos o NextAuth para fazer a autenticação.

import { signIn, signOut, useSession } from 'next-auth/client'

export default function Page() {
const [ session, loading ] = useSession()

return <>
{!session && <>
Not signed in <br/>
<button onClick={signIn}>Sign in</button>
</>}
{session && <>
Signed in as {session.user.email} <br/>
<button onClick={signOut}>Sign out</button>
</>}
</>
}

Depois disso, professor falou do trabalho, e ficou para ajudar quem tiver dúvidas.

· 2 min read

15/10/2022 - Aula 3 de Ruby (Remoto)

Nossa terceira aula começa com uma recapturação sobre a aula anterior, professor compartilhou o video que foi gravado e passou o link para que todos possam assistir.

Depois disso, começamos a falar sobre Angular, para ver se tinha pessoas que dominavam Angular e que poderiam ajudar, mas no caso, vamos utilizar React para fazer um front, pois é o que o professor domina.

Para fazermos o projeto, vamos utilizar verificar a versão do NodeJS que está instalada, para isso, vamos utilizar o comando:

node -v 

A versão LTS atual é a 16.18.0, que vai ser a versão recomendada.

Para criar o projeto, vamos utilizar o comando:

npx create-next-app@latest

E vamos subir o servidor de desenvolvimento com o comando:

npm run dev -p 4000

Depois o professor foi explicando a estrutura do NextJs. E como que funciona o React.

Montamos alguns arquivos de exemplo para entender como funciona o gerenciamento de estado do React.

Após isso começamos a ver sobre sobre a estrutura de rotas do projeto e como que funciona trabalhar com atributos dinâmicos, como ids.

Exemplo

  • localhost:4000/users/1

Seguimos a aula com a criação de um CRUD de artigos, consumindo a API que foi criada no Rails.

Foi isso para a aula de hoje

Vídeo da aula

Aula da manhã

Aula da tarde

· 2 min read

01/10/2022 - Aula 2 de Ruby (Remoto)

A segunda aula de Ruby começou com nós fazendo uma atividade no JamBoard do Google.

Imagem1

Após um tempo para fazermos, o professor foi passando um por um vendo como que cada aluno estava fazendo e as tecnologias que estavam sendo usadas. Isso foi feito para ver como que a turma está pensando e o nível de conhecimento que cada um tem.

O PDF com o que cada aluno fez pode ser encontrado aqui.

Depois disso, começamos a criar um novo projeto, para explorar como utilizar Ruby on Rails voltado para APIs.

rails new pos-unipar-rails-app --api

Após isso, começamos a criar as rotas e os controllers para cada uma delas.

rails generate scaffold Article title:string body:string

Esse comando cria o controller, o model e as rotas para o CRUD do Article.

Agora vamos gerar o Category, que será o relacionamento do Article.

rails generate scaffold Category name:string

Agora vamos criar o relacionamento entre os dois.

class Article < ApplicationRecord
belongs_to :category
end
class Category < ApplicationRecord
has_many :articles
end

E agora vamos criar um usuário

rails generate scaffold User name:string email:string password:string

Professor passou mais algumas coisas sobre relacionamentos, mas passou um outro material para fazermos em conjunto.

https://www.bluebash.co/blog/rails-6-7-api-authentication-with-jwt/

Final da aula 2

· One min read

28/05/2022 - Aula 3 de Python (remoto)

O Professor Everton, começou a aula as 08:00h e aguardou os alunos até as 08:10h. A aula seguiu da mesma forma que a passada, professor falando, nós escutando, e tendo que fazer comentários no material que ele passou.

Detalhe dessa aula é qeu professor estava sem acesso ao Google Meet, e não conseguiu acessar o link do Meet da aula passada. A aula seguiu por um tempo, até que o meet deu aviso de limite da sala. Um aluno criou um novo link, utilizando a conta da Unipar de academico e foi liberado acesso para todos.

Teve intervalo de 30 minutos as 10h e no almoço, teve 1:30h de intervalo, com a aula voltando as 13:45.

A tarde continuamos vendo o professor fazendo os códigos e explicando o que está acontecendo.

A aula termina 17:15h, 15 minutos antes do previsto.

· One min read

14/05/2022 - Aula 2 de Python (remoto)

O Professor Everton, começou a aula as 08:00h e aguardou os alunos até as 08:10h. A aula seguiu da mesma forma que a passada, professor falando, nós escutando, e tendo que fazer comentários no material que ele passou.

Teve intervalo de 30 minutos as 10h e no almoço, teve 1:30h de intervalo, com a aula voltando as 13:45.

A tarde continuamos vendo o professor fazendo os códigos e explicando o que está acontecendo.

A aula termina 17:15h, 15 minutos antes do previsto.

· 2 min read

07/05/2022 - Aula 1 de Python (remoto)

O Professor Everton, começou a aula um pouco antes das 8h, mas alguns as pessoas tiveram problemas para entrar, pois tinhas que utilizar o email acadêmico. O professor começou se apresentando, falando sobre sua carreira, e pediu para cada aluno se apresentar também, isso foi até as 09:15.

O professor continuou falando como que a matéria vai ser trabalhada, quais os horários e o que pretende ser abordado no curso.

Agenda

  • Seu primeiro programa python
  • Strings e métodos de string
  • Números e matemática
  • Funções e laços
  • Encontrando e corrigindo erros de código
  • Lógica condicional e fluxo de controle
  • Tuplas, listas e dicionários
  • Programação orientada a objetos
  • Módulos e pacotes
  • Entrada e saída de arquivos
  • Instalando pacotes com pip
  • Trabalhando com banco de dados
  • Integrando com a web

Python

  • Python tem um paradigma funcional, ou seja, tudo é feito por funções.
  • Python é uma lingaguês interpretada, ou seja, não é necessário compilar o código para executá-lo.
  • Python é uma linguagem versátil, ele pode ser utilizado para criar aplicações de qualquer tipo.
    • Web
    • Análise de dados
    • Aplicativos
    • Sistemas desktop

O professor compartilho no Google Colab um notebook com o código da primeira aula, que está disponível aqui, PythonIntroduction.ipynb. Isso ajuda muito pois não precisamos criar nosso ambiente localmente. Utilizamos um ambiente padrão criado pelo Google para trabalhar com o python.

As 10h até 10:30, o professor fez um intervalo, e após o intervalo, começamos vendo o que é o Google Colab utilizando o arquivo PythonIntroduction.ipynb. Nós devemos criar um novo notebook, que vai servir para nota, e devemos compartilhar com o professor. Além disso, devemos inserir abaixo de cada código uma explicação sobre o que ele faz.

Seguimos o material, aprendendo o básico de python, foi assim até 12h.

A aula voltou as 13:30, e seguimos o material, aprendendo o básico de python, foi assim até o final da aula.

No final da aula, professor passou uma atividade sobre Fibonacci, para explicarmos o que um trecho de código faz.

· 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

· 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