JavaScript – Saber si cadena es Pangrama

Anteriormente vimos cómo saber si una string es un pangrama en Python.

Ahora veremos cómo comprobar que una cadena es un pangrama en JavaScript, para ello usaremos un algoritmo simple en combinación con el método includes.

Recuerda que un pangrama es aquella oración que contiene todas las letras de un alfabeto de determinado idioma; en este caso lo haremos con el alfabeto español, aunque también se podrá modificar para otro alfabeto como el inglés.

(más…)

Dividir arreglo en trozos pequeños con JavaScript

JavaScript – Dividir arreglo en pedazos (arreglos más pequeños)

En este post voy a explicar cómo partir o dividir un arreglo en trozos, es decir, a partir de un arreglo, crear un arreglo de arreglos que tengan determinados elementos. Todo esto usando JavaScript (funciona en el navegador y en Node.Js)

Por ejemplo, tengo un arreglo de 8 elementos y lo reparto en pedazos de 3, formando un arreglo de 3 arreglos, los dos primeros tendrán 3 elementos y el último 2; justo como se ve en la imagen:

Dividir arreglo en trozos pequeños con JavaScript

Dividir arreglo en trozos pequeños con JavaScript

Lo único que usaremos será la función slice, push y ciclos for. Cabe mencionar que podremos cambiar la longitud de los pedazos y que no importa el tipo de dato de los arreglos.

(más…)

Aplicación de notas con localStorage, JavaScript, Bootstrap y Vue js

Aplicación web para tomar notas con JavaScript, Vue.js, Bootstrap y localStorage

Hace algún tiempo creé una aplicación web como un ejercicio para aplicar para un trabajo. Decidí hacerla con Vue.js, Bootstrap y localStorage en conjunto.

Al final resultó en algo como lo de la imagen:

Aplicación de notas con localStorage, JavaScript, Bootstrap y Vue js

Aplicación de notas con localStorage, JavaScript, Bootstrap y Vue js

Es una simple aplicación de notas que puedes crear, eliminar, editar y listar. También se puede cambiar el color de todas las notas (fue un requisito, no cosa mía, así como el idioma).

(más…)

Anatomía de setTimeout en JavaScript

setTimeout y setInterval en JavaScript, un acercamiento a los hilos

En este post voy a explicar dos funciones muy importantes que existen en JavaScript, me refiero a setTimeout y setInterval.

Ambas funciones nos permiten tener algo parecido a los hilos o threads en JavaScript, pero de una manera muy simple. Y por simple no quiero decir que le falten características, sino que es muy fácil de usar.

Por cierto, setTimeout y setInterval funcionan tanto en los navegadores web como en Node JS.

(más…)

Generador de diagramas de clase UML con JavaScript y Canvas

Generador de diagramas de clase UML con JavaScript

Introducción

En una de las materias que estoy cursando (o que cursé, dependiendo del momento en el que esto se publique) tuve que presentar todas esas cosas aburridas que conlleva el desarrollo de software.

Me refiero a los diagramas, casos de uso, clases, interfaces y todas esas cosas que al final (desde mi punto de vista) no sirven para nada y solamente hacen perder tiempo.

(más…)

Obteniendo valores de localStorage con JavaScript

Almacenamiento en el navegador con JavaScript y localStorage

El almacenamiento de datos en el navegador usando JavaScript, además de las cookies, ya es una cosa que salió hace mucho tiempo. Sin embargo, muchas personas todavía no conocen sobre el tema o saben poco sobre el mismo.

Es por eso que en este post voy a explicar cómo trabajar con la API de localStorage en JavaScript para almacenar datos en el navegador del usuario, pero lo más importante es que estos datos van a persistir aunque el navegador se cierre o se actualice.

(más…)

Código para guardar página web como imagen usando Node JS

Tomar captura o foto de una página web con Node JS, PhantomJS y node-webshot

En este post explicaré cómo tomar una captura de pantalla de cualquier página web con Node.JS. Es decir, tomar un screenshot de un sitio de internet como si lo visitáramos, pero sin realmente visitarlo.

Vamos a obtener la página web como una imagen usando JavaScript del lado del servidor. Para esto vamos a usar Node JS, PhantomJS y un módulo llamado node-webshot.

Código para guardar página web como imagen usando Node JS

Código para guardar página web como imagen usando Node JS

Lo que alcanzaremos al final será guardar una página web como una imagen PNG. También veremos algunas opciones que el paquete ofrece.

(más…)

Generar id o cadena única (UUID) en Node JS

Generar UUID o ID único en Node JS

Un UUID es un identificador único; personalmente lo uso para generar cadenas aleatorias y criptográficamente seguras. Hoy veremos cómo generar un ID único o identificador único con Node JS y un paquete llamado UUID.

Vamos a usar la versión 4 de UUID, es decir, el paquete uuid/v4 de Node. Eso nos dará una cadena como la siguiente:

c2f1a568-fd6e-46c9-95d7-e6aafd6d56bd

Se supone que la probabilidad de que se repita es casi nula, y que es aleatoria y segura; es decir, que no es predecible.

(más…)

Cargar sitios web de manera instantánea con instant.page

Mejorar y agilizar la carga de las páginas web precargando enlaces

Hace algún tiempo estuve presente en una conversación donde se discutía por qué las páginas de la documentación de cierto sitio web se cargaban de manera instantánea. Es decir, hacías click en un enlace y la carga era inmediata.

Analizando algunas cosas se descubrió que los componentes eran precargados cuando el usuario ponía el cursor sobre un enlace, es decir, cuando el usuario estaba a punto de hacer click para navegar a otro lugar.

Después de eso vi que se crearon muchas librerías, y justamente hoy vamos a ver cómo usar una de ellas para hacer más rápida la carga de una página web a la que navega el usuario: instant.page.

(más…)

Escuchar click de botones en JavaScript

Escuchar el click de un botón o botones con JavaScript

En este post explicaré algo muy simple: cómo saber cuando un usuario hace click en un botón de JavaScript, también cuando hace click sobre muchos botones y cómo acceder al elemento del DOM.

Esto también funcionará para saber cuando alguien hace click sobre otro elemento.

Escuchar click de botones en JavaScript

Escuchar click de botones en JavaScript

Foto tomada con Polacode y marca de agua puesta con waterpy.

Vamos a usar querySelector, querySelectorAll y addEventListener para ejecutar una función en el click del elemento.

(más…)

Solución a Error: PhantomJS exited with return value 127

Hace un momento estaba ejecutando una aplicación de NodeJS en un servidor con Ubuntu 18, todo bien, ejecuté npm install pero al momento de usar PhantomJS saltó el error que dice:

Error: PhantomJS exited with return value 127

Lo raro de todo esto es que había instalado las dependencias correctamente, y en Windows (y otros sistemas operativos) funcionaba a la perfección.

Al final encontré la solución, la cual era una simple dependencia a nivel de sistema operativo.

(más…)