Jornada do Desenvolvedor - Escodoo/escodoo.github.io GitHub Wiki
Jornada do Desenvolvedor
Linux
Saber instalar pacotes
Exemplo: Instalar o pacote "wget"
sudo apt-get update
sudo apt-get install wget
Conhecer para que serve cada pasta no Linux
Exemplo: /etc: Armazena arquivos de configuração do sistema.
Saber usar os comandos sudo, chown e chmod
Exemplo: Mudar a propriedade e permissão de um arquivo
sudo chown usuario:grupo arquivo.txt
sudo chmod 755 arquivo.txt
Conectar em uma máquina remota via SSH
Exemplo: Conectar-se a um servidor remoto
ssh usuario@servidor
Remover, criar e listar diretórios
Exemplo: Criar um diretório chamado "exemplo"
mkdir exemplo
Edição básica de arquivos com nano
Exemplo: Editar o arquivo "arquivo.txt"
nano arquivo.txt
Docker
Como instalar Docker
Exemplo: Instalar Docker no Ubuntu
Listar imagens
docker images
Listar containers
docker ps -a
Criar uma imagem através de Dockerfile (hello-world)
FROM alpine:latest
CMD ["echo", "Hello, World!"]
Construir a imagem
docker build -t hello-world .
Rodar um container
docker run --name meu-container hello-world
Inspecionar, parar e iniciar o container
docker inspect meu-container
docker stop meu-container
docker start meu-container
Remover containers e imagens
docker rm meu-container
docker rmi hello-world
Objetivo final
Criar uma imagem nova que servirá para os testes posteriores com banco de dados, git, etc.
Postgres
Usar o Docker para instalar o Postgres
docker run --name postgres -e POSTGRES_PASSWORD=senha -d postgres
Saber os diretórios que o Postgres é instalado
Exemplo: /var/lib/postgresql/data
Conectar ao Postgres via psql
docker exec -it postgres psql -U postgres
Trocar senha do usuário postgres, criar usuário novo e banco de dados
ALTER USER postgres WITH PASSWORD 'nova_senha';
CREATE USER novo_usuario WITH PASSWORD 'senha';
CREATE DATABASE novo_banco OWNER novo_usuario;
Criar tabelas e entender primary key, foreign key e index
Exemplo: Criar uma tabela "clientes" e uma tabela "pedidos"
CREATE TABLE clientes (
id SERIAL PRIMARY KEY,
nome VARCHAR(255) NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL
);
CREATE TABLE pedidos (
id SERIAL PRIMARY KEY,
cliente_id INTEGER REFERENCES clientes(id),
data DATE NOT NULL,
valor DECIMAL(10, NOT NULL
);
CREATE INDEX idx_cliente_id ON pedidos(cliente_id);
Fazer inserção, atualização e exclusão de registros nesta tabela
INSERT INTO clientes (nome, email) VALUES ('Fulano', '[email protected]');
UPDATE clientes SET email='[email protected]' WHERE id=1;
DELETE FROM clientes WHERE id=1;
Listar tabelas e usuários via psql
\dt
\du
Git e Github
Saber clonar repositórios
git clone https://github.com/usuario/repositorio.git
O que é fork?
Um fork é uma cópia de um repositório, permitindo que você faça alterações sem afetar o projeto original.
Comandos básicos (init, add, commit, pull, checkout)
git init
git add .
git commit -m "Mensagem do commit"
git pull origin master
git checkout -b nova_branch
Remotes
git remote add origin https://github.com/usuario/repositorio.git
git push -u origin master
Criar branches e Pull Request
Crie uma branch e faça alterações no código, depois faça um commit e push
git checkout -b minha_feature
git add .
git commit -m "Adiciona nova feature"
git push origin minha_feature
No GitHub, vá até o repositório e clique em "Compare & pull request" para criar um Pull Request.
Python
Para que serve o comando pip
Pip é um gerenciador de pacotes Python, usado para instalar e gerenciar bibliotecas e dependências.
Criando virtualenv
python3 -m venv myenv
source myenv/bin/activate
Criar e rodar scripts básicos
Exemplo: "hello_world.py"
print("Hello, World!")
Rodar o script
python3 hello_world.py
Desafios
- Criar um script que faz conexão com um servidor via SSH e instala o Nginx no mesmo.
- Criar um script que insere dados no banco de dados instalado dentro do Docker (ex: cadastrar cliente).
- Criar um script que lê um arquivo CSV e mostre quantidade de colunas, linhas, e gere um outro CSV apenas com as linhas de número par.
Odoo
- TODO
Ansible
- TODO