Author Archive Erik Guerrero V.

PorErik Guerrero V.

PosgreSQL – Obtener cantidad de registros por tabla

Llevar un registro de la cantidad de filas de. cada tabla puede resultar útil para la planificación de la capacidad y el presupuesto, aunque es sorprendentemente difícil obtener recuentos precisos.

Leer más

PorErik Guerrero V.

Crear, compilar Dockerfile con PHP 7.2 + Apache + PostgreSQL PGSQL Connect

Crearemos el Dockerfile, compilaremos y ejecutaremos el contenedor listo para trabajar con PHP 7.2 con conexión a base de datos PostgreSQL de manera fácil.

Leer más

PorErik Guerrero V.

Linux – Desbloquear conexión a la base de datos por SELinux

Probablemente hemos tenido en algún momento  problema para conectarnos a nuestra base de datos desde nuestra aplicación web, SELinux bloquea por defecto las conexiones entrantes a nuestra base de datos.

Leer más

PorErik Guerrero V.

Linux: Cómo obtener listado de links rotos de un sitio web

Método sencillo, para detectar los links rotos dentro de un sitio web (completo) usando la herramienta wget.

Leer más

PorErik Guerrero V.

Instalar MongoDB 4.2+ Ubuntu o Debian

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 4B7C549A058F8B6B

 

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list

 

$ sudo apt-get update

 

$ sudo apt install mongodb-org

Si deseamos especificar la versión:

$ sudo apt install mongodb-org=4.2.1 mongodb-org-server=4.2.1 mongodb-org-shell=4.2.1 mongodb-org-mongos=4.2.1 mongodb-org-tools=4.2.1

Validamos la versión:

$ mongod --version 

MongoDB shell version v4.2.5

git version: 2261279b51ea13df08ae708ff278f0679c59dc32

OpenSSL version: OpenSSL 1.1.1f  31 Mar 2020

allocator: tcmalloc

modules: none

build environment:

    distmod: ubuntu1804

    distarch: x86_64

    target_arch: x86_64


 

Configuración:

$ sudo systemctl enable mongod
$ sudo systemctl start mongod

Algunos comandos:

sudo systemctl stop mongod
sudo systemctl restart mongod

Test

$ mongo 

> use mydb;

> db.test.save( { tecadmin: 100 } )

> db.test.find()

  { "_id" : ObjectId("52b0dc8285f8a8071cbb5daf"), "tecadmin" : 100 }

 

PorErik Guerrero V.

Web Scraping con Node.js

Análisis de contenido de un web site, donde podremos editar, guardar partes del sitio etc. Para ello vamos a usar Web Scraping con nodejs.(sĺo para fines educativos cualquier uso indebido es netamente de su responsabilidad).

Leer más

PorErik Guerrero V.

Visual Studio Code configurar extensión AREPL para python3

AREPL evalúa automáticamente el código de Python en tiempo real a medida que escribe.

Leer más

PorErik Guerrero V.

Visual Studio Code configurar extensión Code Runner para python3

Por defecto en Linux el editor de código VSC la extensión “Code runner” ejecuta los archivos con extensión py en el interprete de comandos usando el comando python pero para poder usar el comando python3 sólo basta con agregar o modificar en la configuracion json las siguientes lineas:

...
"code-runner.executorMap":
                            {
                                "python": "python3"
                            }
...

 

Listo!!!

 

PorErik Guerrero V.

03 – Tipo de datos en TypeScript

  1. number: Valor numericos, todos los números en TypeScript son valores de coma flotante. Estos números de coma flotante obtienen el tipo number. Además de los literales hexadecimales y decimales, TypeScript también admite literales binarios y octales introducidos en ECMAScript 2015.
    let decimal: number = 6;
    let hex: number = 0xf00d;
    let binary: number = 0b1010;
    let octal: number = 0o744;

     

  2. string: Valor de cadena o plantilla, que pueden abarcar varias líneas y tener expresiones incrustadas. Estas cadenas están rodeadas por el carácter backtick / backquote ( `), y las expresiones incrustadas son de la forma ${ expr }.
    let fullName: string = `Bob Bobbington`;
    let age: number = 37;
    let sentence: string = `Hello, my name is ${fullName}.
    
    I'll be ${age + 1} years old next month.`;

     

  3. boolean: true o false
    • == para comparar operaciones si son iguales.
    • != para comparar operaciones distintas.
    • && nos devuelve un verdadero cuando ambas expresiones son verdaderas.
    • || nos devuelve un verdadero si cualquier expresion es verdadero.
  4. object: Un objeto es una instancia que contiene un conjunto de pares de valores clave. Los valores pueden ser valores o funciones escalares o incluso una matriz de otros objetos.
    var object_name = {
     key1: “value1”, //scalar value
     key2: “value”,
     key3: function() {
      //functions
     },
     key4:[“content1”, “content2”] //collection
    };

     

  5. interface: La interfaz es una estructura que define el contrato en su aplicación. Define la sintaxis para las clases a seguir. Las clases que se derivan de una interfaz deben seguir la estructura proporcionada por su interfaz. Una interfaz se define con la palabra clave interfacey puede incluir propiedades y declaraciones de métodos utilizando una función o una función de flecha.
    interface IEmployee {
     empCode: number;
     empName: string;
     getSalary: (number) => number; // arrow function
     getManagerName(number): string;
    }

     

  6. any: Es posible que necesitemos describir el tipo de variables que no sabemos cuando estamos escribiendo una solicitud. Estos valores pueden provenir de contenido dinámico, por ejemplo, del usuario o de una biblioteca de terceros. En estos casos, queremos inhabilitar la verificación de tipos y dejar que los valores pasen por las comprobaciones en tiempo de compilación. Para hacerlo, los etiquetamos con el tipo “any”.
    let notSure: any = 4;
    notSure = "maybe a string instead";
    notSure = false; // okay, definitely a boolean

     

  7. array: TypeScript, como JavaScript, le permite trabajar con matrices de valores. Los tipos de matriz se pueden escribir de una de dos maneras. En el primero, usa el tipo de elementos seguido de [] para denotar una matriz de ese tipo de elemento:
    let list: number[] = [1, 2, 3];
    La segunda forma usa un tipo de matriz genérico Array<elemType>:
    
    let list: Array<number> = [1, 2, 3];

     

PorErik Guerrero V.

02 – Generar archivo js a partir de un archivo TypeScript

Generar archivo js a partir de un archivo TypeScript.

Seguimos los siguientes pasos:

  1. Creamos el archivo index.html
  2. Creamos el archivo index.ts
  3. Creamos el archivo index.js a partir del archivo ts index.ts con el comando tsc index.ts, si deseamos que el archivo este siempre a escucha de los cambios agregamos el comando watch el cual quedaria de la siguiente manera tsc index.ts –watch