sábado, 28 de junio de 2025

🤖 Gemini-CLI vs Claude para desarrollo de código: ¿cuál te conviene más?

La inteligencia artificial está transformando la forma en que desarrollamos software. Hoy ya no basta con hacer un curso o leer un tutorial: ahora puedes tener un asistente de código con IA que te ayuda en tiempo real.
Pero… ¿cuál elegir?

En este post te explico las diferencias entre gemini-cli (la IA de Google) y Claude (de Anthropic), cómo los he utilizado personalmente, y cómo pueden ayudarte a mejorar tu flujo de trabajo como desarrollador.

🚀 ¿Qué es Gemini CLI?

gemini-cli es una herramienta oficial de Google que permite interactuar con Gemini desde la terminal. Puedes usarla para:

  • Revisar y corregir automáticamente archivos de código.
  • Aplicar buenas prácticas en tiempo real (React, Next.js, Tailwind, Node, etc.).
  • Refactorizar componentes o funciones.
  • Añadir documentación y comentarios.
  • Reescribir fragmentos en otro lenguaje.

📌 Todo desde tu terminal o VSCode, directamente sobre tu proyecto real.

🧠 ¿Qué es Claude Code?

Claude es una IA desarrollada por Anthropic. Su modo Claude Code permite trabajar con grandes cantidades de código fuente, entender estructuras complejas, generar soluciones completas, y responder con precisión sobre diseño de software, patrones y arquitectura.

Puedes usar Claude Code desde:

  • Chat web (Claude.ai)
  • Integraciones en IDE como Cursor o VSCode
  • API en modo programático

⚖️ Gemini-CLI vs Claude Code: comparación real

Característica gemini-cli Claude Code (Anthropic)
⚡ Velocidad de edición Rápida y directa en el archivo Lenta en edición directa, pero precisa
🛠 Aplicación sobre código real Sí, directo en tu proyecto (.tsx, .js, etc.) No directamente (salvo integraciones)
🧠 Entendimiento de contexto Muy bueno con proyectos pequeños-medianos Excelente para estructuras grandes
📂 Edición múltiple de archivos Sí (autofix app components) No directo, requiere guiarlo manualmente
📚 Formación Buenas prácticas de Google Ética, diseño, precisión conceptual
💻 Requiere entorno local Sí (Node.js, terminal) No necesariamente
🧑‍🏫 Estilo de ayuda Mentor tipo "copiloto de código" Tutor experto con explicaciones largas

💸 Comparativa de precios

Plan / Uso Gemini (Google) Claude (Anthropic)
Plan Gratuito ✅ Sí (gemini-1.5-flash, muy capaz) ✅ Sí (Claude 3 Sonnet / Haiku)
Plan pago Gemini Pro: $20/mes Claude Pro: $20/mes
Acceso por API ✅ Sí (AI Studio) ✅ Sí (Anthropic Console)
Costos por token API Desde $0.000125 por 1k tokens Desde $0.0008 por 1k tokens (Haiku)
Límite de contexto Hasta 1M tokens (Gemini Pro) Hasta 200k tokens (Claude 3 Opus)

📝 Ambas herramientas ofrecen planes gratuitos suficientes para la mayoría de casos reales.

👨‍💻 Mi experiencia personal con Gemini-CLI

En lo personal, he utilizado la versión gratuita de Gemini CLI en proyectos reales de desarrollo, y me ha sorprendido lo bien que funciona incluso sin pagar. Es rápida, entiende el contexto de mis archivos, y ha sido de gran ayuda para corregir funciones, refactorizar componentes y aplicar buenas prácticas sin complicarme.

Eso sí, como programadores, siempre es importante revisar lo que hace la IA. Aunque Gemini corrige muchas cosas, debemos validar, probar y ajustar según nuestra lógica y estilo de proyecto. La IA no reemplaza al desarrollador, pero sí lo potencia.

✅ ¿Cuál te conviene usar?

  • Usa Gemini-CLI si…
    Quieres corregir y mejorar tu proyecto mientras lo codificas. Trabajas con Next.js, React, Tailwind, y quieres rapidez y edición directa. Deseas automatizar limpieza y refactorización.
  • Usa Claude Code si…
    Tienes dudas complejas de arquitectura o diseño. Quieres explicaciones profundas y razonamientos. Necesitas entender o rediseñar sistemas grandes.

🧪 ¿Y si usas los dos?

💡 ¡Lo ideal es combinarlos!

  • gemini-cli: para corregir y mejorar directamente el código.
  • Claude: para consultas profundas, explicaciones o rediseño arquitectónico.

🚀 Cómo empezar con Gemini CLI

npm install -g @google/gemini-cli

Autentícate con tu API Key de Google y ejecuta:

gemini autofix app components --yes --prompt "Corrige todo el código aplicando buenas prácticas en React y Tailwind"

🎯 Conclusión

Ya no necesitas elegir entre aprender o producir: con Gemini y Claude puedes hacer ambas al mismo tiempo. Son aliados para desarrolladores que buscan productividad real con aprendizaje continuo.

