Guía 31 – Lector de códigos QR

Llevamos unos años que los códigos QR se han puesto de moda.

Se usan frecuentemente para facilitar dirección URL, pero también para facilitar un bloque de datos o como verificación de un documento electrónico trasladado a papel.

Dentro de mis guías, en concreto en la guía 3, expliqué cómo hacer imágenes con código de este tipo para ponerla en documentos. También existe un plugin descargable, que permite hacer código QR en JavaScript y presentarlo en la pantalla.

Lo que faltaba, al menos en mi caso, es que pudiéramos disponer de una aplicación PHPRunner que pudiera incorporar la lectura de los QR en nuestras aplicaciones y justo eso, es de lo que trata este artículo.

Objetivo

Poder leer códigos QR dentro de una aplicación, utilizando las cámaras del dispositivo donde se esté utilizando la aplicación.

DEMO: https://fhumanes.com/scannerQR/scannerqr_add.php

Si te interesa este tema sigue leyendo el artículo de este enlace.

Guía 30 – Cargar datos muy rápidos y online (actualización)

Aunque si es posible, lo mejor es utilizar el comando LOAD DATA INFILE para la carga de datos, hay casos en donde el contrato de hosting que tenemos no nos permite utilizar este estupendo comando de MySQL.

Para estos caso he creado una versión del fichero «ajax_refresh.php», llamado «ajax_refresh_2.php» en donde sustituyo este comando por los INSERT correspondientes.

Así espero que sea más fácil de usar y , también, podrá usarse para aquellos que no utilicen  MySQL.

Toda la información en el artículo de la guía.

Guía 30 – Cargar datos muy rápidos y online

Hay muchos proyectos de PHPRunner que son funcionalidades añadidas a grandes sistemas de CRM, etc. y en ocasiones requiere que copiemos una parte importante de información al sistema desarrollado en PHPRunner.

También, como es el caso del ejemplo que os traigo, se utilizan datos de OPEN DATA de las administraciones públicas para complementar información de nuestros sistemas.

El ejemplo que he hecho es la captura dinámica de la información del COVID de todos los países del mundo y de las regiones de los países de la Unión Europea.

El ejemplo hace:

  • Al primer usuario que se conecta del día, inicia el refresco de la información que publica la UE con el sistema que explico a continuación.
  • El resto de usuarios del día, utiliza la información que previamente se ha cargado.

El proceso de refresco hace (en mi PC tarda menos de 20 segundos):

  • Bloquear la tablas involucradas para que nadie acceda hasta completar el proceso de refresco de datos.
  • Limpiar las tablas de almacenamiento de los datos.
  • Descarga de la web de la UE de los 2 ficheros (unos 20 MB de información y unos 75.000 registros). Son ficheros JSON
  • Convertir esos ficheros JSON en ficheros CSV.
  • Cargar los nuevos datos con el comando «LOAD DATA INFILE».
  • Desbloquear las tablas involucradas.
  • Refrescar la página para que se vean los nuevos datos.

Objetivo

Explicar un método de refresco de datos Online en donde esté involucrado un volumen considerable de información en un tiempo muy pequeño.

DEMO: https://fhumanes.com/covid/

Si te interesa este tema o deseas acceder al código, sigue leyendo el artículo de este enlace.

Guía 29 – informar a través de barra de progreso

En este ejercicio intento resolver 2 situaciones que normalmente se producen en proyectos que suelen ser complejos, a saber:

  1. Definir una «barra de progresión» para indicar cuanto del trabajo lleva hecho el usuario que está utilizando la aplicación.
  2. Informar que el sistema está haciendo una actualización y que el usuario debe esperar a que termine para continuar.

El caso de uso típico de la (1) opción es cuando estamos haciendo una encuesta o simplemente, cuando estamos cumplimentando datos en varias etapas. La barra informa de lo que llevamos hecho y/o de lo que falta para terminar.

En el caso de la (2) opción es cuando estamos haciendo un proceso de actualización que no es inmediato y debemos indicar al usuario que se está produciendo una actualización y debe esperar a que termine.

DEMO: https://fhumanes.com/progress_bar

Si te interesa el tema y deseas los fuentes del ejemplo sigue leyendo el artículo.

Guía 28 – Situar el servidor en un «timezone» concreto

Aquellos que alquilamos un hosting para nuestros desarrollos, yo me encuentro en este caso, vemos que nuestras máquinas unas veces están en un país y otras veces en otro, y que sobre todo ni el sistema operativo ni el gestor de base de datos está en la zona horaria que a mi me interesa. En algunos casos, a través de CPanel se puede configurar el PHP y se puede indicar la zona horaria (time_zone), pero no así el gestor de base de datos, estando normalmente en configuración UTC.

También, puede ser que aún teniendo la capacidad de ajustar el servidor, requieras que diferentes aplicaciones tengan zonas horarias diferentes.

En mi caso concreto, al residir en Madrid, el server, tanto en SO como en DB, están en una hora menos.

Objetivo

Configurar las aplicaciones de PHPRunner para situarla en una zona horaria independientemente de la zona horaria del servidor.

DEMO: https://fhumanes.com/change_time/

Si te interesa este tema sigue leyendo el artículo de este enlace.