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»

Plugins imprescindibles para una web básica en WordPress

Si bien es cierto que mi desempeño profesional está lejos de relacionarse con el desarrollo de webs en WordPress, cuento con una amplia experiencia en el campo web ya que es uno de mis hobbies, sigo muy de cerca este sector desde que apenas tenía 12 años y me gusta estar al día.

Por supuesto, esta entrada es subjetiva. Existen artículos mucho más completos que este. Pero recientemente me han pedido ayuda o he desarrollado la página web de alguna amistad y me han pedido consejos sobre qué plugins considero imprescindibles. Esta entrada no tiene otro objetivo que ese, hacerlo público y además, servirme a mí también como referencia.

Antes de nada, quiero remarcar lo importantísimo que es mantener un sitio web basado en WordPress actualizado. Tanto a nivel de plugins como del propio software de WordPress. Desde que esta herramienta adquirió popularidad para el desarrollo web, ha sido objeto de continuos ataques. Hackear un sitio WordPress no actualizado es muy sencillo. Con lo que recomiendo activar las actualizaciones automáticas y revisar periódicamente aquellos plugins o actualizaciones que no se ejecuten de forma automática.

A continuación, mi lista de plugins de WordPress que considero imprescindibles para instalar junto con la base.

Seguir leyendo «Plugins imprescindibles para una web básica en WordPress»

Cómo crear y desarrollar una aplicación en IPS Community Suite

Siempre he estado muy ligado a la plataforma IPS Community Services desde que decidí dar el salto de phpBB3 a IPB (Invision Power Board) con el proyecto/comunidad FMSite.net en 2007. Desde entonces, ya que el software que proveían lo permitía, he desarrollado diferentes aplicaciones para amoldar y extender las funcionalidades de mi comunidad.

Durante los últimos años, en IPS han estado trabajando en la versión 4.0 de su software, que implicaba una reescritura desde cero del código y, por tanto, de la API y forma de creación de aplicaciones para la comunidad. Lo que implica que tendría que rehacer todo el código de las aplicaciones que desarrollé para mi proyecto.

Hace unas semanas me puse manos a la obra y he de decir que la creación de aplicaciones de terceros en la versión 4.0 de IPS ha mejorado sobremanera con respecto a la versión 3.4. El proceso se ha simplificado muchísimo y, aunque aún la documentación respecto a la plataforma escasea, he sido capaz de reprogramar las aplicaciones sin documentación.

Como no es fácil iniciarse, en esta entrada pretendo explicar una guía en castellano para crear una aplicación desde cero en la suite IPS.

Seguir leyendo «Cómo crear y desarrollar una aplicación en IPS Community Suite»

Script para monitorizar carga CPU en un servidor Linux

Esta es la historia de hace unos meses, cuando migré un sitio web con mucha carga y visitantes simultáneos a un servidor más económico. Durante los primeras semanas teníamos problemas de carga de la web, sobre todo de madrugada, por tareas de mantenimiento, generación de backups, etc.

Por ello, consideré oportuno la necesidad de algún script que monitorizara la carga de CPU periódicamente con el objetivo de poder ver una gráfica y determinar qué puntos exactamente eran los críticos. De ésta forma, analizando el inicio de los momentos de mucha carga de CPU, podría casar la hora de comienzo con la tarea de CRONTAB del sistema.

En éste artículo voy a contar cómo montar un script muy muy sencillo que almacenará en un fichero, cada cinco minutos, la carga de CPU y desde un fichero PHP con el generador de gráficas highcharts de javascript pintaremos una gráfica con los datos recopilados. Gracias a esto, fui capaz de mover las tareas programadas a otros momentos y repartir la carga para que la web no fallase.

Seguir leyendo «Script para monitorizar carga CPU en un servidor Linux»

Raspberry Pi B+: una revisión importante de la Raspberry Pi

La Raspberry Pi lleva algo más de dos años a la venta y es el producto estrella entre las placas de su formato habiendo alcanzado ya la cifra de tres millones de ventas. No sólo la calidad/precio de esta placa es algo que hace decantarse a la gente por ella sino la impresionante comunidad que tiene a sus espaldas.

La semana pasada, la página web oficial de la Raspberry Pi anunciaba una revisión del modelo B que han sacado a la venta con el nombre de Raspberry Pi modelo B+, y ya es posible adquirirla de forma inmediata.

Este «nuevo» modelo no es una revolución. Mantiene las mismas características hardware y especificaciones generales del modelo anterior pero experimenta un gran cambio en ajustes de formato y diseño, añadiendo entre otras cosas, dos puertos USB adicionales. El cambio visual es importante, se ha reducido su tamaño y se han modificado las posiciones de las entrada/salidas.

Seguir leyendo «Raspberry Pi B+: una revisión importante de la Raspberry Pi»

Instalar MongoDB sobre una máquina con ARM con Linux

Hoy voy a mostrar cómo instalar paso a paso MongoDB en una máquina con procesador ARM. Estos comandos, y el repositorio que vamos a utilizar, están originalmente orientados a la Raspberry Pi, pero son compatibles con otros dispositivos con la misma arquitectura de procesador.

Pese a que MongoDB es exigente en hardware y recursos, llevo tiempo queriendo montar un entorno de desarrollo tal y como lo montaría en cualquier PC-servidor con Linux. Sin embargo, la arquitectura ARM aún no está tan extendida como para instalar cualquier servicio y no es sencillo recopilar información para preparar todo el entorno.

Seguir leyendo «Instalar MongoDB sobre una máquina con ARM con Linux»