Habilitar registro de errores en Ferozo

Hace algún tiempo estuve depurando una aplicación de PHP (específicamente un sistema de cotizaciones) y no había rastro del error por ningún lado.

Es decir, no había registro de errores, impresión de errores ni un archivo de error.log o algo parecido. Todo esto en el panel de control Ferozo.

Investigando un poco más, encontré la manera de mostrar los errores y de guardarlos en un registro o log. Aquí te mostraré cómo habilitarlo y en dónde se encuentra.

(más…)

Usar jsDelivr para cargar scripts de GitHub

GitHub es una gran fuente de scripts y código open source que nos facilita la vida. Los desarrolladores ponen a nuestra disposición las librerías, mismas que podemos descargar e incluir en nuestros proyectos.

En ocasiones necesitamos cargar esas librerías sin descargarlas, es decir, usar GitHub como host para cargar los scripts. Y eso era posible hace tiempo gracias a Rawgit, pero ahora ha dejado de funcionar.

Por lo tanto, buscando, encontré una alternativa: jsDelivr.

(más…)

API REST con Spring Boot y MySQL

En este post te mostraré cómo crear una API REST usando el lenguaje de programación Java, el framework Spring Boot y la base de datos MySQL. Va a ser un proyecto simple pero a partir del mismo vas a poder crear más endpoints o rutas para consumir distintos modelos.

API REST en Spring Boot con MySQL

Lo que tendremos al final será un proyecto sencillo que expone una API REST con los métodos HTTP GET, POST, PUT y DELETE, interactuando con la base de datos en MySQL y además soportando CORS.

Por cierto, para el intercambio y consumo de datos vamos a usar JSON.

(más…)

Imágenes responsivas con CSS

En este post sobre diseño responsivo en CSS te mostraré cómo hacer que una imagen sea responsiva o responsive. Es decir, que se adapte a cualquier tamaño de pantalla.

Hacer una imagen adaptable es útil cuando no usamos frameworks de diseño como Bootstrap, Bulma, etcétera, y queremos que la imagen sea responsiva.

(más…)

HTML a PDF con JavaScript

En este post te mostraré cómo exportar una página web a PDF a través de un botón, enlace o cualquier cosa soportada por JavaScript. A este proceso también se le conoce como convertir HTML a PDF.

Convertir HTML a PDF con JavaScript

Es decir, convertir web a PDF usando programación con JavaScript y las siguientes librerías:

De hecho, html2pdf usa las dos librerías anteriores. Aunque parece complejo, verás que no lo es realmente. Con esta librería podemos crear un PDF muy parecido a la página web, incluyendo imágenes.

(más…)

Lectura de Código de barras con dibujo en canvas - JavaScript con QuaggaJs

Leer código de barras con JavaScript y cámara

En este post te mostraré cómo leer códigos de barras en el navegador web ya sea de una computadora o dispositivo móvil, usando la cámara del teléfono o la cámara web; y el lenguaje nativo JavaScript.

Esto hace que podamos hacer nuestras aplicaciones web todavía más diversas y con más características; en un ejemplo simple se me ocurre escanear el código de barras para un sistema de ventas.

La librería que vamos a usar se llama QuaggaJS y es capaz de leer códigos de barras con formato EAN, CODE 128, CODE 39, EAN 8, UPC-A, UPC-C, I2of5, 2of5, CODE 93 y CODABAR.

Con esto, podremos leer códigos de barras en dispositivos móviles o computadoras en tiempo real.

(más…)

Comunicación entre ventanas de JavaScript

En JavaScript podemos abrir una nueva pestaña o ventana (window) y comunicarnos con ella. Es decir, abrir una ventana con window.open y después hacer algo de lo siguiente:

  • Enviarle mensajes o datos a la ventana hija, recién abierta
  • Desde la ventana abierta, enviarle mensajes o datos a la ventana padre

Veamos cómo comunicar o enviar datos entre ventanas con JavaScript. Al final del post dejaré un ejemplo para que puedas probarlo y analizarlo tú mismo.

(más…)

Pequeño e-commerce en Angular, Node y MySQL (tienda online)

Hoy vengo a presentar un software de comercio electrónico, tienda online o e-commerce escrito en Angular, con los estilos de Angular Material, y con una API escrita con JavaScript del lado del servidor usando Node con Express. Para la base de datos se ha usado MySQL.

El software es open source; puede ser descargado y modificado por cualquier persona. Entre sus características encontramos:

  • Gestión de productos
  • Fotos de productos (guardadas en el disco duro)
  • Carrito de compras por cada usuario
  • Registro de venta con dirección de envío
  • Vista de tienda
  • Detalle de producto

Quiero aclarar que no es un software listo para producción, y más bien es un proyecto escolar que puede servir ya sea como base para un proyecto completo de un e-commerce o para otro proyecto escolar.

Veamos ahora cómo es que está programado, en dónde se puede descargar. etcétera.

(más…)

Laravel: obtener URL pública

En este post veremos cómo determinar o saber la URL de un proyecto de Laravel, es decir, obtener la URL absoluta.

Esto sirve en ocasiones que necesitamos determinar la url completa para por ejemplo consumir una API de Laravel desde JavaScript, incluir assets, determinar el dominio, etcétera.

Con esto me refiero a que obtendrías una URL como:

http://localhost/sistema_ventas_laravel_julio/public/

O, si está en un dominio de internet, algo como:

https://parzibyte.me/apps/sistema_ventas_laravel/public/

(más…)

Problemas con Awesomplete al usar Bootstrap

En este artículo te explicaré un problema que me pasó hace algún tiempo usando la librería Awesomplete y el framework Bootstrap.

Pasa que al hacer un autocompletado con AJAX,  el input perdía su estilo y se mostraba a la derecha de la etiqueta. Algo así:

Awesomplete con Bootstrap – Cambiando estilo de input

Cuando en realidad, debería mostrarse así:

Input correcto con awesomplete y Bootstrap

(más…)

Sesiones en Node con express.js

En este post te mostraré un ejemplo sencillo y claro de cómo manejar la sesión o persistencia de sesión en Node.js usando el framework express.js

Vamos a usar el paquete express-session; y de este modo podremos acceder a los datos de sesión de la petición.

Gracias a la sesión podemos hacer varias cosas. Por ejemplo, restringir el acceso solo a usuarios logueados o llevar algo como un carrito de compras.

(más…)

Datos de sesión con fetch

En este post te mostraré cómo hacer que la sesión persista al usar la fetch API de JavaScript. Pasa que en ocasiones hacemos cosas con la sesión del lado del servidor, pero al usar fetch no se toma en cuenta la sesión.

Por ejemplo, iniciamos sesión con fetch y al querer acceder a un recurso protegido con la sesión, nos dice que no hay datos de sesión o que no estamos logueados.

Te mostraré cómo hacer que la sesión del lado del servidor (lo he probado con PHP, Go y Node.js o bueno JavaScript del lado del cliente) persista al usar fetch.

(más…)