¿Te gustaría una guía paso a paso para integrarlos en tu flujo de trabajo? ¿O un video tutorial desde cero? Escríbeme.

📩 Contacto: joseareche@portalpbx.com
🌐 Sitio: https://portalpbx.com

sábado, 21 de junio de 2025

Cómo implementar un Cloudflare Worker

🚀 Cómo implementar un Cloudflare Worker paso a paso (Guía práctica para clientes finales)

En un mundo cada vez más digital, optimizar el rendimiento, seguridad y personalización de tu sitio web puede marcar la diferencia entre un cliente satisfecho y uno frustrado. Por eso, hoy te enseñaremos a implementar un Cloudflare Worker, una herramienta poderosa que te permite ejecutar código personalizado en la red de Cloudflare, sin necesidad de servidores.

✅ ¿Qué es un Cloudflare Worker?

Un Worker es una función JavaScript que se ejecuta en los bordes (edge) de la red de Cloudflare, permitiendo interceptar, modificar y responder a solicitudes HTTP antes de que lleguen a tu servidor.

Beneficios clave:

  • Mejorar tiempos de carga.
  • Aplicar reglas personalizadas (como redirecciones o filtros).
  • Cachear contenido dinámico.
  • Proteger APIs o endpoints vulnerables.
  • Hacer A/B testing sin cambiar tu servidor.

🛠️ Paso a paso para implementar tu primer Worker

1. Crea una cuenta en Cloudflare

Si aún no la tienes, regístrate gratis en Cloudflare.

2. Accede a la sección Workers

Desde el panel, busca “Workers & Pages” > “Workers” y haz clic en “Create a Worker”.

3. Edita el código base

Cloudflare te da una plantilla básica como esta:

export default {
  async fetch(request, env, ctx) {
    return new Response('¡Hola desde tu Worker de Cloudflare!', {
      headers: { 'content-type': 'text/plain' },
    });
  },
};

Puedes modificar el contenido según tu necesidad.

🧪 Casos prácticos

🟡 Caso 1: Redirección inteligente según país

export default {
  async fetch(request) {
    const country = request.cf.country;
    if (country === 'PE') {
      return Response.redirect('https://tuweb.pe', 302);
    }
    return fetch(request);
  },
};

🔵 Caso 2: Bloqueo de bots por User-Agent

export default {
  async fetch(request) {
    const ua = request.headers.get('User-Agent') || '';
    if (ua.includes('bot') || ua.includes('crawler')) {
      return new Response('Acceso denegado', { status: 403 });
    }
    return fetch(request);
  },
};

🟢 Caso 3: Cache personalizado para APIs

export default {
  async fetch(request) {
    const cacheUrl = new URL(request.url);
    const cacheKey = new Request(cacheUrl.toString(), request);
    const cache = caches.default;

    let response = await cache.match(cacheKey);
    if (!response) {
      response = await fetch(request);
      response = new Response(response.body, response);
      response.headers.append('Cache-Control', 's-maxage=60');
      await cache.put(cacheKey, response.clone());
    }

    return response;
  },
};

💡 ¿Cuándo usar un Worker?

  • Cuando necesitas automatizar respuestas (sin sobrecargar tu servidor).
  • Cuando deseas personalizar reglas de seguridad o performance.
  • Para filtrar tráfico, cachear dinámicamente o generar respuestas personalizadas.

🤝 ¿Necesitas ayuda con Workers?

Si deseas implementar Cloudflare Workers pero no sabes por dónde comenzar, PortalPBX como Partner de Cloudflare puede ayudarte.

👨‍💻 José Areche y el equipo de PortalPBX están listos para:

  • Asesorarte técnicamente
  • Diseñar reglas avanzadas
  • Implementar soluciones personalizadas para tu negocio

📧 Escríbenos o visita: https://portalpbx.com


¡Aprovecha la potencia de Cloudflare con inteligencia!

viernes, 13 de junio de 2025

Servicios Cognitivos en la Nube: Más fácil que nunca

🤖 Servicios Cognitivos en la Nube: Más fácil que nunca

Hace solo unos años, construir una aplicación que reconozca imágenes, traduzca voz en tiempo real o analice sentimientos en textos requería equipos de investigadores, infraestructura robusta y meses de desarrollo.

Hoy, todo eso está al alcance de cualquiera con conexión a internet y una cuenta en la nube.


🌐 ¿Qué son los servicios cognitivos?

Los servicios cognitivos son APIs que permiten a nuestras aplicaciones "pensar" o "entender" como lo haría un humano. Algunos ejemplos:

  • 🧠 Reconocimiento facial
  • 🗣 Transcripción y síntesis de voz
  • 🖼 Clasificación de imágenes
  • 💬 Análisis de sentimientos
  • 🌍 Traducción automática

Y lo mejor: ¡no necesitas ser experto en inteligencia artificial! Solo tienes que hacer una solicitud HTTP y recibirás una respuesta con datos estructurados.


🔝 Principales proveedores en 2025

