Tag Archive Terminal

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

Poradmin

Explicación fácil para establecer los permisos en FTP

El protocolo FTP se desarrolló en entornos de tipo UNIX similares a los populares GNU/Linux. 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.

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
PorErik Guerrero V.

¿Cómo mostrar los iconos del sistema (system tray icons) en Linux Elementary?

Por defecto linux Elementary oculta los iconos del sistema, para mostrarlo seguimos los siguientes pasos:

Ejecutamos las siguientes lineas en la terminal

$ sudo add-apt-repository ppa:yunnxx/elementary
$ sudo apt update
$ sudo apt install indicator-application wingpanel-indicator-ayatana

Luego editar el archivo /etc/xdg/autostart/indicator-application.desktop, buscar la linea:

OnlyShowIn=Unity;GNOME;

Agregar Pantheon:

OnlyShowIn=Unity;GNOME;Pantheon;

Guardar y ejecutar en el terminal la siguiente linea:

$ sudo sed -i -e 's/OnlyShowIn=Unity;GNOME;/OnlyShowIn=Unity;GNOME;Pantheon;/g' /etc/xdg/autostart/indicator-application.desktop

Reiniciar X:

sudo service lightdm restart

Finalmente reiniciar el equipo.

PorErik Guerrero V.

Añadir gestos al trackpad al estilo Mac en Linux

Podemos tener los gestos Mac (como desplazamiento de  escritorios con 3 dedos) al estilo Mac. Ejecutando  los siguientes comandos:

$ sudo gpasswd -a $USER input

  • Cerrar sesión y volver a logearse

$ sudo apt install xdotool wmctrl libinput-tools

$ cd /tmp

$ git clone https://github.com/bulletmark/libinput-gestures

$ cd libinput-gestures

$ sudo. /libinput-gestures-setup install

$ touch ~/.config/libinput-gestures.conf

$ libinput-gestures-setup restart

Mi configuración:
$ sudo nano ~/.config/libinput-gestures.conf

Copiamos y pegamos lo siguiente:

gesture swipe up 3 xdotool key super+Down
gesture swipe left 3 xdotool key super+Right
gesture swipe right 3 xdotool key super+Left

$ libinput-gestures-setup restart

 

Listo!!!!

PorErik Guerrero V.

Cómo conectar tu dispositivo Android en Linux al adb para depurar y desarrollar aplicaciones en Android Studio u otros

Al momento de querer depurar una aplicación en Android Studio  u otro IDE de desarrollo desde Linux nos encontramos con el siguiente problema.(Antes asegurar que nuestro teléfono se encuentre en modo “depuracion USB” habilitado).

$ adb devices
List of devices attached
???????????? no permissions

En el caso de que el comando adb no esté instalado podemos ejecutar:
$ sudo apt-get install adb


Creamos un archivo con el nombre 91-android.rules, el cual tendrá el siguiente contenido:
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", SYMLINK+="android_adb", MODE="0666", OWNER="nombre-de-usuario"


Luego de ello ejecutamos:
$ sudo /etc/init.d/udev restart
$ adb kill-server


Desconectar y volver a conectar nuestro teléfono movil, luego ejecutamos
$ adb devices
Salida:
List of devices attached
900339eb5012 device

Listo!!!

PorErik Guerrero V.

Subir proyecto a github

Antes de comenzar debemos de registrarnos en github ya que usarémos las credenciales obtenidas en dicho servicio.

Comencemos!!

Nos posicionamos dentro de la carpeta del proyecto desde la terminal, seguido ejecutamos los siguientes comandos:

$ git init

$ git add .


$ git config --global user.name "MI_NOMBRE"


$ git config --global user.email "MI_EMAIL"


$ git commit -m "Mi primer commit"


$ git remote add origin git@github.com:MI_USUARIO/NOMBRE_DE_MI_PROYECTO.git


Por ejemplo:

$ git remote add origin git@github.com:edwin2020/mi-proyecto-java-mvc.git

Subimos los cambios a github

$ git push origin master

Obtener los cambios desde github

$ git pull origin master


Luego se tendrá que proporcionar las credenciales de acceso a github de su cuenta tanto al hacer push o pull.

Listo!!!

Nota:

En caso de presentara el siguiente error al hacer “pull” (bajar los cambios desde github).

* branch master -> FETCH_HEAD
fatal: rehusando fusionar historias no relacionadas

Los solucionamos de agregando –allow-unrelated-histories a nuestro pull, Ejemplo:

$ git pull origina master --allow-unrelated-histories