Aplicación Vue con Vue-router en subcarpeta

«Una vez visto, todo el mundo es listo»

Eso es lo que he pensado cuando he dado con la tecla. Parece sencillo y hay documentación, pero me ha costado dar con la solución. He trabajado en el pasado con Vue 2.0, 3.0 con webpack y ahora con VueJS 3.2 con Vite. Las cosas… cambian un poco.

Si quieres instalar tu aplicación de VueJS con Vue-router en un subdirectorio, habrás sufrido los problemas de rutas absolutas. Has intentado configurar rutas relativas y seguramente te habrás encontrado con problemas al recargar pantalla o hacer F5, que la app ya no carga y te da un error 404.

En este artículo, explico los tres puntos que has de tener en cuenta. Es mucho más sencillo de lo que te imaginas.

Seguir leyendo «Aplicación Vue con Vue-router en subcarpeta»

Enviar correos desde PHP con SMTP y cuenta de Google

Recientemente me ha tocado pegarme en un proyecto personal con la necesidad de enviar correos electrónicos automatizados en una aplicación web que estaba implementando en PHP.

Mis requisitos eran: Enviar correos desde PHP, autenticados con SMTP y una cuenta de Google. En este artículo te explico cómo hacerlo en 2023. Tras los últimos cambios de políticas introducidos por Google en verano de 2022.

Seguir leyendo «Enviar correos desde PHP con SMTP y cuenta de Google»

NPM: Gestor de paquetes, la guía definitiva

Al hilo de utilizar en diferentes proyectos el gestor de dependencias npm, aprovecho los apuntes tomados y los vuelco aquí por si a alguien le pudiera ser de utilidad.

NPM es un gestor de paquetes y dependencias escrito en NodeJS muy extendido entre diferentes lenguajes de programación.

Para este artículo, he de remarcar que he sacado mucha información del blog de Carl Rippon.

Seguir leyendo «NPM: Gestor de paquetes, la guía definitiva»

Cómo instalar Nextcloud con Docker en Linux

Nextcloud es una gran herramienta para gestión de archivos. Con una comunidad terrible detrás, ofrece una «tienda de aplicaciones» (gratuitas) que puedes instalar en forma de plugin y extender aún más su oferta.

Existen varios métodos de instalación pero en esta entrada nos vamos a centrar en el método docker, para que todas las dependencias queden encapsuladas en un contenedor.

En cualquier caso, para hacer correr Nextcloud, en realidad únicamente necesitas tener un LAMP (Linux + Apache + MySQL + PHP) en tu sistema.

Nextcloud te ofrece tres formas de persistencia:

  • SQLite
  • MySQL/MariaDB
  • Postgresql

Si quieres tener un sistema fluido, evita utilizar la opción SQLite, ya que es la más lenta. En este artículo, asumimos que utilizamos MySQL que tenemos ya instalado MySQL/MariaDB en tu servidor.

Seguir leyendo «Cómo instalar Nextcloud con Docker en Linux»

VS Code en iPad a través de Code Server y Linux

Si recientemente has adquirido un iPad habrás notado que tu editor favorito, la pedazo de herramienta VS Code de Microsoft, no está disponible para su descarga en la App Store. Podremos encontrar editores de código alternativos, pero cuando estás tan hecho a un editor, es difícil adaptarse a algo diferente.

Actualmente, Microsoft no ha incorporado compatibilidad de VS Code a la plataforma móvil de Apple y todo apunta a que de momento, no tienen mucha intención de hacerlo.

Afortunadamente, existe una forma de trabajar con VS Code sobre la que seguramente ya hayas leído en internet: instalar Code Server en una Raspberry PI (o servidor Linux). Code Server es una especie de VS Code que funciona en forma de servicio web. En resumen, lo que necesitamos es instalar NodeJS 14.0 para posteriormente instalar el proyecto Code Server.

En este artículo os enseño paso a paso cómo lo he hecho yo.

Seguir leyendo «VS Code en iPad a través de Code Server y Linux»

