Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante   Click to listen highlighted text! Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante

Linguagem de Programação (Subsequente de Infraestrutura) – Aula 01

📘 Módulo I – Fundamentos e Lógica para Infraestrutura

🔹 Organização Geral

  • Carga semanal: 2 aulas

  • Duração: ~50 min cada (ajustável)

  • Metodologia: exposição + prática guiada + exercício aplicado

  • Foco: automação básica de tarefas de redes


🧩 Semana 1 – Introdução e Ambiente


🧪 Aula 1 – O que é Python e uso em Redes

🎯 Objetivos

  • Compreender o papel do Python na área de redes

  • Configurar ambiente de desenvolvimento

📚 Conteúdo

  • Python como linguagem de automação

  • Aplicações em redes:

    • Monitoramento

    • Scripts administrativos

    • Processamento de logs

  • Instalação:

    • Python (Linux Mint já vem)

    • IDLE / PyCharm

    • VisualCode

💡 Demonstração prática

# Primeiro script - validação do ambiente

print("Ambiente Python funcionando corretamente!")

📌 Atividade

  • Executar script no terminal

  • Validar versão:

python3 --version

🧪 Aula 2 – Variáveis e Tipos de Dados

🎯 Objetivos

  • Entender tipos básicos

  • Aplicar em contexto de redes

📚 Conteúdo

  • Tipos:

    • int

    • float

    • string

  • Entrada de dados (input)

  • Conversão de tipos


💻 Exemplo Prático (Infraestrutura)

📌 Problema:

Armazenar nomes de servidores e IPs

# Script: Cadastro simples de servidores

# Entrada de dados
nome_servidor = input("Digite o nome do servidor: ")
ip_servidor = input("Digite o endereço IP: ")

# Exibição formatada
print("\n--- Cadastro Realizado ---")
print("Servidor:", nome_servidor)
print("IP:", ip_servidor)

🧠 Explicação

  • input() → entrada de dados

  • Strings são usadas para representar IPs (não números)

  • Estrutura simples, mas útil para inventário inicial

✅ Validação

  • Testar com:

    • servidor: web01

    • IP: 192.168.0.10


🧩 Semana 2 – Manipulação de Strings


🧪 Aula 3 – Strings e Slicing

🎯 Objetivos

  • Trabalhar strings como sequências

  • Aplicar slicing em logs

📚 Conteúdo

  • Indexação

  • Fatiamento ([inicio:fim])


💻 Exemplo

log = "2026-04-08 ERROR Falha no servidor web01"

# Extraindo data
data = log[0:10]

print("Data:", data)

🧠 Explicação

  • Strings são sequências indexadas

  • Muito útil para logs estruturados


🧪 Aula 4 – Métodos de String (Parsing de Logs)

🎯 Objetivos

  • Aplicar split, join, strip

  • Interpretar logs


💻 Exemplo Prático (Parsing de Log)

📌 Problema:

Extrair timestamp e mensagem de erro

# Linha de log simulada
log = "2026-04-08 10:30:45 ERROR Servidor web01 indisponível"

# Separando os elementos
partes = log.split()

# Extraindo dados
data = partes[0]
hora = partes[1]
nivel = partes[2]

# Mensagem completa (join para reconstruir)
mensagem = " ".join(partes[3:])

# Exibição
print("Data:", data)
print("Hora:", hora)
print("Nível:", nivel)
print("Mensagem:", mensagem)

🧠 Explicação

  • split() → transforma string em lista

  • join() → reconstrói string

  • Técnica essencial para logs de servidores

✅ Validação

Entrada:

2026-04-08 10:30:45 ERROR Servidor web01 indisponível

Saída esperada:

Data: 2026-04-08
Hora: 10:30:45
Nível: ERROR
Mensagem: Servidor web01 indisponível

Explicação detalhada conseguida em uma IA (Deepseek)

Use IA de forma responsável e inteligente.

Prompt:

“Explique o código Python abaixo, seja didático e detalhista.

# Linha de log simulada
log = "2026-04-08 10:30:45 ERROR Servidor web01 indisponível"

# Separando os elementos
partes = log.split()

# Extraindo dados
data = partes[0]
hora = partes[1]
nivel = partes[2]

# Mensagem completa (join para reconstruir)
mensagem = " ".join(partes[3:])

# Exibição
print("Data:", data)
print("Hora:", hora)
print("Nível:", nivel)
print("Mensagem:", mensagem)"

📘 Explicação didática: Processando uma linha de log em Python

Este código demonstra como processar uma linha de log (registro de eventos de sistema), extraindo suas partes: data, hora, nível de severidade e a mensagem propriamente dita.

🔍 Código completo

# Linha de log simulada
log = "2026-04-08 10:30:45 ERROR Servidor web01 indisponível"

