You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/pt-PT/AGENTS.md

13 KiB

AGENTS.md

Visão Geral do Projeto

Data Science for Beginners é um currículo abrangente de 10 semanas e 20 lições, criado pelos Microsoft Azure Cloud Advocates. Este repositório é um recurso de aprendizagem que ensina conceitos fundamentais de ciência de dados através de lições baseadas em projetos, incluindo notebooks Jupyter, questionários interativos e tarefas práticas.

Principais Tecnologias:

  • Jupyter Notebooks: Meio principal de aprendizagem utilizando Python 3
  • Bibliotecas Python: pandas, numpy, matplotlib para análise e visualização de dados
  • Vue.js 2: Aplicação de questionários (pasta quiz-app)
  • Docsify: Gerador de sites de documentação para acesso offline
  • Node.js/npm: Gestão de pacotes para componentes JavaScript
  • Markdown: Todo o conteúdo das lições e documentação

Arquitetura:

  • Repositório educacional multilíngue com extensas traduções
  • Estruturado em módulos de lições (1-Introdução até 6-Ciência-de-Dados-no-Mundo-Real)
  • Cada lição inclui README, notebooks, tarefas e questionários
  • Aplicação de questionários Vue.js independente para avaliações pré/pós-lição
  • Suporte para GitHub Codespaces e contêineres de desenvolvimento do VS Code

Comandos de Configuração

Configuração do Repositório

# Clone the repository (if not already cloned)
git clone https://github.com/microsoft/Data-Science-For-Beginners.git
cd Data-Science-For-Beginners

Configuração do Ambiente Python

# Create a virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install common data science libraries (no requirements.txt exists)
pip install jupyter pandas numpy matplotlib seaborn scikit-learn

Configuração da Aplicação de Questionários

# Navigate to quiz app
cd quiz-app

# Install dependencies
npm install

# Start development server
npm run serve

# Build for production
npm run build

# Lint and fix files
npm run lint

Servidor de Documentação Docsify

# Install Docsify globally
npm install -g docsify-cli

# Serve documentation locally
docsify serve

# Documentation will be available at localhost:3000

Configuração de Projetos de Visualização

Para projetos de visualização como meaningful-visualizations (lição 13):

# Navigate to starter or solution folder
cd 3-Data-Visualization/13-meaningful-visualizations/starter

# Install dependencies
npm install

# Start development server
npm run serve

# Build for production
npm run build

# Lint files
npm run lint

Fluxo de Trabalho de Desenvolvimento

Trabalhando com Jupyter Notebooks

  1. Inicie o Jupyter na raiz do repositório: jupyter notebook
  2. Navegue até a pasta da lição desejada
  3. Abra os ficheiros .ipynb para realizar os exercícios
  4. Os notebooks são autossuficientes, com explicações e células de código
  5. A maioria dos notebooks utiliza pandas, numpy e matplotlib - certifique-se de que estão instalados

Estrutura das Lições

Cada lição geralmente contém:

  • README.md - Conteúdo principal da lição com teoria e exemplos
  • notebook.ipynb - Exercícios práticos em Jupyter Notebook
  • assignment.ipynb ou assignment.md - Tarefas práticas
  • Pasta solution/ - Notebooks e códigos de solução
  • Pasta images/ - Materiais visuais de suporte

Desenvolvimento da Aplicação de Questionários

  • Aplicação Vue.js 2 com recarregamento automático durante o desenvolvimento
  • Questionários armazenados em quiz-app/src/assets/translations/
  • Cada idioma tem a sua própria pasta de tradução (en, fr, es, etc.)
  • A numeração dos questionários começa em 0 e vai até 39 (40 questionários no total)

Adicionando Traduções

  • Traduções vão para a pasta translations/ na raiz do repositório
  • Cada idioma tem uma estrutura completa de lições espelhada do inglês
  • Tradução automatizada via GitHub Actions (co-op-translator.yml)

Instruções de Teste

Teste da Aplicação de Questionários

cd quiz-app

# Run lint checks
npm run lint

# Test build process
npm run build

# Manual testing: Start dev server and verify quiz functionality
npm run serve

