Tag Archive Terminal

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];

     

Poradmin

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

PorErik Guerrero V.

MySQL Instalación y configuración, forzar el cambio contraseña / password root

Instalamos MySQL

$ sudo apt-get install mysql-common mysql-server

Iniciar mysql

$ sudo service mysql start

ó


$ systemctl start mysql

Habilitar mysql
$ sudo service mysql enable
ó
$ systemctl enable mysql

Configurar password root

Editamos la siguiente ruta de configuración mysqld

$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Agregamos:

[mysqld]

skip-grant-tables

Guardamos y reiniciamos el servicio mysql:
$ sudo service mysql restart

Deberíamos poder iniciar sesión en mysql ahora usando el comando a continuación
$ mysql -u root -p

Ejecutamos una ves dentro:

mysql> flush privileges
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("") where User='root';
mysql> update user set plugin="mysql_native_password" where User='root'; # THIS LINE
mysql> flush privileges;
mysql> quit;

Volvemos a editar el archivo de configuracion de mysqld, y comentamos o eliminamos
la linea que agregamos anteriormente en mi caso lo voy a comentar.

$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
# skip-grant-table
s

Guardamos y reiniciamos el servicio mysql

$ sudo service mysql restart

Listo !!!

PorErik Guerrero V.

Instalar Netbeans 10.0+ Linux, Java JDK , crear lanzador Netbeans

1.-Instalar dependencias java

Agregamos el repositorio oficial y actualizamos

$ sudo add-apt-repository ppa:webupd8team/java

$ sudo apt update


$ sudo apt install oracle-java8-set-default


Confirmación:
$ java --version
java 11.0.1 2018-10-16 LTS

Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)

Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)

2.-Descargamos Netbeans 

En mi caso la versión v11.0

$ sudo apt -y install wget unzip
$ wget https://www-us.apache.org/dist/incubator/netbeans/incubating-netbeans/incubating-11.0/incubating-netbeans-11.0-bin.zip

Descomprimimos

$ unzip incubating-netbeans-11.0-bin.zip

Movemos lo descomprimido

$ sudo mv netbeans/ /opt/

Modificamos el entorno de variables de linux,  agregando la ubicación del netbeans.

$ nano ~/.bashrc

Agregamos al final y

export PATH="$PATH:/opt/netbeans/bin/"

Guardamos y ejecutamos
$ source ~/.bashrc

Comprobamos por terminal
netbeans

3.-Crendo un lanzador para Netbeans

Ejecutamos

$ sudo nano /usr/share/applications/netbeans.desktop

Luego pegamos el siguiente código.


[Desktop Entry]
Encoding=UTF-8
Name=NetBeans IDE 11.0
GenericName=NetBeans IDE
Comment=NetBeans IDE
Icon=/opt/netbeans/nb/netbeans.png
Exec=/opt/netbeans/bin/netbeans
Category=Development;IDE;Java;
Type=Application
Terminal=false
StartupNotify=false

Luego guardamos.

Listo!!!!!!!

PorErik Guerrero V.

Crear lanzador de un archivo binario en ubuntu / Linux Mint

Crear un lanzador o acceso directo al bin de algun programa o software en inux es más fácil de lo que se piensa utilizando la herramienta gnome-panel que linux tiene para nosotros. Para ello sólo basta ejecutar los siguientes comandos en nuestra terminal.

Leer más

PorErik Guerrero V.

Descargar una Página Web Completa con Linux (desde la terminal)

Si alguna vez necesita descargar un sitio web completo, quizás para verlo fuera de línea, wget puede hacer
trabajo, por ejemplo:

$ wget \
     --recursive \
     --no-clobber \
     --page-requisites \
     --html-extension \
     --convert-links \
     --restrict-file-names=windows \
     --domains website.org \
     --no-parent \
         www.web.org/tutorials/html/

Las opciones son:

--recursive: descargar todo el sitio web.

--domains website.org: no sigas enlaces fuera de website.org.

--no-parent: no seguir enlaces fuera del directorio tutorials / html /.

--page-requisites: obtiene todos los elementos que componen la página (imágenes, CSS, etc.).

--html-extension: guarda archivos con la extensión .html.

--convert-links: convierte enlaces para que funcionen localmente, fuera de línea.

--restrict-file-names = windows: modifique los nombres de los archivos para que también funcionen en Windows.

--no-clobber: no sobrescribir ningún archivo existente (utilizado en caso de que la descarga se interrumpa y
reanudado).

Aplicación:

$ cd ~/Descargas
$ mkdir web
$ cd web
$ wget --recursive www.web.org/tutorials/html/

Y eso sería todo.