Parzibyte's blog

Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.

Failed to load image al usar escpos-php de Mike42

En este post voy a relatar un error que aparece al comunicarse con impresoras térmicas desde PHP usando la librería ESC POS de Mike42. En este caso el error es Failed to load image que ocurre cuando queremos imprimir una imagen en una impresora térmica.

Recuerda que este error aparece si la imagen no es válida, no existe, no tienes la extensión gd y/o imagick, etcétera. Pero si crees que cuentas con todo eso y te sigue dando problemas entonces sigue leyendo.

Te lo repito: antes de revisar la solución listada más adelante, por favor comprueba que la imagen que quieres imprimir existe y que tienes habilitadas las extensiones necesarias.

(más…)

Biblioteca con Java – Gestión de libros, socios y préstamos

En el post de hoy vamos a resolver un ejercicio de programación con Java en donde simulamos una biblioteca en donde se prestan libros.

Usaremos programación orientada a objetos (clases) y archivos de texto para que los datos permanezcan guardados aunque la aplicación sea detenida. Todo será por consola.

(más…)

Usar librería de NPM en Vue con webpack y require

En este post de programación con JavaScript y Vue te enseñaré a importar una librería de NPM a un componente de Vue. Si bien esto es algo muy simple, en ocasiones podemos olvidarnos o perdernos.

Por ello es que en el post de hoy te enseñaré a importar un paquete de NPM desde un componente de Vue y usarlo dentro de ese componente a través de require.

Estoy suponiendo que usas la Vue CLI con Webpack, pero incluso si no lo haces, esto podría darte una ayuda.

(más…)

Clase para carrito de compras con JavaScript y LocalStorage

En este post te mostraré una librería de JavaScript para guardar un carrito de compras en JavaScript del lado del cliente. Será una simple clase que encerrará el comportamiento y brindará funciones para todas las operaciones.

Como dice el título, se usará localStorage para guardar y recuperar los valores, de este modo no importa el lenguaje del lado del servidor, pues se usará el lado del cliente.

Por ahora te mostraré solo la librería/Clase, no su uso. Ya más adelante te traeré un ejemplo completo.

(más…)

Verificar si librería GD está instalada (PHP)

En este corto tutorial vamos a ver cómo comprobar si la librería GD para PHP está instalada en nuestro servidor. Para ello vamos a usar código PHP.

Recuerda que GD nos permite usar funciones para manipular imágenes con este bonito lenguaje de programación PHP.

(más…)

Instalar librerías de Adafruit para sensor DHT

En este post te mostraré cuáles librerías son necesarias para leer la temperatura y humedad de los sensores DHT, ya sea el DHT22 o el DHT11; entre otros. Más tarde vamos a programar en VSCode usando PlatformIO.

Vamos a necesitar la librería: DHT Sensor Library proporcionada por Adafruit.

Adicional a ello vamos a necesitar descargar un encabezado.

(más…)

Un vistazo a Cargo: el gestor de paquetes de Rust

Ya vimos cómo instalar Rust en Windows. Ahora veremos su entorno de paquetes, algo así como el NPM de JS o el Composer de PHP. En Rust, el gestor de paquetes (aunque también funciona como la CLI de Rust) se llama Cargo.

Cargo es un ayudante que gestiona e instala las dependencias, genera proyectos y todas esas cosas bonitas. Los paquetes son llamados crates, no me pregunten por qué.

Rust, Cargo y generador de valores aleatorios

Rust, Cargo y generador de valores aleatorios

Pero bueno, veamos una introducción a Cargo.

(más…)

Descargar o incluir librerías javascript de GitHub usando rawgit

Introducción

Muchas veces encontramos proyectos buenos o librerías que resuelven el problema que tratamos de solucionar, pero están en GitHub y puede que no sepamos incluirlas. O también puede que no tengamos npm, bower y ninguna de esas cosas confusas que ponen. Así que en esta entrada trataré de explicar cómo es que podemos descargar librerías de GitHub a mano, de una forma fácil. Esto traerá ventajas ya que podremos obtener siempre la última versión.

Actualización: rawgit ya no funciona, pero puedes usar jdDelivr.

Proyecto de ejemplo

Veamos este proyecto, por ejemplo. Funciona para crear gráficas, pero si sólo queremos el script… ¿cómo sabemos cuál archivo descargar? ¿en dónde está ese archivo?

La mayoría de los proyectos que he visto tienen una carpeta llamada dist. Ahí es en donde se guardan los archivos finales, listos para ser usados.

Podemos ver que hay 4 archivos ahí. Normalmente siempre debemos tomar los que terminan con min.js (el tercero) ya que están minificados. Es decir, están optimizados y pesan menos que el archivo original. Si quisiéramos analizar el código fuente y tal vez modificarlo usaríamos el que no tiene min (el primero de la lista).

Sea cual sea el archivo, vamos a abrirlo y veremos el código fuente:

Código como RAW

Para poder ver el código tal como es, y poder descargarlo para incluirlo hacemos click en raw. Lo que nos llevará a lo siguiente:

Ahí ya tenemos la librería tal y como es. Podemos presionar Ctrl + S (o click derecho y elegir Guardar como) para guardarla como un archivo .js.

Rawgit

También podemos usar rawgit, un tipo de cdn que se encarga de proveer los archivos de GitHub con los encabezados Content-Type establecidos correctamente. Si queremos, podemos copiar el link del archivo raw (el de la captura de arriba) e ir a rawgit.com para pegarlo ahí y ahora sí obtener el enlace para incluirlo en una etiqueta script.

Al pegarlo en el primer campo de texto, los otros dos se llenan automáticamente. Para usarlo en producción, simplemente hay que copiar el de la izquierda. Para usarlo en desarrollo, usemos el de la derecha. Yo siempre uso el de la izquierda.

Y una vez copiado, podemos incluirlo así:

<script type="text/javascript" src="https://cdn.rawgit.com/jtblin/angular-chart.js/master/dist/angular-chart.min.js">

Como lo dije hace un momento, también podemos descargar la librería una vez que la hayamos abierto como raw. En ese caso la incluiríamos así:

<script type="text/javascript" src="carpeta_en_donde_se_guardo/nombre_archivo.js">

Ventajas y desventajas

La ventaja de usar rawgit es que ahorramos ancho de banda si es que subimos nuestro proyecto a internet. La desventaja es que éste servicio no ofrece ninguna garantía, ya que es gratis. Pero en todo el tiempo que llevo usándolo nunca ha fallado.