Page 1
more
Standard

Cómo desplegar un MCP Server público con FastMCP, Docker y Traefik

En este tutorial aprenderás a crear y desplegar un MCP Server usando FastMCP, contenerizarlo con Docker, y exponerlo de manera segura en Internet utilizando Traefik como reverse proxy con certificados SSL automáticos de Let’s Encrypt. Al finalizar, podrás acceder a tu servidor en la URL:

https://mcp-server-demo.yourdomain.com

con SSL habilitado gracias a Traefik y Let’s Encrypt.

Continue Reading →
more
Standard

Cómo Implementar Bearer Token en FastMCP Server con transporte streamable-http usando Python

En este tutorial, te mostraré cómo implementar un sistema de autenticación basado en Bearer Token en un servidor FastMCP utilizando el transporte streamable-http. Estaremos trabajando con FastMCP v2, un framework potente para construir servidores MCP (Model Context Protocol).

Requisitos previos

Antes de comenzar, asegúrate de tener instalado:

  • FastMCP v2

Vamos a crear un archivo main.py con el siguiente contenido:

Continue Reading →
more
Standard

Cómo Agregar un Keybinding en VS Code para Comentar Múltiples Líneas

Si eres desarrollador y usas Visual Studio Code como tu editor principal, sabes lo importante que son los atajos de teclado para agilizar tu flujo de trabajo. Uno de los más útiles es la capacidad de comentar y descomentar bloques de código rápidamente. En este post te mostraré cómo configurar un keybinding personalizado para esta función.

Paso 1: Abrir los Keybindings personalizados

  1. Abre Visual Studio Code
  2. Ve al menú File > Preferences > Keyboard Shortcuts
  3. En la esquina superior derecha del panel que aparece, haz clic en el icono que dice Open Keyboard Shortcuts (JSON)

Esto abrirá el archivo keybindings.json donde puedes agregar tus atajos personalizados.

Continue Reading →
more
more
Standard

Habilitar WiFi en Mac Mini después de Instalar Kubuntu 24.04

¿Acabas de instalar Kubuntu 24.04 en tu Mac Mini y te das cuenta de que el WiFi no funciona? No te preocupes, es un problema común debido a los controladores de hardware específicos de Apple. 

sudo apt-get update
sudo apt-get --reinstall install bcmwl-kernel-source
sudo modprobe -r b43 ssb wl brcmfmac brcmsmac bcma
sudo modprobe wl

Fuente: Ubuntu Community Help – WifiDocs/Driver/bcm43xx

¡No dejes que la falta de WiFi te detenga! Disfruta de tu Kubuntu 24.04 al máximo. 😊




















more
Standard

Solución: Unable to create PsySH runtime directory. Make sure PHP is able to write to /run/user/1003 in order to continue.

Cuando trabajamos con Laravel, php artisan tinker es una herramienta fundamental para interactuar rápidamente con nuestras aplicaciones desde la línea de comandos. Sin embargo, a veces al ejecutar este comando podemos encontrarnos con errores inesperados. Uno de ellos es el siguiente:

   Psy\Exception\RuntimeException

  Unable to create PsySH runtime directory. Make sure PHP is able to write to /run/user/1003 in order to continue.

  at vendor/psy/psysh/src/Configuration.php:632
    628▕         $runtimeDir = $this->configPaths->runtimeDir();
    629▕
    630▕         if (!\is_dir($runtimeDir)) {
    631▕             if (!@\mkdir($runtimeDir, 0700, true)) {
  ➜ 632▕                 throw new RuntimeException(\sprintf('Unable to create PsySH runtime directory. Make sure PHP is able to write to %s in order to continue.', \dirname($runtimeDir)));
    633▕             }
    634▕         }
    635▕
    636▕         return $runtimeDir;

      +18 vendor frames

  19  artisan:35
      Illuminate\Foundation\Console\Kernel::handle()
Continue Reading →
more
Standard

Cómo mostrar alertas en Laravel con SweetAlert2 y validaciones personalizadas

En esta entrada te mostraré cómo integrar SweetAlert2 en Laravel para mostrar alertas interactivas al eliminar registros. Además, implementaremos validaciones que verifican si hay dependencias antes de eliminar, asegurando que el proceso sea seguro y controlado. Con un ejemplo práctico, veremos cómo SweetAlert2 mejora la experiencia de usuario al mostrar mensajes personalizados según el resultado de la operación.

Continue Reading →
more
Laravel Eloquent
Standard

Crear, editar y eliminar con Eloquent

Explorar la documentación de Laravel para realizar operaciones básicas como crear, editar o eliminar registros con Eloquent puede resultar un poco confuso. Por eso, en este artículo te ofrezco un resumen claro de los métodos que debes usar según el tipo de relación en tu modelo.

1. Relación Uno a Uno (One to One)

Un usuario tiene un perfil, y un perfil pertenece a un usuario.

class User extends Model
{
    public function profile()
    {
        return $this->hasOne(Profile::class);
    }
}

class Profile extends Model
{
    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

Insertar con el método save

$profile = new Profile(['bio' => 'Mi biografía', 'twitter' => '@usuario']);
$user = User::find(1);

$user->profile()->save($profile);

Insertar con el método create

Continue Reading →
more
bitbucket-error-pipeline-phpunit
Standard

Solución: Error en Bitbucket Pipelines al ejecutar pruebas de Laravel con PHPUnit y Paratest

Al ejecutar en el pipeline los tests unitarios aparece un error de memoria

In WorkerCrashedException.php line 41:
                                                                               
  The test "PARATEST='1' TEST_TOKEN='7' UNIQUE_TEST_TOKEN='7_66f1d266ad6eb' t  
  ests/Feature/PruebasTest.php" failed.                               
                                                                               
  Exit Code: 255(Unknown error)                                                
                                                                               
  Working directory: /opt/atlassian/pipelines/agent/build                      
                                                                               
  Output:                                                                      
  ================                                                             
                                                                               
  Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to all  
  ocate 16777248 bytes) in /opt/atlassian/pipelines/agent/build/vendor/maennc  
  hen/zipstream-php/src/File.php on line 332         

La solución es agregar un elemento <ini> al archivo de configuración de PHPUnit phpunit.xml con el valor memory_limit para aumentar la asignación de memoria, en mi caso lo aumenté a 512M

Continue Reading →
more