Conexión Node.js y MySQL con Express

En este post te voy a mostrar cómo conectarte a una base de datos de MySQL usando el lenguaje de programación JavaScript  del lado del servidor a través del entorno Node; también conocido como Node.Js.

Vamos a hacer las 4 operaciones básicas de la base de datos: obtener datos, insertar datos, actualizar datos y eliminar datos.

Para la interfaz del usuario vamos a usar Bootstrap y una estructura de aplicación web generada con express-generator.

(más…)

Generar app de express y Node con express-generator

En este post voy a mostrar cómo crear la estructura inicial de una app de Node que utiliza el framework Express, usando el generador llamado express-generator.

Lo que veremos será:

  • Cómo instalar express-generator
  • Instalar las dependencias
  • Analizar la anatomía de la app, es decir, el proyecto, las vistas, etcétera

Nota: este ejemplo podría ser una “mejora” a la plantilla que vimos anteriormente.

(más…)

Cambiar puerto de app generada con express-generator

El paquete express-generator ayuda muchísimo en el desarrollo de aplicaciones web con Node, pues genera la estructura de una aplicación.

Una pequeña desventaja es que al generar el código no sabemos cómo cambiar algunas cosas muy básicas, por ejemplo, el puerto en el que escucha la app (por defecto es el puerto 3000).

Por ello es que hoy veremos cómo cambiar el puerto de escucha de una app de Express generada con express-generator.

(más…)

Instalar Node.js y NPM en Android con Termux

En este post vamos a ver cómo tener el entorno de Node.Js y el gestor de paquetes NPM en Android.

Al finalizar la instalación y configuración seremos capaces de ejecutar una aplicación de Node.js como si tuviéramos un servidor Linux.

También veremos cómo instalar dependencias usando el comando npm install, pues es una cosa posible en Android gracias a Termux.

Concretamente vamos a instalar la versión 6.9.0 de NPM y la versión 12.3.1 de node, aunque tal vez cuando leas este post se instale una versión más nueva.

(más…)

Node.Js + Express: ejemplo de creación de proyecto

Express es un framework muy popular en el ecosistema de Node y JavaScript del lado del servidor.

Casi todo programador lo conoce y muchísimas pilas o paradigmas de programación lo integran, pues es un framework para la web.

Express y Node – Comenzar proyecto

En este post vamos a ver cómo:

  1. Iniciar un proyecto de Node.Js
  2. Instalar Express, el framework web
  3. Configura rutas en Express y servir:
    1. Archivo HTML
    2. JSON
    3. Una cadena simple

Con esto tendremos una plantilla base para un servidor ligero que responda peticiones HTTP.

(más…)

Ejercicio resuelto en JavaScript - Día y hora a partir del domingo a medianoche

Ejercicio resuelto con JavaScript: fecha y hora a partir del domingo según minutos

Hoy vamos a ver la solución a un ejercicio que dice algo así.

Hacer una función en JavaScript que reciba un número de minutos (puede ser positivo o negativo) y devuelva el día de la semana y la hora (en formato de 24 horas) que sería si al domingo a la medianoche se le sumara o restara ese número de minutos.

Por ejemplo, al llamar a la función con el número 3 debería devolver “Domingo 00:03” y si se llama con el número -3 debería devolver “Sábado 23:57”, al igual que si se llama con 0 debería devolver “Domingo 00:00”.

Para programar el algoritmo vamos a operar con fechas en JavaScript como hemos visto en otros posts.

Nota: este es un ejercicio adaptado de codewars.

(más…)

Primera letra que no se repite en JavaScript

JavaScript: encontrar primer carácter que no se repite

En este post voy a resolver un ejercicio que dice así:

Crear una función que reciba una cadena y regrese la primera letra o carácter que no se repita en toda la cadena. No importa si la letra está en mayúscula o minúscula, se cuenta como repetida de igual manera. Eso sí, al regresar la letra se debe regresar en su forma original (es decir, si era mayúscula se regresa mayúscula, si no, minúscula).

Por si no se encuentra una letra que no se repita, se debe regresar una cadena vacía.

Dicho de otra manera, se necesita buscar la primera letra que aparezca exactamente una vez en la cadena. Lo he tomado de codewars.

Veamos entonces cómo resolverlo. Vamos a convertir a minúscula y a ver si una letra aparece únicamente una vez.

(más…)

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…)

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…)

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…)