# Separando os elementos
partes = log.split()

# Extraindo dados
data = partes[0]
hora = partes[1]
nivel = partes[2]

# Mensagem completa (join para reconstruir)
mensagem = " ".join(partes[3:])

# Exibição
print("Data:", data)
print("Hora:", hora)
print("Nível:", nivel)
print("Mensagem:", mensagem)
  

📌 Visão geral

O código pega uma string de log simulada e a divide em partes usando espaços como separadores. Depois, extrai cada campo individualmente e reconstrói a mensagem final.

🧩 Análise linha por linha

1️⃣ A string de log simulada

log = "2026-04-08 10:30:45 ERROR Servidor web01 indisponível"
  
  • Criamos uma variável chamada log contendo uma string.
  • Estrutura: [DATA] [HORA] [NÍVEL] [MENSAGEM...]
  • Data: 2026-04-08 | Hora: 10:30:45 | Nível: ERROR | Mensagem: Servidor web01 indisponível

2️⃣ Separando os elementos

partes = log.split()
  
  • .split() sem argumentos quebra a string em cada ocorrência de um ou mais espaços.
  • Retorna uma lista: ['2026-04-08', '10:30:45', 'ERROR', 'Servidor', 'web01', 'indisponível']

3️⃣ Extraindo dados individuais

data = partes[0]
hora = partes[1]
nivel = partes[2]
  
  • Indexação de listas começa em 0.
  • partes[0]'2026-04-08'
  • partes[1]'10:30:45'
  • partes[2]'ERROR'

4️⃣ Reconstruindo a mensagem completa

mensagem = " ".join(partes[3:])
  
  • partes[3:] → fatia do índice 3 até o final: ['Servidor', 'web01', 'indisponível']
  • " ".join(...) → junta os elementos com espaço entre eles.
  • Resultado: 'Servidor web01 indisponível'
  • Por que não usar apenas partes[3]? Porque a mensagem tem várias palavras; assim perdemos o restante.

5️⃣ Exibindo os resultados

print("Data:", data)
print("Hora:", hora)
print("Nível:", nivel)
print("Mensagem:", mensagem)
  

Saída no console:

Data: 2026-04-08
Hora: 10:30:45
Nível: ERROR
Mensagem: Servidor web01 indisponível
  

🎓 Conceitos importantes ensinados

  • Strings e métodos de string: .split() é fundamental para processamento de texto.
  • Listas e indexação: listas são ordenadas, índices começam em 0.
  • Fatiamento (slicing): [inicio:fim] onde o fim é exclusivo.
  • Junção com .join(): mais eficiente que concatenação com +.

💡 Exemplo de uso real

if nivel == "ERROR":
    enviar_alerta(f"ERRO CRÍTICO em {data} {hora}: {mensagem}")
  

🚀 Variações e melhorias

Usando desempacotamento (Python avançado):

data, hora, nivel, *mensagem_partes = log.split()
mensagem = " ".join(mensagem_partes)
  

Separador diferente (ex.: pipe |):

partes = log.split("|")
  

✅ Este código é um excelente exemplo de processamento de texto e manipulação de listas — habilidades essenciais para análise de logs, automação e tratamento de dados em Python.

 


🧩 Semana 3 – Estruturas Condicionais


🧪 Aula 5 – if, else, elif

🎯 Objetivos

  • Tomada de decisão em scripts

  • Aplicação em monitoramento


🧪 Aula 6 – Operadores Lógicos

🎯 Objetivos

  • Trabalhar com condições compostas

  • Criar alertas automatizados


💻 Exemplo Prático (Monitoramento de Disco)

📌 Problema:

Emitir alerta se uso > 90%

# Entrada de dados
uso_disco = float(input("Digite o uso de disco (%): "))

# Verificação
if uso_disco > 90:
    print("ALERTA: Uso de disco crítico!")
elif uso_disco > 70:
    print("Atenção: Uso de disco elevado.")
else:
    print("Uso de disco normal.")

🧠 Explicação

  • float() → conversão para número

  • Estrutura condicional:

    • Crítico (>90)

    • Atenção (>70)

    • Normal


🔍 Versão mais próxima do mundo real

# Simulação de monitoramento de servidor

servidor = input("Nome do servidor: ")
uso_disco = float(input("Uso de disco (%): "))

print("\n--- Status do Servidor ---")

if uso_disco > 90:
    print(f"Servidor {servidor}: CRÍTICO - ação imediata necessária!")
elif uso_disco > 70:
    print(f"Servidor {servidor}: Atenção - monitorar.")
else:
    print(f"Servidor {servidor}: OK.")

✅ Validação

Entrada:

Servidor: web01
Uso: 95

Saída:

Servidor web01: CRÍTICO - ação imediata necessária!

Fim da aula 01

Click to listen highlighted text!