Teste de Notebooks

  • Não existe um framework de teste automatizado para notebooks
  • Validação manual: Execute todas as células em sequência para garantir que não há erros
  • Verifique se os ficheiros de dados estão acessíveis e se os resultados são gerados corretamente
  • Confirme que as visualizações são renderizadas corretamente

Teste de Documentação

# Verify Docsify renders correctly
docsify serve

# Check for broken links manually by navigating through content
# Verify all lesson links work in the rendered documentation

Verificações de Qualidade de Código

# Vue.js projects (quiz-app and visualization projects)
cd quiz-app  # or visualization project folder
npm run lint

# Python notebooks - manual verification recommended
# Ensure imports work and cells execute without errors

Diretrizes de Estilo de Código

Python (Jupyter Notebooks)

  • Siga as diretrizes de estilo PEP 8 para código Python
  • Use nomes de variáveis claros que expliquem os dados analisados
  • Inclua células Markdown com explicações antes das células de código
  • Mantenha as células de código focadas em conceitos ou operações únicas
  • Use pandas para manipulação de dados, matplotlib para visualização
  • Padrão comum de importação:
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    

JavaScript/Vue.js

  • Siga o guia de estilo e as melhores práticas do Vue.js 2
  • Configuração do ESLint em quiz-app/package.json
  • Use componentes de ficheiro único Vue (.vue files)
  • Mantenha uma arquitetura baseada em componentes
  • Execute npm run lint antes de submeter alterações

