Soy desarrollador fullstack, me encanta los retos tecnologicos en la busqueda de las soluciones mas creativas para los negocios. NodeJS - PHP - Python - Django - Drupal - Android - Swift - React Native
El Barvas App es una aplicacion de pedidos online para las ciudades de Trujillo, Piura y Chiclayo.
Durante el desarrollo de la aplicacion se busco priorizar 3 objetivos:
Permitir la toma del pedido sin intervencion humana
Obtener información precisa del sitio de entrega, validando con nuestras zonas de atención de forma automatizada
Envio de ofertas personalizadas a sus clientes
Este aplicativo dispone de un potente panel de control web desde donde se controlan los pedidos, entregas, pagos, stock, productos y precios, promociones, y gestión de mensajes de promociones entre otros.
La aplicación fue desarrollada tanto para el Google Play como para el lApp Store.
Existen diferentes alternativas de codigo para determinar si una clave existe en un objecto javascript. Vamos a conocer alguna de ellas, y vamos a medir cual es mas rapida.
Partimos del hecho que tenemos esta objeto en javascript
let obj = { a: 2, b: 5, c: [0,1,3,4] };
Metodo
Codigo
Tiempo ( ms )
Operador IN
“a” in obj
0.099
hasOwnProperty
obj.hasOwnProperty(“a”)
0.007
undefined
obj[“a”] == undefined
0.002
El resultado mas rapido se obtuvo comparando el valor con la constante undefined.
Si quieres hacer una instalación local de wordpress, te mostrare los pasos a seguir usando docker.
NOTA: La instalación de Docker esta pensada para Ubuntu pero pueden replicarse en windows Mac u otra distribucion Linux.
Instalar Docker
Descubrir docker es algo que te cambia la vida. Finalmente puedes hacer instalaciones de sistemas de forma rapida. Ya no tienes miedo de desconfigurar tu maquina principal. Y puedes hacer cuantas pruebas requieras en la configuracion de los servidores. Sin embargo, aun debes crear las imagenes y lanzar los containers de forma manual. Montar volumenes, configurar las redes internas, etc. Para evitar ese trabajo manual yo recomiendo usar docker-compose.
Docker-compose es una herramienta que intrepreta un archivo de texto docker-compose.yml y ejecuta por ti todos los comandos docker correspondientes.
En este caso, para instalar Docker, Docker-compose y todas sus dependencias necesarias ejecutamos el comando:
sudo apt install docker-compose
Una vez terminado, estamos listos para instalar nuestro wordpress.
Instalar WordPress
Creamos una carpeta donde residira el proyecto:
mkdir proyecto-wordpress
En dicha carpeta creamos un archivo docker-compose.yml:
version: ‘2’
services:
web:
image: wordpress
volumes:
– ./wp-content/:/var/www/html/wp-content/
ports:
– 80: 80
depends_on:
– db
links:
– db : db
El archivo en cuestion le indica al sistema que se descargue la ultima version de wordpress, que ejecute el servidor en el puerto 80 de nuestro localhost, y que la proyecto-wordpress/wp-content contenga toda la informacion que se sube a wordpress.
Ahora procedemos a ejecutar el servicio de wordpress ejecutando el comando
docker-compose up -d
Al realizar la configuración inicial de wordpress a traves de localhost, debemos tomar en cuenta, que al usar docker el Database Host ya no sera localhost sino db. ( En el archivo docker-compose.yml, en la seccion services => web => links => le pusimos el nombre db al servidor de la base de datos ).
Instalación Finalizada Exitosamente 😉
Comandos de Docker-Compose
El servicio de docker no es algo que debe estar permanentemente en memoria. Podemos prenderlo y apagarlo cuando lo necesitemos.
Cuando trabajamos con VSCode, el editor nos reconoce el tipo de lenguaje de programacion y establece los colorcitos necesarios para identificar facilmente errores o bloques de codigo. TEST
Sin embargo, algunos archivos no son reconocidos como escritos en PHP. Un ejemplo de estos, son los archivos .module en Drupal.
Para poder indicarle a VSCode que los archivos .MODULE son archivos en PHP debemos ir a FILE -> PREFERENCES -> SETTINGS
Ahi usamos el buscador de propiedades y buscamos files associations
Ahi, seleccionamos la opcion Edit in settings.json y escribimos la siguiente configuracion:
Creamos un objeto “files.associations” y dentro de el una propiedad por cada extension “*.module” y le indicamos que lenguaje de programacion va a parsear el archivo.
Django es un framework muy popular ( el omnipresente ) en proyectos web con Python. El modulo que vamos a usar para generar archivos Excel ( XLS ) se llama openpyxl.
Puedes instalarlo en tu computadora usando el comando pip, y puedes usarlo no solo en proyectos Django, sino tambien en scripts de administracion de python, etc.
pip install openpyxl
OpenpyXL es una libreria muy completa para el manejo de archivos XLS. Te permite trabajar con pestañas, formulas, estilos, etc. En NODEJS suelo utilizar otra libreria ( json-to-xls ) que como su nombre lo indica es mucho, mucho mas simple. Sin embargo, OpenpyXL a pesar de poder abarcara muchas opciones mantiene su simplicidad, lo cual se agradece.
Ahora bien, vamos al codigo. Lo primero es importar la libreriria
import openpyxl
Y con eso crear nuestro woorkbook ( este sera nuestro archivo xls final )
book = openpyxl.Workbook()
Recuerden que en excel tenemos pestañas en la parte inferior, esas se llaman sheets y con openxl podemos manejarlas a nuestro antojo. De momento solo vamos a seleccionar la pestaña por defecto.
sheet = book.active
Una vez que tenemos la variable sheet podemos agregar los registros a nuestro XLS, en este caso vamos a agregar una fila de cabecera primero y luego los datos
sheet.append( ( “Nombre”,”Telefono”, “Email” ) )
for p in personas:
sheet.append( ( p.nombre, p.telefono, p.email ) )
Con esto ya tenemos listo nuestro archivo XLS. Ahora solo hace falta guardarlo o descargarlo. Vamos a mostrar las dos opciones:
NPM es el sistema de gestion de paquetes de nodejs. Con él podemos gestionar las dependencias de nuestros proyectos de #nodejs o #reactnative. También lo podemos usar para instalar aplicaciones globales en nuestro sistema, como por ejemplo: ChromeCast ( aplicación que te permite enviar videos a un chromecast desde la linea de comandos 😉 )
npm init -y
Inicializa el archivo package.json de nuestro proyecto con los valores por defecto. Usar con cuidado porque reescribe el contenido del archivo, si ya existe.
npm home <paquete>
Abre el navegador con la web oficial del <paquete>
npm repo <paquete>
Abre el navegador con el repositorio oficial del <paquete>
npm outdated
Te indica que paquete tienes desactualizados
npm prune
Elimina las dependencias que no se estan utilizando
npm list
Te muestra los paquetes que se usan en un proyecto ( ordenado jerarquicamente )
npm dedupe
Intenta reducir las duplicidades de paquetes en tu proyecto
npm audit
Te muestra una lista de bugs conocidos en los paquetes de tu proyecto
npm audit fix
Actualiza los paquetes de tu proyecto que tienen parches de seguridad pendientes.