Slim Framework – Cómo poner en marcha tu primer proyecto paso a paso

Hace tiempo que conozco Slim y tenía interés en hacer alguna prueba para verificar que efectivamente es un micro framework ideal y fácil de poner en marcha para proyectos pequeños en los que no quieres complicarte. Sobre todo, si quieres poner en marcha un API pequeña y sencilla. Finalmente, encontré el caso de uso perfecto y me animé a probarlo. La curva de aprendizaje es muchísimo más pequeña que frameworks como Laravel o Symphony.

La documentación de éste framework está bastante bien, aunque quizá la guía de instalación no es del todo clara. El proyecto ha ido avanzando y sacando versiones que entre sí han cambiado mucho. Por ejemplo, en las primeras versiones, era mucho más viable trabajar sin depender de composer, pero en su versión v4 de Slim, lo mejor es que desistamos y trabajemos con éste controlador.

En este artículo, os pongo una guía de los pasos que he seguido para una fácil y rápida instalación de Slim PHP. Vamos a ello.

Seguir leyendo «Slim Framework – Cómo poner en marcha tu primer proyecto paso a paso»

Cómo formatear e instalar Debian + OMV en un NAS WD My Cloud Home

Hace ya un tiempo adquirí un NAS de la marca Western Digital que encontré a muy buen precio en Amazon para sustituir un disco duro en red viejo que tenía también de la marca WD. En concreto, me hice con el WD My Cloud Home de 6TB que tenía muy buena pinta calidad-precio.

Como el disco viejo seguía funcionando, no prioricé la tarea de migración hasta hace unos días. Cuando por fin saco el dispositivo de la caja y lo pongo en marcha, me sorprende lo fácil que es todo. Aunque una cosa que no me convencía era que tenía que crearme una cuenta en mycloud.com. En seguida, desde una interfaz web, estoy en el disco.

Sin embargo, pronto me doy cuenta que… no es lo que quería. El My Cloud Home, definitivamente, está hecho para gente que quiere algo fácil y sin líos y a mí se me queda corto. Es todo tan fácil y sencillo, que en el MCH no puedes configurar absolutamente nada. Ni configurarle una IP estática, ni crear volúmenes samba, ni acceder a un panel avanzado. No intentes buscarlo, NO se puede.

Desesperado buscando soluciones y viendo que todo el mundo se queja de lo mismo (un ejemplo en Amazon), que no el My Cloud Home no es un NAS al uso como siempre hemos conocido, busco alternativas.

Finalmente, localizo un hilo muy interesante en la propia comunidad de Western Digital donde se enlaza con un foro ruso que deja algo de esperanza para este limitadísimo NAS. En ese enlace, una persona ha descubierto cómo está montado el Sistema Operativo en el disco duro del WD y ha conseguido compilar y formatear o flashear un SO con Debian y OpenMediaVault para la configuración del NAS.

La instalación es sencillísima y el resultado excelente. He pasado de tener un NAS que no me servía para absolutamente nada (incluso fomentan el uso de la app de WD para manejar los ficheros, cosa que no es aceptable), a tener un NAS completo. El sistema es incluso mejor que el anterior NAS que tenía, de Western Digital también.

Seguir leyendo «Cómo formatear e instalar Debian + OMV en un NAS WD My Cloud Home»

Corregir Kernel_Task con cpu +100% de forma continua en MacOS superior a BigSur

Poseo un MacBook Air de 2014 que jamás me dio un problema hasta que un buen día arrancó con los ventiladores a miles de revoluciones y el ordenador pasó prácticamente a ser inútil, ya que el uso de la CPU se mostraba continuamente por encima del 100%. Abriendo el Monitor de Actividad, puedes comprobara que el culpable de este problema es el kernel_task.

Si haces una búsqueda rápida en Google, comprobarás que siempre que un equipo de Mac tiene un problema físico, el kernel_task se dispara y los motivos son diversos. Desde problemas de refrigeración, corrupción del Sistema Operativo, de algún driver de terceros o, como en mi caso, algún fallo con la placa base.

