Sweetalert 2 y ventas - mostrar cambio calculado según importe y pago de cliente

Sweetalert 2 – Mostrar total de venta y cambio a partir de pago

En este post sobre Sweetalert 2 (Sweet Alert 2) veremos un ejercicio práctico: cómo solicitar el pago del cliente y mostrar el cambio (Dinero que se devuelve al comprador cuando entrega una cantidad superior al importe) en la misma alerta, validando todo.

Veremos cómo escuchar el cambio del input de la alerta, modificar el HTML de la misma y validar según una variable externa.

Recomiendo ver el tutorial de SweetAlert2 antes de leer este artículo.

(más…)

Limpiar input file de HTML con JavaScript

En este corto post de programación con JS puro vamos a ver cómo resetear, reiniciar, reestablecer o limpiar un elemento input de tipo file.

Explicado con otras palabras veremos cómo eliminar el archivo seleccionado de un input tipo file o input de archivo, para que parezca que no se ha seleccionado un archivo.

Lo haremos con JavaScript puro para que puedas aplicarlo a cualquier framework.

(más…)

Enviar archivo de JavaScript a Golang

Subir archivo de JavaScript a Go (Golang)

En este post de programación cliente-servidor vamos a ver cómo enviar un archivo desde JavaScript del lado del cliente a Golang (Go) del lado del servidor.

Específicamente hablando veremos cómo enviar un archivo usando fetch y FormData a través de AJAX hacia un servidor de Go.

Lo que te enseñaré servirá para enviar fotos, archivos binarios o incluso una foto tomada con la cámara web con las debidos ajustes.

Va a ser un ejemplo realmente simple pero que luego podrás modificar para, por ejemplo, usarlo en React, Angular, JavaScript puro o Vue.

(más…)

Distancia entre 2 coordenadas con JavaScript usando fórmula de Haversine

JavaScript: distancia entre 2 coordenadas

En el artículo de hoy te enseñaré a calcular la distancia en kilómetros que existe entre 2 puntos geográficos o 2 coordenadas, tomando las longitudes y latitudes.

Básicamente vamos a saber cuál es la medida que separa ambos puntos obtenidos con el GPS usando la fórmula de Haversine en JavaScript, y esto nos funcionará en el navegador así como en Node.js.

Con esto podríamos ordenar los lugares cercanos dependiendo de la ubicación del usuario, por ejemplo.

(más…)

JavaScript: eliminar líneas repetidas

En este corto post de JavaScript te enseñaré a eliminar líneas repetidas (no de código, sino de algún texto o párrafo).

Esto nos servirá para eliminar elementos repetidos de una lista, por ejemplo un arreglo de cadenas, o de una cadena con varios saltos de línea.

Lo haremos de una manera limpia con JavaScript.

(más…)

Archivo modificado en commit de GitHub

Obtener lista de archivos modificados en commit de GitHub desde la web

Hoy vamos a ver cómo listar los archivos modificados en un commit de GitHub desde la interfaz web, no desde la línea de comandos.

Cuando estamos en github.com podemos ver un commit que muestra los archivos modificados o creados, pero no los muestra en forma de lista para copiar y pegar.

En este post te mostraré cómo obtener la lista de la ruta completa de los archivos creados o modificados en ese commit, usando la consola de depuración.

Nota: seguramente esto se puede hacer desde la línea de comandos, pero veamos cómo hacerlo con JavaScript desde el navegador.

(más…)

Dinero reunido en período de tiempo con JavaScript

Calcular dinero reunido en un período de tiempo con JavaScript

En este post te mostraré un script muy simple que calcula cuánto dinero se reuniría en un período de tiempo si cada persona coopera una cantidad cada cierto tiempo.

Por ejemplo, cuánto dinero se puede reunir si cooperas 100 pesos cada semana desde el 1 de enero de 2021 hasta el 10 de abril de 2022.

El script te dirá cuánto dinero deberías llevar en cada fecha, sumando cada cooperación. Aunque esto suene simple puede servir para tandas, ahorros personales (así puedes saber cuánto tendrías si ahorras en un período), cooperaciones o cálculo de préstamos o deudas en un plazo.

(más…)

