-
Árvores de Decisão em Ciência da Computação usadas em inteligência artificial
Uma Árvore de Decisão é: •um nó folha (ou nó resposta) que contém o nome de uma classe ou o símbolo nulo (nulo indica que não é possível atribuir nenhuma
-
Métodos Ensemble em Ciência da Computação usadas em inteligência artificial
Estes métodos são a combinação de diferentes modelos para se obter um único resultado. Eles são construídos de maneira similar aos algoritmos mais simples, como regressão linear ou árvore de
-
Árvores em Ciência da Computação usadas em inteligência artificial
Árvores de decisão ou árvores de classificação são definidas informalmente como modelos de aprendizado supervisionado que representam regras de decisão baseadas nos valores dos atributos. São muito usadas em inteligência
-
Epigramas interessantes do primeiro laureado com o prêmio Turing da ACM!
Oi caro(a) leitor(a), começo com a definição de epigrama. Depois com os comentários do Alan J. Perlis sobre os fenômenos que cercam os computadores e produzem uma base surpreendentemente rica
-
Cinco enxadristas famosos que aparecem em várias listas de melhores de todos os tempos!
A lista dos cinco enxadristas está ordenada pela data de nascimento, seguida por uma curta biografia do gênio enxadrista Começo com um desafio! No menu jogos deste site, tem um
-
Repositórios para aprender AI, Machine Learning, Deep Learning, NLP e Reinforcement Learning
Repositórios para aprender AI/ML — Herez Repositórios para aprender AI/ML
Autor: Herez
Este post reúne descrições práticas de repositórios que eu, Herez, utilizei para estudar inteligência artificial e aprendizado de máquina. Para cada repositório há uma explicação objetiva e um exemplo real de como o utilizei para aprender, experimentar ou aplicar conceitos.
microsoft/ML-For-Beginners
O que é: Coleção estruturada de lições e notebooks para iniciantes em machine learning, cobrindo conceitos fundamentais com exercícios práticos.
Como eu usei: Segui os notebooks de regressão e classificação para revisar conceitos básicos; adaptei um notebook de classificação para um dataset próprio e comparei resultados com diferentes pré-processamentos.Avik-Jain/100-Days-Of-ML-Code
O que é: Plano de estudos com 100 exercícios e projetos curtos para praticar ML diariamente.
Como eu usei: Adotei a rotina de 30 dias focada em feature engineering e deploy simples; documentei cada experimento em um repositório pessoal para acompanhar evolução.TheAlgorithms/Python
O que é: Implementações em Python de algoritmos clássicos (estruturas de dados, algoritmos de busca, otimização), úteis para entender fundamentos computacionais.
Como eu usei: Estudei implementações de algoritmos de otimização e reescrevi versões simplificadas para entender como gradientes e buscas locais funcionam em problemas de ML.mml-book/mml-book.github.io
O que é: Material didático sobre machine learning moderno, com explicações teóricas e exemplos práticos.
Como eu usei: Consultei capítulos sobre regularização e generalização para ajustar hiperparâmetros em modelos de redes neurais que eu treinava em pequenos datasets.GokuMohandas/Made-With-ML
O que é: Coleção de projetos e tutoriais práticos que mostram aplicações reais de ML, desde protótipos até deploy.
Como eu usei: Inspirei-me em um projeto de classificação de texto para montar um pipeline de pré-processamento e deploy em container para um protótipo pessoal.labmlai/annotated_deep_learning_papers
O que é: Resumos e anotações de artigos importantes de deep learning, com explicações acessíveis e implementações de referência.
Como eu usei: Li a anotação de um paper sobre atenção e implementei uma versão reduzida para testar impacto em uma tarefa de classificação de sequência.karpathy/nn-zero-to-hero
O que é: Material didático que explica redes neurais do zero, com implementações simples para aprendizado conceitual.
Como eu usei: Reproduzi os exercícios de backpropagation em NumPy para fixar a matemática por trás do treinamento de redes.HandsOnLLM/Hands-On-Large-Language-Models
O que é: Recursos práticos para trabalhar com grandes modelos de linguagem (LLMs), incluindo exemplos de prompt engineering e pipelines de inferência.
Como eu usei: Testei exemplos de fine-tuning leve e pipelines de inferência para entender trade-offs entre latência e qualidade em LLMs menores.dair-ai/Prompt-Engineering-Guide
O que é: Guia com técnicas e padrões para criar prompts eficazes ao trabalhar com modelos de linguagem.
Como eu usei: Apliquei padrões de prompt para melhorar respostas em tarefas de extração de informação e comparei variações para medir robustez.microsoft/ai-agents-for-beginners
O que é: Recursos introdutórios sobre agentes de IA, cobrindo conceitos de arquitetura, planejamento e integração com modelos.
Como eu usei: Experimentei um exemplo de agente simples para automatizar uma tarefa de coleta de dados e aprimorei a lógica de decisão com regras básicas.NirDiamant/GenAI_Agents
O que é: Repositório com exemplos e padrões para construir agentes baseados em modelos generativos.
Como eu usei: Combinei um padrão de agente com um fluxo de prompts para criar um assistente que gera resumos técnicos a partir de textos longos.NirDiamant/RAG_Techniques
O que é: Técnicas e exemplos de Retrieval-Augmented Generation (RAG) para integrar recuperação de documentos com geração de texto.
Como eu usei: Modelei um pipeline RAG para responder perguntas sobre um conjunto de documentos internos, avaliando precisão e latência.academic/awesome-datascience
O que é: Curadoria de recursos, cursos e ferramentas para ciência de dados e aprendizado de máquina.
Como eu usei: Usei a curadoria para montar um plano de estudos personalizado, priorizando tópicos de estatística aplicada e visualização de dados.keon/awesome-nlp
O que é: Lista de recursos e bibliotecas para processamento de linguagem natural (NLP).
Como eu usei: Explorei bibliotecas recomendadas para tokenização e embeddings e comparei resultados em tarefas de classificação de sentimento.aikorea/awesome-rl
O que é: Coleção de recursos sobre reinforcement learning (RL), incluindo tutoriais, implementações e papers.
Como eu usei: Segui um tutorial de RL para treinar um agente simples em um ambiente simulado e analisei curvas de recompensa para ajustar hiperparâmetros.FareedKhan-dev/all-rl-algorithms
O que é: Implementações de diversos algoritmos de RL para estudo e comparação.
Como eu usei: Comparei implementações de DQN e PPO em um problema reduzido para entender diferenças de estabilidade e convergência.
Como eu recomendo usar esses repositórios
- Monte um plano de estudos prático: combine um repositório teórico (papers/anotações) com um repositório de projetos práticos.
- Reproduza experimentos mínimos: implemente versões reduzidas dos exemplos antes de tentar reproduzir o pipeline completo.
- Documente tudo: mantenha um diário de experimentos com comandos, parâmetros e resultados para acelerar aprendizado.
- Integre aprendizado com projetos reais: aplique conceitos em pequenos projetos que resolvam problemas concretos.

-
Comandos do Linux para Rede
Guia prático de comandos de rede Linux — Herez Guia prático de comandos de rede Linux
Autor: Herez
Este post reúne explicações objetivas de comandos essenciais para diagnóstico e administração de redes em sistemas Linux, acompanhadas de exemplos reais usados por Herez em ambientes de produção e laboratório. O objetivo é fornecer um material direto ao ponto, útil para administradores, desenvolvedores e estudantes.
Sumário rápido
- Comandos para ver interfaces e endereços
- Ferramentas de conectividade e roteamento
- Inspeção de sockets e portas
- Diagnóstico DNS e Wi‑Fi
- Captura e monitoramento de tráfego
ip a— listar interfaces e endereços IPExibe as interfaces de rede e os endereços IP atribuídos (IPv4/IPv6). É o comando rápido para checar se uma interface está ativa e quais endereços estão configurados.
# Exemplo real (Herez) ip a # Saída: mostra interfaces como eth0, wlan0, lo e seus endereçosUso prático: ao conectar um servidor novo, Herez executaip apara confirmar se o IP está presente e se a interface está UP.ip addr show— informações detalhadas das interfacesVersão mais explícita de
ip a, útil quando se quer ver detalhes como escopos, etiquetas e endereços secundários.# Exemplo real (Herez) ip addr show eth0 # Mostra detalhes completos da interface eth0Uso prático: Herez usa para verificar alias IPs e endereços secundários antes de configurar balanceamento.ip route show— tabela de roteamentoMostra a tabela de roteamento do kernel: rotas padrão, rotas específicas e interfaces associadas.
# Exemplo real (Herez) ip route show # Saída: default via 192.168.1.1 dev eth0; 10.0.0.0/24 dev eth1Uso prático: ao diagnosticar tráfego que não chega a um destino, Herez verifica se a rota padrão está correta.ip link show— listar interfaces e statusLista interfaces de rede com seu estado (UP/DOWN), MTU e flags. Útil para checar se a interface foi ativada pelo sistema.
# Exemplo real (Herez) ip link show wlan0 # Verifica se wlan0 está UP e qual é o MTUUso prático: Herez usa antes de reiniciar serviços de rede para confirmar que a interface física está ativa.ping [host]— testar conectividadeEnvia ICMP echo requests para verificar latência e perda de pacotes até um host. Ferramenta básica para checar se um destino está alcançável.
# Exemplo real (Herez) ping -c 5 8.8.8.8 # Envia 5 pacotes para o DNS público e mostra tempo de respostaUso prático: Herez testa conectividade externa comping -c 5 8.8.8.8antes de abrir chamados com o provedor.traceroute [destino]— caminho dos pacotesMostra cada salto entre sua máquina e o destino, ajudando a identificar onde ocorrem latência ou perda.
# Exemplo real (Herez) traceroute example.com # Exibe a rota e tempos por salto até example.comUso prático: Herez usa para localizar um salto problemático quando um serviço remoto está lento.mtr [destino]— análise contínua de latência e perdaCombina as funcionalidades de
pingetracerouteem tempo real, mostrando estatísticas por salto.# Exemplo real (Herez) mtr -rw example.com # Executa mtr em modo relatório e resolve nomesUso prático: Herez rodamtrpor alguns minutos para coletar dados antes de abrir um ticket de rede.ss -tuln— conexões e portas abertasLista sockets TCP/UDP em escuta sem resolver nomes, útil para ver quais portas estão abertas no sistema.
# Exemplo real (Herez) ss -tuln # Mostra serviços escutando: 0.0.0.0:80, 127.0.0.1:5432, etc.Uso prático: Herez verifica portas abertas após deploy para confirmar que o serviço iniciou corretamente.ss -tulnp— conexões, portas e processosSemelhante ao anterior, mas inclui o PID/Programa associado a cada socket (quando permitido).
# Exemplo real (Herez) ss -tulnp | grep :8080 # Identifica qual processo está escutando na porta 8080Uso prático: Herez usa para descobrir processos órfãos que ocupam portas antes de reiniciar serviços.ip neigh— vizinhança ARP/NDMostra a tabela ARP (IPv4) ou Neighbor Discovery (IPv6), útil para mapear endereços MAC associados a IPs na rede local.
# Exemplo real (Herez) ip neigh show # Lista IPs e MACs conhecidos no segmento localUso prático: Herez confirma se um IP está respondendo no nível de enlace antes de investigar camadas superiores.hostname— nome da máquinaExibe (ou define) o nome do host local. Útil para identificar rapidamente qual servidor você está acessando.
# Exemplo real (Herez) hostname # Saída: web01-prodUso prático: Herez inclui o resultado dehostnameem relatórios para identificar o servidor afetado.hostname -I— IPs da máquinaMostra os endereços IP atribuídos ao host em uma linha, prático para scripts e verificações rápidas.
# Exemplo real (Herez) hostname -I # Saída: 192.168.1.45 10.0.0.12Uso prático: Herez usa em scripts de deploy para registrar IPs atuais do nó.dig [domínio]— consulta DNSFerramenta poderosa para consultar registros DNS (A, AAAA, MX, TXT, etc.) e diagnosticar problemas de resolução.
# Exemplo real (Herez) dig +short example.com A # Retorna o(s) endereço(s) IPv4 do domínioUso prático: Herez verifica se o registro A foi propagado após alteração de DNS.resolvectl query [domínio]— consulta DNS via systemd-resolvedUsado em sistemas com systemd-resolved para consultar e inspecionar resolução de nomes e servidores configurados.
# Exemplo real (Herez) resolvectl query example.com # Mostra resposta e qual resolvedor foi consultadoUso prático: Herez usa quando o host usa systemd-resolved para identificar qual servidor DNS respondeu.nmcli device status— status das interfaces (NetworkManager)Comando do NetworkManager para ver o estado das interfaces gerenciadas por ele (conectado/desconectado).
# Exemplo real (Herez) nmcli device status # Exibe dispositivos e seu estado: connected/disconnectedUso prático: Herez verifica se o NetworkManager gerencia a interface antes de aplicar configurações manuais.iw dev— listar interfaces Wi‑FiLista interfaces sem fio e suas propriedades; útil em diagnósticos de Wi‑Fi em Linux.
# Exemplo real (Herez) iw dev # Mostra interfaces como wlan0 e suas capacidadesUso prático: Herez usa para confirmar o nome da interface antes de executar comandos de conexão.iw dev [interface] link— status da conexão Wi‑FiMostra o estado atual da conexão sem fio: SSID, BSSID, taxa de transmissão e sinal.
# Exemplo real (Herez) iw dev wlan0 link # Exibe SSID conectado, sinal e taxaUso prático: Herez verifica qualidade do sinal em notebooks de campo com este comando.ethtool [interface]— informações da interface EthernetExibe e configura parâmetros da interface Ethernet: velocidade, duplex, auto‑negociação e estatísticas.
# Exemplo real (Herez) ethtool eth0 # Mostra speed:1000Mb/s, duplex:full, link detected: yesUso prático: Herez confirma se a interface negociou 1Gbps após troca de cabo ou switch.tcpdump -i [interface]— captura de pacotesCaptura pacotes na interface especificada; essencial para análise profunda de tráfego e investigação de problemas.
# Exemplo real (Herez) sudo tcpdump -i eth0 -n host 10.0.0.5 and port 443 -c 100 -w capture.pcap # Captura 100 pacotes HTTPS do host 10.0.0.5 e salva em capture.pcapUso prático: Herez captura tráfego específico para análise com Wireshark em casos de falha de integração.Observação: use com cuidado em ambientes de produção e respeite políticas de privacidade e segurança.
ip monitor— monitorar eventos de rede em tempo realMonitora mudanças no estado de interfaces, rotas e vizinhança ARP em tempo real — útil para depuração dinâmica.
# Exemplo real (Herez) ip monitor all # Exibe eventos como: link up/down, rota adicionada/removida, neighbor changedUso prático: Herez deixa rodando em uma sessão durante testes de failover para observar eventos ao vivo.
Boas práticas rápidas
- Execute comandos de diagnóstico com privilégios adequados (sudo quando necessário) e registre saídas para auditoria.
- Combine ferramentas: por exemplo, use
sspara identificar uma porta etcpdumppara capturar tráfego relacionado. - Em ambientes de produção, prefira capturas filtradas e com limite de pacotes para evitar impacto de I/O.
- Documente comandos e resultados relevantes no seu repositório de operações para acelerar futuras investigações.
Exemplos de fluxo de diagnóstico (resumido)
- Verificar interfaces e IPs:
ip a/hostname -I. - Testar conectividade externa:
ping -c 5 8.8.8.8. - Rastrear rota:
traceroute example.comoumtr -rw example.com. - Checar serviços locais:
ss -tulnp. - Capturar tráfego específico:
sudo tcpdump -i eth0 host X and port Y -c 200 -w /tmp/cap.pcap.
Este post foi redigido por Herez e contém exemplos práticos usados por ele em operações e testes de rede.

-
Instalação e primeiros comandos em Python
Curso Prático Python Básico — Guia Herez (Passo a passo, exemplos e projeto final) Curso Prático Python Básico — Guia Herez
Visão geral: este curso passo a passo ensina os fundamentos de Python com exemplos simples e sequenciais que, ao final, formam um sistema CLI ToDo (lista de tarefas). Todos os trechos foram testados e aplicados em projetos reais da Herez; repositórios com exemplos completos estão nos repositórios Herez.
Sumário- Instalação e ambiente
- Primeiros comandos: print, comentários, variáveis
- Tipos básicos e operações
- Estruturas de controle: if, for, while
- Funções e módulos
- Listas, tuplas, dicionários e conjuntos
- Leitura e escrita de arquivos
- Tratamento de exceções
- Classes e orientação a objetos
- Construindo o projeto: CLI ToDo (passo a passo)
- Boas práticas, testes e deploy simples
- Piada Herez
1. Instalação e ambiente
Instale Python 3.x. Crie um ambiente virtual para isolar dependências:
python3 -m venv .venv source .venv/bin/activate # Linux / macOS .venv\Scripts\activate # WindowsInstale pacotes com
pipe registre dependências:pip install click pip freeze > requirements.txtContexto Herez: usamos ambientes virtuais em todos os projetos para garantir reprodutibilidade; exemplos completos no repositório Herez incluem Dockerfile e CI.
2. Primeiros comandos: print, comentários, variáveis
print exibe texto no console. Comentários com
#. Variáveis são dinamicamente tipadas.# hello.py # Este é um comentário name = "Ana" age = 28 print("Olá,", name) print(f"Idade: {age}")Explicação:f-strings(Python 3.6+) facilitam interpolação. Em projetos Herez usamos prints para logs simples em scripts de manutenção.
3. Tipos básicos e operações
Tipos comuns:
int,float,str,bool.# types.py a = 10 # int b = 3.14 # float s = "texto" # str flag = True # bool # operações print(a + 5) print(b * 2) print(s.upper())Uso Herez: validações de entrada e conversões são comuns em scripts ETL; sempre trate exceções ao converter tipos.
4. Estruturas de controle: if, for, while
# controle.py x = 5 if x > 0: print("positivo") elif x == 0: print("zero") else: print("negativo") # for for i in range(5): print(i) # while n = 3 while n > 0: print("n =", n) n -= 1Contexto Herez: loops são usados para processar lotes de arquivos; prefira iteradores e geradores para memória eficiente.
5. Funções e módulos
Defina funções com
def. Organize código em módulos e pacotes.# utils.py def soma(a, b): return a + b # main.py from utils import soma print(soma(2,3))Contexto Herez: funções puras facilitam testes unitários; usamos módulos para separar lógica de I/O e regras de negócio.
6. Coleções: listas, tuplas, dicionários e conjuntos
# collections.py lista = [1,2,3] tupla = (1,2,3) d = {'nome':'Ana', 'idade':28} s = {1,2,3} # comprehensions quadrados = [x*x for x in range(5)] filtrados = [x for x in lista if x > 1]Contexto Herez: dicionários são usados para representar registros; comprehensions tornam transformações concisas e legíveis.
7. Leitura e escrita de arquivos
# file_io.py # escrever with open('data.txt','w', encoding='utf-8') as f: f.write('linha1\\nlinha2\\n') # ler with open('data.txt','r', encoding='utf-8') as f: for line in f: print(line.strip())Contexto Herez: usamos streams e CSV/JSON para pipelines; sempre feche arquivos (usewith).
8. Tratamento de exceções
# exceptions.py try: x = int(input("Digite um número: ")) except ValueError: print("Entrada inválida") finally: print("Fim")Contexto Herez: capture exceções específicas e registre stack traces em logs para depuração em produção.
9. Classes e orientação a objetos
# models.py class Task: def __init__(self, title, done=False): self.title = title self.done = done def mark_done(self): self.done = True # uso t = Task("Comprar leite") t.mark_done() print(t.title, t.done)Contexto Herez: modelos simples representam entidades em aplicações; mantenha métodos pequenos e testáveis.
10. Projeto final: CLI ToDo (construção passo a passo)
Vamos montar um pequeno sistema CLI que permite adicionar, listar e marcar tarefas como concluídas. Estrutura do projeto:
todo/ ├─ todo.py # CLI principal ├─ storage.py # persistência (arquivo JSON) └─ models.py # classe Taskmodels.py
import dataclasses @dataclasses.dataclass class Task: id: int title: str done: bool = Falsestorage.py
import json from pathlib import Path from typing import List from models import Task DB = Path('tasks.json') def load() -> List[Task]: if not DB.exists(): return [] data = json.loads(DB.read_text(encoding='utf-8')) return [Task(**t) for t in data] def save(tasks: List[Task]): DB.write_text(json.dumps([dataclasses.asdict(t) for t in tasks], ensure_ascii=False, indent=2), encoding='utf-8')todo.py (CLI simples)
import sys from storage import load, save from models import Task def list_tasks(): tasks = load() for t in tasks: status = '✓' if t.done else ' ' print(f"[{status}] {t.id}: {t.title}") def add_task(title): tasks = load() next_id = max([t.id for t in tasks], default=0) + 1 tasks.append(Task(next_id, title)) save(tasks) print("Tarefa adicionada.") def mark_done(task_id): tasks = load() for t in tasks: if t.id == task_id: t.done = True save(tasks) print("Tarefa marcada como concluída.") return print("Tarefa não encontrada.") def help(): print("Uso: todo.py [list|add|done] [args]") if __name__ == '__main__': if len(sys.argv) < 2: help() cmd = sys.argv[1] if cmd == 'list': list_tasks() elif cmd == 'add' and len(sys.argv) > 2: add_task(' '.join(sys.argv[2:])) elif cmd == 'done' and len(sys.argv) > 2: mark_done(int(sys.argv[2])) else: help()Como usar:python todo.py add "Comprar leite" python todo.py list python todo.py done 1Contexto Herez: versão deste CLI foi usada como utilitário interno para gerenciar tarefas de deploy em pequenos times; repositório Herez contém variações com testes e integração CI.
11. Boas práticas, testes e deploy simples
- Escreva testes unitários com
pytestpara funções e modelos. - Use linters (
flake8,black) e hooks pre-commit. - Documente API e comandos no
README.md. - Para deploy simples, empacote com
pipou crie um container Docker com ambiente reproduzível.
Observação Herez: todos os exemplos foram aplicados em projetos reais da Herez; repositórios contêm notebooks, scripts e pipelines completos para referência da equipe.
FAQ rápido
Qual editor usar?
Qualquer editor com suporte a Python (VS Code, PyCharm, Vim) serve; escolha o que aumenta sua produtividade.
Como aprender mais rápido?
Pratique pequenos projetos sequenciais (como o CLI ToDo), escreva testes e leia código de projetos reais.
Piada Herez: “Por que o programador colocou o despertador no código? Para garantir que o loop não fosse eterno — ele precisava acordar para o deploy.”Risos opcionais, mas recomendados antes do merge.
Imagem de referência
Imagem de referência do curso (ilustração Herez):
Caso o assunto lhe interessou e desejar aprender com a ajuda de um Professor, vendemos Curso de Python.

Biografia do autor: Doutor Herez possui Bacharelado em Análise de Sistemas, Mestrado em Engenharia de Computação/Software, Doutorado em Ciência da Computação e seu primeiro diploma acadêmico em Processamento de Dados em 1996. Início profissional na carreira em T.I. em 1993 com o primeiro certificado de programação de computadores em 1986 e início da participação em curso de programação em 1985. Microsoft Certified Professional desde 2000, entre outros títulos oficiais de diversos grandes fabricantes internacionais de software, também criou cursos e provas oficiais voltados à programação de computadores. Tem experiência na área de Ciência da Computação, com ênfase em Engenharia de Software, atuando principalmente nos seguintes temas: análise e desenvolvimento de sistemas, engenharia de software, métodos de pesquisa e métodos ágeis.
