Aula 01 - Introdução ao Ecossistema de Ferramentas 🌐
Objetivo
Objetivo: Compreender a importância das ferramentas no ciclo de vida de desenvolvimento de software e identificar as principais categorias de ferramentas utilizadas por equipes profissionais.
1. Por que as Ferramentas Importam? 🛠️
No desenvolvimento moderno, escrever código é apenas uma parte do trabalho. Para entregar software de forma eficiente, segura e colaborativa, utilizamos um conjunto de ferramentas que formam o nosso ecossistema de desenvolvimento.
🧠 Conceito: O Cinto de Utilidades do Dev
Assim como um marceneiro precisa de ferramentas especializadas para diferentes cortes e acabamentos, o ciclo de vida do software exige plataformas dedicadas. IDEs, controle de versão e pipelines formam uma cadeia de valor onde a saída de uma ferramenta alimenta a entrada da próxima.
No seu dia a dia profissional, você não abrirá apenas o VS Code. Seu fluxo será: Ler a Issue no Jira -> Criar branch no Git -> Escrever Código no VS Code -> Testar com Jest -> Subir um Pull Request no GitHub -> Ver o CI/CD (Actions) validar seu código.
2. Categorias de Ferramentas 🗂️
Podemos dividir as ferramentas essenciais em grandes blocos:
- Gestão e Organização: Onde planejamos o que será feito (Jira, Trello).
- Ambiente de Desenvolvimento: Onde o código nasce (VS Code, Terminal).
- Controle de Versão: Onde guardamos o histórico e colaboramos (Git, GitHub).
- Bancos de Dados: Onde os dados residem (PostgreSQL, MongoDB).
- Qualidade e Testes: Onde garantimos que tudo funciona (Postman, Jest).
- Infraestrutura e CI/CD: Onde o código "vai pro mundo" (Docker, GitHub Actions).
Visualização do Fluxo Profissional
```mermaid graph LR Plan([Planejamento]) --> Dev([Desenvolvimento]) Dev --> Test([Testes]) Test --> Deploy([Deploy/Produção]) Deploy --> Monitor([Monitoramento]) Monitor --> Plan
subgraph Ferramentas
Plan -.-> Jira
Dev -.-> VSCode
Test -.-> Postman
Deploy -.-> Docker
end
```
3. A Importância da Automação 🤖
Uma das metas deste curso é ensinar você a parar de fazer tarefas repetitivas manualmente.
Conceito
Automação é o uso de ferramentas para executar processos que seriam lentos ou propensos a erro se feitos por humanos (ex: rodar todos os testes do sistema a cada alteração no código).
4. O Coração do Desenvolvimento: O Terminal 💻
Quase todas as ferramentas profissionais possuem uma interface de linha de comando (CLI). Dominar o terminal é o primeiro passo para se tornar um desenvolvedor avançado.
5. Prática: Diagnóstico do Cinto de Ferramentas 🚀
Sua primeira missão é verificar o que você já tem instalado e o que precisaremos configurar:
- Abra seu terminal (CMD, PowerShell ou Terminal do macOS/Linux).
- Tente executar os comandos:
git --version,code --version,docker --version. - Anote quais ferramentas responderam com a versão e quais não foram encontradas.
- Crie uma conta gratuita no GitHub caso ainda não possua.
🔗 Materiais da Aula
-
Slides
Material visual com diagramas e conceitos-chave.
-
Quiz
Teste seu conhecimento com 10 questões interativas.
-
Exercícios
5 exercícios progressivos (básico → desafio).
-
Projeto
Aplicação prática dos conceitos da aula.