Recorrer intervalo de fechas con JavaScript - Ciclo con período de tiempo

JavaScript: ciclo con fechas (recorrer período de tiempo)

En este post veremos cómo iterar un período de fechas con JavaScript usando un ciclo. Es decir, ir de una fecha a otra con un intervalo de días.

Con este código podremos ir de una fecha de inicio a una fecha de fin saltando entre días, horas, meses, años o cualquier período de tiempo.

Gracias a esto podremos, por ejemplo, recorrer un año saltando de semana a semana. Esto servirá para generar fechas de pagos o cualquier otra cosa interesante que necesitemos.

(más…)

Encriptar y desencriptar información con JavaScript usando AES

Encriptación con JavaScript del lado del cliente usando la Web Crypto API

En este post de programación con JavaScript en el navegador veremos cómo encriptar y desencriptar datos usando una API nativa, segura y confiable.

Encriptar y desencriptar información con JavaScript usando AES

Encriptar y desencriptar información con JavaScript usando AES

Vamos a usar la interfaz Crypto a través de window.crypto. Al final podremos encriptar y desencriptar archivos usando una contraseña, derivando una clave de la misma y usando AES para el cifrado de datos.

Nota: voy a usar cifrado y encriptado como sinónimos para referirme a la encriptación de información.

Por cierto, usaremos la encriptación simétrica aunque también es posible usar la asimétrica con claves públicas y privadas.

(más…)

Reducir tamaño de imagen con JavaScript

Reducir tamaño de imagen con JavaScript

En el post de hoy te enseñaré a comprimir una imagen usando JavaScript al seleccionar una imagen con un input de tipo file.

Con comprimir me refiero a reducir el tamaño del archivo de imagen, cambiando su calidad. Verás que podrás reducir la imagen hasta el 20 % de su calidad sin que se note (y podrás comprimirla incluso más).

Reducir tamaño de imagen con JavaScript – Antes y después, al poner el 30 % de calidad

De este modo puedes reducir el tamaño de una imagen antes de subirla a un servidor o cosas por el estilo (cambiando su peso, no su medida en pixeles). Todo esto lo haremos del lado del cliente trabajando con JS, Canvas y URL.

Yo hago este post porque estoy usando el storage de Firebase y necesito subir archivos pero no quiero que se agote mi plan gratuito.

También te servirá a ti para ahorrar ancho de banda y almacenamiento en tu servidor, o tal vez solo quieras hacer una app que reduzca la calidad de las imágenes.

(más…)

Cadena aleatoria con JavaScript

Cadena aleatoria con JavaScript

En el post de hoy te enseñaré a generar una string aleatoria usando el lenguaje de programación JavaScript.

Al final tendremos una función que nos dará una cadena con caracteres aleatorios dependiendo de la longitud deseada. El ejercicio dice así:

Escribe una función de JavaScript que genere una cadena (de longitud especificada) de caracteres aleatorios.

Ejemplo de lista de caracteres válidos: “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789”

Obviamente tú podrás cambiar el banco de letras si así lo deseas. Veamos cómo hacerlo con JS.

(más…)

Caracteres únicos de una cadena en JavaScript - Ejercicio de programación resuelto

Extraer caracteres únicos de cadena con JavaScript

Hoy vamos a ver cómo extraer caracteres únicos de una cadena con JavaScript. El ejercicio solicita lo siguiente:

Escribe una función de JavaScript para extraer caracteres únicos de una cadena.

Cadena de ejemplo: “the quick brown fox jumps over the lazy dog”

Salida esperada: ” thequickbrownfxjmpsvlazydg “

Fíjate en que también estoy tomando en cuenta el espacio. Por cierto, esa cadena es un pangrama.

Veamos cómo hacerlo con JS.

(más…)

JavaScript - Convertir cantidad de dinero a monedas y billetes de distinta denominación

JavaScript: convertir dinero a monedas y billetes

Hoy vamos a resolver un ejercicio de JavaScript. Se trata de un programa para convertir un número en monedas y billetes de distinta denominación. El mismo dice así:

Escribe una función de JavaScript para convertir una cantidad X de dinero en monedas o billetes. A la función se le deben pasar los valores de las monedas y billetes en las que queremos cambiar mediante un array

(más…)