Danielside

informática softwarelibre divagaciones música

PHP, Programación

Mejorando el rendimiento de procesamientos con PHP

Le he dado el nombre de «procesamientos» para referirme a procesos largos que se ejecutan fuera del marco de la web. En otros tiempos diríamos «procesos batch» pero queda viejuno y windowsiano. Y «procesos» queda muy genérico.

El uso más extendido de PHP es procesar información en el backend, con la ayuda de FPM, para devolver contenido a un servidor web y éste a su vez devolver HTML al cliente. Pero en sistemas web complejos, tarde o temprano necesitaremos procesar cosas (ficheros grandes, tareas de mantenimiento, tareas de envíos de comunicaciones a clientes, etc). Este tipo de tareas es muy sensible a las mejoras que vamos a comentar en este post.

Seguir leyendo…

PHP, Programación

Reduciendo la complejidad ciclomática en PHP

Recientemente he estado rescatando cosas y leyendo cosas nuevas de PHP y poniéndome al día. PHP es un lenguaje que ya ha superado su lastre de ser un lenguaje confuso y «de pobres» y exclusivamente para crear webs cutrecillas. Por mencionar dos proyectazos que dan soporte a un enorme porcentaje de sitios: WordPress y Drupal.

Un excelente comienzo si te quieres modernizar y empezar a aplicar las mejores prácticas de PHP es https://phptherightway.com/. Se trata de un libro en constante evolución que puedes leer de forma gratuita y también puedes comprar al autor en formato eBook.

He estado retomando mi proyecto (framework Slim 3) para la web https://puestosdetrabajofuncionarios.nom.es/ para ver si podía ponerlo al día con las mejores prácticas y en concreto me ha parecido muy interesante el uso de PHP Mess Detector https://phpmd.org/. Le damos caña:

Nos fijamos en el primer resultado.

Seguir leyendo… 1 comentario

GNU/Linux, PHP, Software Libre, XMPP

Mi cloud con Haproxy y LXC

Me ha costado un poco pero finalmente he conseguido reestructurar mi vetusto servidor de DigitalOcean con Debian 7, donde tengo varias aplicaciones personales (nextcloud, gnusocial, prosody, etc.) a uno con Debian 10 en el que cada aplicación reside en un contenedor LXC 3 sin privilegios usando Alpine 3.10 (el mismo que usa Docker por defecto)

Seguir leyendo… 1 comentario

GNU/Linux, PHP, Programación

PHP moderno en servidor VPS viejuno

Me encanta Debian por su estabilidad. Cuando el mundo acabe, las cucarachas vivirán sobre la faz de la tierra y quedará un servidor Debian encendido.

La desventaja es que son muy conservadores para actualizar las versiones del software, lo cual puede generar problemas de seguridad y también de rendimiento. Yo tengo un servidor virtual contratado para mis aplicaciones y en la época en la que comencé estaba disponible Debian 7 «Wheezy», eso estaba haciendo que ya no pudiera instalar versiones modernas de ciertas aplicaciones, que se habían pasado a versiones de PHP más modernas y que corrigen fallos importantes. Me encontraba en la 5.4

Seguir leyendo…

1 comentario

Ingeniería del Software, Laravel, PHP, Programación

Un buen uso de Traits en Laravel

Profundizando en el uso que estoy haciendo de este framework, siempre me he preocupado por seguir las mejores prácticas. No simplemente copiar y pegar todo lo que pueda encontrar en StackOverflow sobre lo que son «mejores prácticas» si no aquéllo que para mi tenga sentido. Laravel no es un framework tan opinionated como lo pueda ser Ruby on Rails, lo que a mi parecer te deja más flexibilidad. Cualquier crítica será bienvenida 😉

Seguir leyendo…

3 comentarios