Author Archive Erik Guerrero V.

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.

01 – TypeScript y Angular 8.x – Introducción

Introducción

Este curso trata de explicar de forma rápida y sencilla las principales aplicaiones y ventajas de usar TypeScript.

Lo necesario

Instalar

  1. NodeJS: https://nodejs.org/es/
    $ sudo apt-get install curl python-software-properties 
    $ curl -sL https://deb.nodesource.com/setup_11.x | sudo bash - 
    $ sudo apt-get install nodejs 
    $ node –v 
    $ npm -v

     

  2. Google Chrome: https://www.google.es/chrome/browser/desktop/
  3. TypeScript: http://www.typescriptlang.org/
  4. Angular CLI https://cli.angular.io/ https://github.com/angular/angular-cli
    $ npm install -g @angular/cli

     

  5. Editor de Código Visual Studio Code: https://code.visualstudio.com/

Plugins Studio Visual code

  1. Angular 2 TypeScript Emmet
  2. Angular 5 Snippets – TypeScript, Html, Angular Material…
  3. Angular Language Service
  4. Angular v5 Snippets
  5. Angular2-inline
  6. Bootstrap 4 & Font Awesome snippets
  7. HTML CSS Support
  8. JavaScript (ES6) code snippets
  9. JS-CSS-HTML Formatter
  10. JSHint
  11. Material Icon Theme
  12. Prettier – Code Formatter
  13. Terminal
  14. TSLint
  15. TypeScript Hero
  16. TypeScript Importer
PorErik Guerrero V.

Configurar Visual Studio Code para Go

Como alternativa a un IDE exclusivamente para Go, podemos usar como alternativa el Editor de Código Visual Studio Code siguiendo las siguientes pasos para su configuración, cabe recalcar que dicha configuración e instalación de extensiones es una propuesta a la necesidad.

1.- Instalar Visual Studio Code

https://code.visualstudio.com/Download

2.- Instalar la Extensión

Go: Rich Go language support for Visual Studio Code

Luego de instalar la extensión nos dirigimos a la paleta de comandos (Menu > View > Command Palette) escribimos Go Install/Update Tools luego [Enter].

Seleccionamos todo y luego [Enter], esperamos que se instale todo los paquetes.

3.- Configuración Visual Studio Code (Preferences en el menu)

Para personalizar la configuración nos dirigimos al menú  File > Preferences > Settings, luego buscamos del arbol de opciones el item Extensions > Go seguidamente click en Edit in setting.json

Reemplazamos por la siguiente configuración:

{
“workbench.startupEditor”: “newUntitledFile”,
“go.useLanguageServer”: true,
“go.buildOnSave”: true,
“go.lintOnSave”: true,
“go.vetOnSave”: true,
“go.useCodeSnippetsOnFunctionSuggest”: true,
“go.formatOnSave”: false,
“go.formatTool”: “goreturns”,
}

Y guardamos.

4.- Depurador integrado de Visual Studio Code (Debugger)

Una de las características principales de VSC es el debugger integrado que nos permitirá  probar y depurar (eliminar) los errores de nuestro programa. El código a ser examinado puede alternativamente estar corriendo en un simulador de conjunto de instrucciones (ISS), una técnica que permite gran potencia en su capacidad de detenerse cuando son encontradas condiciones específicas.

Antes de todo tenemos que tener instalado el delve  las instrucciones las puedes encontrar aquí, si ya tienes todo lo necesario procedemos a crear puntos de interrupción “Breakpoint” tal como muestra la imagen.

Luego simplemente click en “Launch”,  nos mostrará la barra de navegación del debug el cual nos permitirá ir de breakpint en breakpoint tal como muestra la imagen.

Listo !!!!

PorErik Guerrero V.

Instalar Go en Linux MInt 19 (Ubuntu)

Podemos instalar Go en Linux Mint 19 y algunas distribuciones basadas en Ubuntu ejecutando los siguientes pasos:

1.-Agregamos  el repositorio PPA ejecutando el siguiente comando en su terminal.

$ sudo add-apt-repository ppa:longsleep/golang-backports

$ sudo apt-get update

2.- Instalación

$ sudo apt-get install golang-go

3.- Validamos

$ go version

4.- Configuración $GOPATH

$ mkdir -p ~/go/{bin,pkg,src}
$ echo ‘export GOPATH=”$HOME/go”‘ >> ~/.bashrc
$ echo ‘export PATH=”$PATH:${GOPATH//://bin:}/bin”‘ >> ~/.bashrc

5.- Probando tu Go environment (Entorno Go)

$ mkdir -p ~/go/src/test
$ nano ~/go/src/test/test.go

Agregar las siguientes lineas de código

package main
import “fmt”
func main() {
fmt.Printf(“Hello perudev!!”)
}

Generamos el archivo test.go

$ cd ~/go/src/test
$ go build

Ejecutamos el binario

$ ./test
Hello, perudev!!

 

Instalación

$ go install
$ ls ~/go/bin/
test

Para eliminar:

$ go clean -i

Listo !!!!

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.

[SOLUCIÓN DEFINITIVA] ¿WORDPRESS TE PIDE DATOS FTP/SFTP PARA ACTUALIZAR O INSTALAR ALGUN PLUGIN O PLANTILLA?

Ejecutamos por la terminal (en caso ingreso por ssh a mi servidor Linux).
$ chmod -R 775 wp-content

Luego agregamos las siguientes lineas al archivo wp-config.php

/*** FTP login ***/
define("FTP_HOST", "ip-ftp");
define("FTP_USER", "name-user-ftp");
define("FTP_PASS", "password-ftp");
define("FS_METHOD","direct");
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!!!