itstfs

Notas

Anotações de aula transformadas em resumos: busque um termo, copie um comando e consulte o arquivo original quando quiser.

7 notas

Banco de dados

  • modelagem
  • MER / DER

Níveis de abstração

  • Conceitual — primeiro diagrama: entidades, atributos e relacionamentos.
  • Lógico — já tem cara de tabela.
  • Físico — migrando para o código SQL, com mais definição (sem index).

Conceitos

  • Entidade — algo do mundo real, abstrato ou físico, levado para o mundo virtual.
  • Relacionamento — ligação entre entidades; tem cardinalidade (0:1, 1:1, 1:n, n:n, 0:n).
  • Chave primária — identificador único, como um id.
  • Chave estrangeira — no 1:n, um lado “doa” o atributo para o outro.
  • 1:1 — as entidades trocam chaves primárias.
  • n:n — o relacionamento vira uma entidade (entidade fraca).
  • MER — Modelo Entidade Relacionamento: o conceito.
  • DER — Diagrama Entidade Relacionamento: como desenhar.

Tipos e colunas

  • varchar(50) — salva só os caracteres usados (“Thaiza” = 6).
  • char(50) — ocupa as 50 posições sempre.
  • int auto_increment — cresce de um em um.
  • not null — campo obrigatório.
  • use nome_banco — seleciona o banco para os próximos comandos.

MySQL

  • SQL
  • consultas

Consultar

SELECT * FROM tb_tabela WHERE preco > 300;

Produtos com preço maior que 300. Com count(*) no lugar de *, retorna o total.

SELECT * FROM tb_tabela ORDER BY id DESC;

DESC do maior para o menor; ASC do menor para o maior.

SELECT SUM(preco) FROM tb_tabela WHERE marca = 'Canon';
SELECT MAX(preco), MIN(preco) FROM tb_tabela;
SELECT * FROM funcionarios
WHERE salario = (SELECT MAX(salario) FROM funcionarios)
   OR salario = (SELECT MIN(salario) FROM funcionarios);

Maior e menor salário junto com os nomes (subconsulta).

SELECT marca, SUM(preco), SUM(quantidade)
FROM tb_tabela GROUP BY marca;
SELECT ROUND(AVG(idade)) FROM medicos;
SELECT nome, (salario - salario * 0.2) FROM funcionarios;

Salário líquido descontando 20%.

Inserir e atualizar

INSERT INTO medicos
VALUES (6, 'Bi', 79, 'cardiologista', '1111111', 'São Paulo', 5);
UPDATE medicos
SET especialidade = 'ortopedia'
WHERE cod_m = 1;

⚠️ Sem o WHERE, todos os médicos viram ortopedistas.

Django

  • Python
  • backend

Ambiente virtual (PowerShell)

py -m venv env
.\env\Scripts\Activate.ps1

Se o PowerShell bloquear scripts:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Projeto e app

pip install django
django-admin startproject nomepasta
py .\manage.py startapp home
py .\manage.py runserver

Models e admin

py .\manage.py makemigrations
py .\manage.py migrate
py .\manage.py createsuperuser

makemigrations mapeia, migrate grava no banco.

Dependências

pip install gunicorn whitenoise djangorestframework django-bootstrap-v5 pillow stdimage
pip freeze > requirements.txt

Em INSTALLED_APPS: 'home', 'rest_framework', 'bootstrap5'.

React

  • JavaScript
  • frontend

Comandos

npx create-react-app nomedesejado
code .
npm start

Conceitos

  • JSX — junta JavaScript com HTML.
  • <></> — Fragment: agrupa sem criar uma div no HTML.
  • state — guarda as variáveis do componente de forma privada.
  • props — propriedades passadas para o componente.
  • className — porque class é palavra reservada.
  • arrow function — = () => {} evita criar construtor e super.
  • SPA — Single Page Application: um só HTML, o JavaScript troca as telas; o caminho na URL é a rota.
  • UI / UX — interface do usuário / experiência ao usar a interface.

React Native

  • Expo
  • navegação

Iniciar

npm install -g yarn
npm install
expo start

React Navigation

npm install @react-navigation/native
npm install react-native-screens
npx expo install react-native-safe-area-context
npm install @react-navigation/native-stack
npm install @react-navigation/stack
npm install @react-navigation/bottom-tabs

npm e mobile

  • Node
  • SemVer
  • apps

npm

npm init -y

Gera o package.json (configuração do projeto) sem o questionário. Principais comandos: install, update, version, config.

  • dependencies — software de terceiros que o projeto precisa para funcionar (ex.: Router, Redux, Axios).
  • devDependencies — ajudam quem desenvolve; o projeto roda sem elas (ex.: ESLint, TypeScript, Storybook).
  • Gerenciadores — Windows: Chocolatey · Linux: apt / pacman · macOS: Homebrew.

SemVer

  • Patch — correção de bug ou performance, mantendo compatibilidade.
  • Minor — novas funcionalidades pequenas, mantendo compatibilidade.
  • Major — mudanças incompatíveis com a API atual.

Nativo × PWA × Híbrido

  • Nativo (Swift/Objective-C, Java/Kotlin) — quando segurança, performance e recursos do aparelho importam. Mais caro: duas linguagens e duas equipes.
  • PWA — site que se comporta como app; não ocupa espaço, curva de aprendizado pequena, mas pouco acesso a recursos.
  • Híbrido (ex.: React Native) — um código para todas as plataformas; rápido e barato, menos seguro que o nativo.

Formatação do Discord

  • Markdown
  • cores em code block

Texto

||spoiler||
**negrito**  *itálico*  __sublinhado__
# título
> citação

Texto colorido com blocos de código

```diff
- texto vermelho
+ texto verde
```
```fix
texto amarelo
```
```css
[texto laranja]
.texto
```
```bash
"texto ciano"
```