Saltar a contenido

Backend Developer - Guía de Entorno

Esta guía detalla las herramientas necesarias para que Claude Code pueda ayudarte eficazmente en el desarrollo backend.

Resumen de Capacidades

Con el entorno correctamente configurado, Claude Code podrá:

Capacidad Herramientas Requeridas
Compilar y ejecutar código SDK del lenguaje (.NET, Python, Node, Go, Java)
Ejecutar tests unitarios e integración Frameworks de testing
Conectar a bases de datos Clientes de BD (psql, mysql, mongosh)
Depurar aplicaciones Debuggers y herramientas de profiling
Gestionar dependencias Gestores de paquetes (NuGet, pip, npm, go mod)
Analizar logs Herramientas de log y tail
Desplegar aplicaciones Docker, kubectl, CLI de cloud
Documentar APIs OpenAPI, Swagger

Elige tu Stack


Herramientas Base para Todo Backend

Independientemente del lenguaje, necesitarás:

1. Control de Versiones

# Git (obligatorio)
git --version
# Debe mostrar: git version 2.40+

# GitHub CLI (recomendado)
gh --version
# Para: crear PRs, gestionar issues, CI/CD

2. Contenedores

# Docker Desktop (Windows/macOS) o Docker Engine (Linux)
docker --version
# Debe mostrar: Docker version 24+

docker compose version
# Debe mostrar: Docker Compose version v2.20+

# Verificar que funciona
docker run hello-world

3. Bases de Datos - Clientes CLI

# PostgreSQL Client
psql --version
# Debe mostrar: psql (PostgreSQL) 15+ o 16+
# Windows: incluido en PostgreSQL installer
# macOS: brew install libpq && brew link --force libpq
# Linux: sudo apt install postgresql-client

# MySQL Client
mysql --version
# Windows: incluido en MySQL installer
# macOS: brew install mysql-client
# Linux: sudo apt install mysql-client

# MongoDB Shell
mongosh --version
# Instalar: https://www.mongodb.com/try/download/shell

# Redis CLI
redis-cli --version
# Windows: via WSL o Docker
# macOS: brew install redis
# Linux: sudo apt install redis-tools

4. HTTP Client (Testing APIs)

# cURL (preinstalado en la mayoría de sistemas)
curl --version

# HTTPie (más amigable)
pip install httpie
http --version

# Para VS Code: REST Client extension

5. JSON/YAML Processing

# jq - procesamiento de JSON
jq --version
# Windows: winget install jqlang.jq
# macOS: brew install jq
# Linux: sudo apt install jq

# yq - procesamiento de YAML
yq --version
# Windows: winget install MikeFarah.yq
# macOS: brew install yq
# Linux: snap install yq

Configuración de Base de Datos Local

PostgreSQL

# Instalar PostgreSQL 16
winget install PostgreSQL.PostgreSQL

# Añadir al PATH (reiniciar terminal después)
# C:\Program Files\PostgreSQL\16\bin

# Verificar
psql --version

# Conectar
psql -U postgres -h localhost
# Instalar con Homebrew
brew install postgresql@16

# Iniciar servicio
brew services start postgresql@16

# Añadir al PATH
echo 'export PATH="/opt/homebrew/opt/postgresql@16/bin:$PATH"' >> ~/.zshrc

# Verificar
psql --version
# Ubuntu/Debian
sudo apt install postgresql postgresql-contrib

# Iniciar servicio
sudo systemctl start postgresql
sudo systemctl enable postgresql

# Verificar
psql --version
# Levantar PostgreSQL en Docker
docker run -d \
  --name postgres-dev \
  -e POSTGRES_PASSWORD=dev123 \
  -e POSTGRES_USER=dev \
  -e POSTGRES_DB=devdb \
  -p 5432:5432 \
  -v postgres_data:/var/lib/postgresql/data \
  postgres:16

# Conectar
psql -h localhost -U dev -d devdb

Redis

# En WSL2 Ubuntu
sudo apt install redis-server
sudo service redis-server start

# Verificar
redis-cli ping
# Debe responder: PONG
brew install redis
brew services start redis

# Verificar
redis-cli ping
docker run -d \
  --name redis-dev \
  -p 6379:6379 \
  redis:7-alpine

# Verificar
docker exec redis-dev redis-cli ping

MongoDB

