¿No os ha pasado que, después de encontrar los subtítulos de una película, resulta que están desincronizados? Pues a mí más de una vez. Por lo general sigo buscando y probando hasta que doy con los que se ajustan al vídeo en cuestión. Esta vez no ha sido así. Seguramente debido a que El Principito…
Categoría: Tutorial
Modelos locales
Llevaba tiempo queriendo correr uno de esos modelos generativos en mi propia máquina. Libre de otras prioridades, hoy por fin he tenido ocasión de comprobar si era verdad que modelos de la familia GPT4All o LlamaCpp estaban preparados para ser consumidos en ordenadores personales. De los centenares de proyectos que han proliferado desde el advenimiento…
Preparando los exámenes
Este año me he matriculado de nueve asignaturas, una de ellas anual de modo que me ha tocado preparar diez exámenes. A diferencia de convocatorias anteriores este segundo cuatrimestre he decido estudiarlo a base de hacer tests, muchos tests. No he leído de antemano los manuales, ni siquiera he utilizado apuntes. También he prescindido de…
Conectar dos servidores con Laravel Passport
Escenario Estoy en el proceso de separar la parte API de una web de la del frontend. Para ello he creado un nuevo proyecto que solo atenderá peticiones del API. Ambos proyectos comparten la base de datos; en el proyecto API (PA) instalé Laravel Passport para gestionar la autenticación. El proyecto web (PW) necesita por…
Degradación de MySql: de la versión 8.0.30 a la 5.7.39
Escenario Seguro que no somos los primeros a quien les pasa que una actualización obligatoria de Ubuntu 18.04 al 20.04 acarrea una actualización no deseada de MySql a la versión 8.x. Problema En la versión 8.0.30 MySql no cuenta con la utilidad mysql_upgrade para dejar las tablas preparadas para una actualización de versión. En esta…
Spring boot y websockets
Escenario Un usuario se conecta con el móvil a su aplicación de empresa. Si es la primera vez que lo hace ésta le pide autorización para recabar su localización. La aplicación manda la localización al servidor y desde el servidor se informa a una página de monitorización. Dicha página está conectada por websocket con el…
¿Qué es www.roxoenos.xyz?
Escenario Desde hace años tengo una aplicación web apoyada en Laravel, que mantengo con frecuencia. En el servidor corren dos instancias del framework, una para la aplicación principal con Laravel 6, y otra para un API que desplegué hace poco con Laravel 7. Problema Llevo unos días notando que las páginas tardan más en cargarse,…
Instalación y configuración de Guacamole 1.3
Escenario Necesitamos acceder de manera remota a nuestro entorno de trabajo y hemos decidido que guacamole es nuestra mejor opción. Permite el uso de protocoles estándares como VNC, RDP y SSH No requiere instalar software en las máquinas de los usuarios. Gracias a HTML5, una vez instalado en un servidor, puedes acceder a tu escritorio…
Cómo recuperar ficheros borrados de Amazon Linux
Escenario Tenemos una aplicación de tipo SpringBoot desplegada en una instancia ec2 de Amazon, con el sistema operativo Amazon Linux. Para sincronizar los cambios con el código desplegado en producción utilizo rsync en este script de bash:
1 2 3 4 5 6 7 8 |
#!/bin/sh USER=ec2-user HOST=acme.com APPLICATION_DIR=/home/marcos/NetBeansProjects/acme_web DESTINATION_DIR=/var/app/acme/web cd ${APPLICATION_DIR}; rsync -rltvz * --exclude=target --exclude=node_modules/* --exclude=node --exclude=*.log --exclude=src/main/resources/public/ ${USER}@${HOST}:${DESTINATION_DIR} exit 0 |
Ayer cuando desplegué, la aplicación no compilaba en el servidor remoto. Era debido a que una clase…
Sonata Admin: cómo redireccionar un usuario según su rol
Escenario Una aplicación symfony 4.4 con el framework Sonata Admin 3.78.1 cuenta con una página de login para que los administradores del sitio puedan gestionar sus clientes. Ahora queremos que los clientes puedan usar la misma página de login para acceder a sus datos personales como, por ejemplo, sus facturas. Para la gestión de usuarios…