Proveedor Servicios destacados Lenguajes soportados
Microsoft Azure Face API, Text Analytics, Speech to Text +30 idiomas
Google Cloud AI Vision AI, Translation, Dialogflow Multilenguaje
AWS (Amazon) Rekognition, Comprehend, Polly, Transcribe Español incluido
IBM Watson NLP, Tone Analyzer, Language Translator Inglés y más
OpenAI API GPT para redacción, análisis, clasificación Multilingüe

🧪 ¿Qué tan fácil es usar uno?

Un ejemplo simple con Azure Text Analytics (análisis de sentimientos):

curl -X POST https://<endpoint>/text/analytics/v3.1/sentiment \
  -H "Ocp-Apim-Subscription-Key: TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"documents":[{"id":"1","language":"es","text":"Estoy feliz con el servicio"}]}'

📊 Resultado:

{
  "documents": [
    {
      "id": "1",
      "sentiment": "positive"
    }
  ]
}

¡Listo! Con solo unas líneas, tu app ya puede entender emociones humanas. 💡


🛠 Casos de uso reales

  • Atención al cliente con bots (ChatGPT, Dialogflow, Lex)
  • Sistemas de llamadas que entienden al usuario (Transcribe + AI)
  • Aplicaciones móviles con lectura de texto en voz alta (Amazon Polly, Azure Speech)
  • Validación de identidad con reconocimiento facial (Rekognition, Face API)

🚀 ¿Por qué deberías probarlos?

  • ✅ Ahorro de tiempo y recursos
  • ✅ Acceso a tecnologías avanzadas sin ser experto
  • ✅ Modelos entrenados por gigantes tecnológicos
  • ✅ Precios accesibles y gratuitos en pruebas

💬 Si aún no lo has intentado, el momento es ahora. Desde portales educativos hasta empresas pequeñas pueden integrar estas capacidades en minutos.

¿Quieres que te comparta ejemplos paso a paso con alguno en especial?
Escríbelo en los comentarios. 👇

Automatizando con Name.com: Primeros pasos con su API para resellers

🔗 Automatizando con Name.com: Primeros pasos con su API para resellers

Muchos técnicos y desarrolladores que recién se convierten en resellers en Name.com suelen enfrentar cierta confusión al momento de comenzar con la API. La documentación es clara, pero a veces falta ver ejemplos aplicados.

Aquí te dejo una guía real y funcional, usando Postman, para consultar, registrar y configurar un dominio automáticamente.


🟡 Paso 1: Consultar disponibilidad de un dominio


📤 Endpoint:

POST https://api.name.com/v4/domains:checkAvailability

📦 Body (JSON):

{
  "domainNames": ["portalsgi.com"]
}

✅ Este paso sirve para verificar si el dominio está libre.
Si la respuesta contiene "available": true, puedes proceder a comprarlo.


🟢 Paso 2: Comprar el dominio



📤 Endpoint:
POST https://api.name.com/v4/domains

📦 Body (JSON):

{
  "domain": {
    "domainName": "portalsgi.com"
  },
  "purchasePrice": 12.99
}

💡 Importante: El valor de purchasePrice debe coincidir con el valor retornado por el paso anterior, o de lo contrario dará error.


🔵 Paso 3: Asignar los Nameservers



📤 Endpoint:
POST https://api.name.com/v4/domains/portalsgi.com:setNameservers

📦 Body (JSON):

{
  "nameservers": [
    "ns1.compuservic.com",
    "ns2.compuservic.com"
  ]
}

Esto permite apuntar tu dominio al hosting o infraestructura deseada.


🛡️ Autenticación: Basic Auth



Para todas las solicitudes necesitas autenticarte. En este ejemplo se utiliza Basic Auth, donde debes ingresar:

  • Username: Tu usuario reseller en Name.com
  • Password: Tu API Token generado desde tu panel de control

🔐 Postman lo gestiona automáticamente al elegir “Basic Auth” en la pestaña Authorization:



✅ Resumen del flujo

  1. Consultar si el dominio está disponible
  2. Comprar el dominio (con el precio correcto)
  3. Asignar DNS personalizados
  4. Usar Basic Auth con tu usuario + token para autenticación

📌 Este es solo el inicio. En próximos posts te mostraré cómo:

  • Crear registros DNS automáticamente (A, CNAME, etc.)
  • Configurar dominios por lotes
  • Integrar con tu propio panel o CRM

¿Te interesa? Sígueme y comenta qué más necesitas saber.
Nos leemos pronto 👨‍💻

Nunca es tarde para volver a empezar

 Han pasado años desde la última vez que escribí por aquí. La vida siguió su curso, llegaron nuevas responsabilidades, cambios inesperados y aprendizajes profundos. A veces, dejamos cosas que amamos en pausa... pero nunca es tarde para volver a empezar.

Hoy regreso a este espacio con más experiencias, nuevas ideas y la misma pasión por compartir. Porque cada etapa de la vida trae algo valioso, y siempre hay algo que decir, algo que escribir.

Si tú también tienes un proyecto olvidado, un sueño en espera o una historia por contar… este es tu recordatorio: el mejor momento para volver es ahora.