docker run -d \
  --name mongo-dev \
  -e MONGO_INITDB_ROOT_USERNAME=admin \
  -e MONGO_INITDB_ROOT_PASSWORD=dev123 \
  -p 27017:27017 \
  -v mongo_data:/data/db \
  mongo:7

# Conectar
mongosh "mongodb://admin:dev123@localhost:27017"

Herramientas de Mensajería

RabbitMQ

# Docker (recomendado)
docker run -d \
  --name rabbitmq-dev \
  -p 5672:5672 \
  -p 15672:15672 \
  rabbitmq:3-management

# UI: http://localhost:15672
# Usuario: guest / Password: guest

Kafka

# Docker Compose (crear docker-compose.kafka.yml)
# Ver archivo en la sección de recursos

docker compose -f docker-compose.kafka.yml up -d

# Verificar
docker exec kafka-dev kafka-topics.sh --list --bootstrap-server localhost:9092

IDE y Extensiones

Visual Studio Code

# Instalar VS Code
winget install Microsoft.VisualStudioCode  # Windows
brew install --cask visual-studio-code     # macOS

# Extensiones recomendadas para Backend
code --install-extension ms-dotnettools.csharp
code --install-extension ms-python.python
code --install-extension ms-vscode.vscode-typescript-next
code --install-extension golang.go
code --install-extension vscjava.vscode-java-pack
code --install-extension rust-lang.rust-analyzer

# Extensiones útiles
code --install-extension ms-azuretools.vscode-docker
code --install-extension mtxr.sqltools
code --install-extension humao.rest-client
code --install-extension redhat.vscode-yaml
code --install-extension ms-vscode-remote.remote-containers

JetBrains IDEs (Alternativa)

  • Rider - Para .NET
  • PyCharm - Para Python
  • IntelliJ IDEA - Para Java/Kotlin
  • GoLand - Para Go
  • WebStorm - Para Node.js/TypeScript

Verificación del Entorno

Ejecuta este script para verificar que tienes todo configurado:

# verify-backend-env.ps1

Write-Host "=== Verificación de Entorno Backend ===" -ForegroundColor Cyan

$checks = @(
    @{Name="Git"; Command="git --version"},
    @{Name="Docker"; Command="docker --version"},
    @{Name="Docker Compose"; Command="docker compose version"},
    @{Name="PostgreSQL Client"; Command="psql --version"},
    @{Name="jq"; Command="jq --version"},
    @{Name="curl"; Command="curl --version"}
)

foreach ($check in $checks) {
    try {
        $result = Invoke-Expression $check.Command 2>&1
        Write-Host "✓ $($check.Name): " -NoNewline -ForegroundColor Green
        Write-Host ($result -split "`n")[0]
    }
    catch {
        Write-Host "✗ $($check.Name): No encontrado" -ForegroundColor Red
    }
}

Write-Host "`n=== Servicios Docker ===" -ForegroundColor Cyan
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
#!/bin/bash
# verify-backend-env.sh

echo "=== Verificación de Entorno Backend ==="

check_command() {
    if command -v $1 &> /dev/null; then
        echo "✓ $1: $($1 --version 2>&1 | head -1)"
    else
        echo "✗ $1: No encontrado"
    fi
}

check_command git
check_command docker
check_command psql
check_command mysql
check_command mongosh
check_command redis-cli
check_command jq
check_command curl

echo ""
echo "=== Servicios Docker ==="
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

Troubleshooting Común

"psql: command not found"

# Windows: Añadir PostgreSQL al PATH
$env:PATH += ";C:\Program Files\PostgreSQL\16\bin"

# O permanentemente via System Properties > Environment Variables

Docker no inicia en Windows

# Verificar que Hyper-V está habilitado
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V

# Verificar WSL2
wsl --status
wsl --update

Permisos de Docker en Linux

# Añadir usuario al grupo docker
sudo usermod -aG docker $USER

# Cerrar sesión y volver a entrar
# O ejecutar:
newgrp docker

Siguiente Paso

Selecciona tu stack principal para ver la guía específica:

  • .NET / C# - ASP.NET Core, Entity Framework
  • Python - FastAPI, Django, Flask
  • Node.js - Express, NestJS, Fastify
  • Go - Gin, Echo, Chi
  • Java - Spring Boot, Quarkus
  • Rust - Actix, Axum