Documentação em Markdown

  • Use uma hierarquia clara de cabeçalhos (# ## ### etc.)
  • Inclua blocos de código com especificadores de linguagem
  • Adicione texto alternativo para imagens
  • Ligue a lições e recursos relacionados
  • Mantenha comprimentos de linha razoáveis para facilitar a leitura

Organização de Ficheiros

  • Conteúdo das lições em pastas numeradas (01-definindo-ciencia-de-dados, etc.)
  • Soluções em subpastas dedicadas solution/
  • Traduções espelham a estrutura em inglês na pasta translations/
  • Mantenha os ficheiros de dados na pasta data/ ou em pastas específicas das lições

Construção e Implantação

Implantação da Aplicação de Questionários

cd quiz-app

# Build production version
npm run build

# Output is in dist/ folder
# Deploy dist/ folder to static hosting (Azure Static Web Apps, Netlify, etc.)

Implantação em Azure Static Web Apps

A aplicação quiz-app pode ser implantada no Azure Static Web Apps:

  1. Crie um recurso Azure Static Web App
  2. Conecte ao repositório GitHub
  3. Configure as definições de construção:
    • Localização da aplicação: quiz-app
    • Localização de saída: dist
  4. O fluxo de trabalho do GitHub Actions fará a implantação automática ao fazer push

Site de Documentação

# Build PDF from Docsify (optional)
npm run convert

# Docsify documentation is served directly from markdown files
# No build step required for deployment
# Deploy repository to static hosting with Docsify

GitHub Codespaces

  • O repositório inclui configuração de contêiner de desenvolvimento
  • O Codespaces configura automaticamente o ambiente Python e Node.js
  • Abra o repositório no Codespace via interface do GitHub
  • Todas as dependências são instaladas automaticamente

Diretrizes para Pull Requests

Antes de Submeter

# For Vue.js changes in quiz-app
cd quiz-app
npm run lint
npm run build

# Test changes locally
npm run serve

Formato do Título do PR

  • Use títulos claros e descritivos
  • Formato: [Componente] Breve descrição
  • Exemplos:
    • [Lição 7] Corrigir erro de importação no notebook Python
    • [Aplicação de Questionários] Adicionar tradução para alemão
    • [Documentação] Atualizar README com novos pré-requisitos

Verificações Necessárias

  • Certifique-se de que todo o código é executado sem erros
  • Verifique se os notebooks são executados completamente
  • Confirme que as aplicações Vue.js são construídas com sucesso
  • Verifique se os links da documentação funcionam
  • Teste a aplicação de questionários se modificada
  • Confirme que as traduções mantêm uma estrutura consistente

Diretrizes de Contribuição

  • Siga o estilo e os padrões de código existentes
  • Adicione comentários explicativos para lógica complexa
  • Atualize a documentação relevante
  • Teste alterações em diferentes módulos de lições, se aplicável
  • Consulte o ficheiro CONTRIBUTING.md

Notas Adicionais

Bibliotecas Comuns Utilizadas

  • pandas: Manipulação e análise de dados
  • numpy: Computação numérica
  • matplotlib: Visualização e criação de gráficos
  • seaborn: Visualização estatística de dados (algumas lições)
  • scikit-learn: Aprendizagem de máquina (lições avançadas)

Trabalhando com Ficheiros de Dados

  • Ficheiros de dados localizados na pasta data/ ou em diretórios específicos das lições
  • A maioria dos notebooks espera ficheiros de dados em caminhos relativos
  • Ficheiros CSV são o formato de dados principal
  • Algumas lições utilizam JSON para exemplos de dados não relacionais

Suporte Multilíngue

  • Mais de 40 traduções de idiomas via GitHub Actions automatizado
  • Fluxo de trabalho de tradução em .github/workflows/co-op-translator.yml
  • Traduções na pasta translations/ com códigos de idioma
  • Traduções de questionários em quiz-app/src/assets/translations/

Opções de Ambiente de Desenvolvimento

  1. Desenvolvimento Local: Instale Python, Jupyter, Node.js localmente
  2. GitHub Codespaces: Ambiente de desenvolvimento instantâneo na nuvem
  3. Contêineres de Desenvolvimento do VS Code: Desenvolvimento local baseado em contêineres
  4. Binder: Inicie notebooks na nuvem (se configurado)

Diretrizes de Conteúdo das Lições

  • Cada lição é independente, mas constrói conceitos anteriores
  • Questionários pré-lição testam conhecimentos prévios
  • Questionários pós-lição reforçam o aprendizado
  • Tarefas oferecem prática prática
  • Sketchnotes fornecem resumos visuais

Resolução de Problemas Comuns

Problemas com o Kernel do Jupyter:

# Ensure correct kernel is installed
python -m ipykernel install --user --name=datascience

Falhas na Instalação do npm:

# Clear npm cache and retry
npm cache clean --force
rm -rf node_modules package-lock.json
npm install

Erros de Importação em Notebooks:

  • Verifique se todas as bibliotecas necessárias estão instaladas
  • Confirme a compatibilidade da versão do Python (recomenda-se Python 3.7+)
  • Certifique-se de que o ambiente virtual está ativado

Docsify Não Carrega:

  • Verifique se está a servir a partir da raiz do repositório
  • Confirme que o ficheiro index.html existe
  • Certifique-se de que há acesso de rede adequado (porta 3000)

Considerações de Desempenho

  • Conjuntos de dados grandes podem demorar a carregar nos notebooks
  • A renderização de visualizações pode ser lenta para gráficos complexos
  • O servidor de desenvolvimento Vue.js permite recarregamento rápido para iteração
  • As construções de produção são otimizadas e minificadas

Notas de Segurança

  • Não devem ser comprometidos dados sensíveis ou credenciais
  • Use variáveis de ambiente para quaisquer chaves de API em lições na nuvem
  • Lições relacionadas ao Azure podem exigir credenciais de conta Azure
  • Mantenha as dependências atualizadas para correções de segurança

Contribuindo com Traduções

  • Traduções automatizadas geridas via GitHub Actions
  • Correções manuais são bem-vindas para melhorar a precisão das traduções
  • Siga a estrutura de pastas de tradução existente
  • Atualize os links dos questionários para incluir o parâmetro de idioma: ?loc=fr
  • Teste as lições traduzidas para garantir a renderização adequada

Recursos Relacionados

Manutenção do Projeto

  • Atualizações regulares para manter o conteúdo atual
  • Contribuições da comunidade são bem-vindas
  • Problemas rastreados no GitHub
  • PRs revisados pelos mantenedores do currículo
  • Revisões e atualizações de conteúdo mensais

Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritária. Para informações críticas, recomenda-se uma tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas resultantes do uso desta tradução.