Existen diferentes métodos para pasarle un test hardware al equipo que en este artículo no voy a tratar porque son fáciles de localizar en internet.

En mi caso, mi Macbook Air ha sufrido un fallo físico en los sensores de temperatura. Esto hace que el sistema, preventivamente y a pesar de que aparentemente el equipo no esté caliente, provoca que el kernel_task (proceso base del sistema operativo MacOS) empiece a comerse la CPU y provoque que los ventiladores se pongan a máximas revoluciones con el objeto de proteger el hardware.

Comprobé que instalando Windows, el sistema era completamente estable y lo planteé como solución definitiva. Sin embargo, prefiero manejarme con MacOS y empecé a investigar cómo podía solucionarlo. A modo resumen, localicé la forma: hay que desactivar (eliminar) una serie de drivers del sistema para que el kernel_task ignore los sensores de temperatura e instalar Macs Fan Control para delegar el control de los ventiladores en algún sensor de temperatura que continúe operativo.

En este artículo, os voy a enseñar a desactivar el driver IOPlatformPluginFamily.kext, responsable de poner preventivamente el kernel_task a una CPU superior a incluso 400%. Ya que con el cambio que ha provocado MacOS BigSur, el procedimiento clásico que se encuentra por internet, no es viable. MacOS, para protegerse, ahora monta el sistema operativo en Read Only y eso hace que eliminar el kext no sea suficiente, hay que hacer que persista el cambio.

Seguir leyendo «Corregir Kernel_Task con cpu +100% de forma continua en MacOS superior a BigSur»

Qué es y cómo implementar la Cache API de Service Worker

Si estás en pleno desarrollo de una webapp, app progresiva o web con necesidad de características y funcionamiento sin internet, puede que éste sea tu artículo. Voy a intentar explicar de forma clara y sencilla cómo hacer una webapp offline utilizando el Service Worker Cache API.

Muchas veces nos enfrentamos ante el reto de montar una aplicación web con capacidades offline o con el objetivo de que se ejecute sin conexión a internet. Esto puede ser para que la app sea completamente funcional sin internet encolando las operaciones para posteriormente sincronizar con el servidor, o para activarse un modo «offline» de mínimos (habiendo cacheado contenidos vistos anteriormente, tipo Twitter).

Si has llegado a este artículo, probablamente estés intentando implementar una webapp capaz de ejecutarse offline y estás buscando información sobre cómo cachear recursos en la memoria del navegador. Seguramente, como me pasó a mí, hayas buscando bibliografía sobre la Cache API porque la compatibilidad con el viejo sistema WebCache se está empezando a perder.

Los ejemplos y artículos que he visto por internet no terminan de explicar con palabras sencillas y tampoco cuentan los detalles a tener en cuenta para utilizar este sistema que probablemente todavía no hayas conseguido poner en marcha. Voy a intentar resumirlo y ponértelo fácil.Seguir leyendo «Qué es y cómo implementar la Cache API de Service Worker»

Instalar certificados autofirmados en Apache con candado verde

Si tienes un entorno de entornos de desarrollo y quieres hacer una que trabaje sobre HTTPS con un certificado autofirmado y que aparezca como «segura» (con candado) en el navegador (Google Chrome), habrás comprobado que ya no vale con instalar el certificado de la página en tu ordenador.

Google Chrome ahora verifica el CA del certificado. El típico procedimiento de generar un certificado autofirmado, sin CA, ya no vale. En este artículo, voy a mostrar el procedimiento para generar un certificado firmado por una Autoridad Certificadora Raíz que vamos a generar nosotros. Después, lo que haremos será instalar el certificado CA en el Sistema Operativo.

Antes de nada, aclarar que he seguido la respuesta de Oleg en este hilo de stackoverflow. Ya sabéis, stackoverflow es la biblioteca mundial de recursos y fragmentos de código donde encontramos el 99% de nuestras respuestas.

Empezamos.

Seguir leyendo «Instalar certificados autofirmados en Apache con candado verde»