Regla del Boy Scout en el Código Limpio

 

No basta con escribir código correctamente. El código debe limpiarse con el tiempo.

La frase de los Boy Scout  «déjalo mejor de como lo encontraste» es una regla que se puede aplicar a nuestro código.

Si todos los días entregamos el código un poco más limpio de lo que lo hemos recibido, el proyecto ira mejorando con el tiempo.

 

 

Koan es6katas, 9: Object Literal -basic

 

http://es6katas.org/

// 9: object-literals - basics
// To do: make all tests pass, leave the assert lines unchanged!

describe('The object literal allows for new shorthands', () => {

  const x = 1;
  const y = 2;

  describe('with variables', () => {
    it('the short version for `{x: x}` is {x}', () => {
      const short = {y};
      assert.deepEqual(short, {y: y});
    });
    it('works with multiple variables too', () => {
      const short = {x, y};
      assert.deepEqual(short, {x: x, y: y});
    });
  });
  
  describe('with methods', () => {
    
    const func = () => func;

    it('using the name only uses it as key', () => {
      const short = {func};
      assert.deepEqual(short, {func: func});
    });
    
    it('a different key must be given explicitly, just like before ES6', () => {
      const short = {otherKey:func};
      assert.deepEqual(short, {otherKey: func});
    });
    
    it('inline functions, can written as `obj={func(){}}` instead of `obj={func:function(){}}`', () => {
      const short = {
        inlineFunc(){ return 'I am inline'}
      };
      assert.deepEqual(short.inlineFunc(), 'I am inline');
    });
  });
  
});

Instalacion ExpressJs

INSTALACIÓN

Suponiendo que ya ha instalado Node.js, cree un directorio para que contenga la aplicación y conviértelo en el directorio de trabajo.

mkdir myapp
cd myapp

Utilice el mandato npm init para crear un archivo package.json para la aplicación. Para obtener más información sobre cómo funciona package.json, consulte Specifics of npm’s package.json handling.

npm init

Este mandato solicita varios elementos como, por ejemplo, el nombre y la versión de la aplicación. Por ahora, sólo tiene que pulsar INTRO para aceptar los valores predeterminados para la mayoría de ellos, con la siguiente excepción:

entry point: (index.js)

Especifique app.js o el nombre que desee para el archivo principal. Si desea que sea index.js, pulse INTRO para aceptar el nombre de archivo predeterminado recomendado.

A continuación, instale Express en el directorio app y guárdelo en la lista de dependencias. Por ejemplo:

npm install express --save

Para instalar Express temporalmente y no añadirlo a la lista de dependencias, omita la opción --save:

npm install express

http://expressjs.com/es/starter/installing.html

HOLA MUNDO

En el directorio myapp, cree un archivo denominado app.js y añada el código siguiente:

var express = require('express');
var app = express();

app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

Para arrancar el servidor:

node app.js

 

Ahora en un navegador poner localhost:3000 y nos saldra la raiz / –> Hello Word!

 

Si le añadieramos otra ruta en el app.js tal como esta:

var express = require('express');
var app = express();

app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.get('/prueba', function (req, res) {
  res.send('Prueba!!!');
});

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

Ahora si ponemos en el navegador localhost:3000/prueba veremos por pantalla –> Prueba!!!

http://expressjs.com/es/starter/hello-world.html

Reparar Botón editar en Shutter con Ubuntu 18.04

1.- Descargar e Instalar los siguientes paquetes:

Descargar e Instalar Paquete 1

Descargar e Instalar Paquete 2 

Descargar e Instalar Paquete 3

 

2.- Cerrar todos los procesos de shutter con el siguiente comando en Terminal:

sudo killall shutter

 

3.- Para que se nos vea el icono de Shutter en la barra, hacer lo siguiente desde la Terminal:

sudo apt install libappindicator-dev

sudo cpan -i Gtk2::AppIndicator

sudo killall shutter

 

 

https://itsfoss.com/shutter-edit-button-disabled/

Añadir Node, Jest, Chai a IntelliJ

Comprobar si tenemos instalado Node y NPM

node --version
npm --version

Instalar Node y NPM

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm

Añadir Node

  1. ctrl+alt+s y entramos en el menu Settings
  2. Vamos a Plugins – Browse Repositories y buscamos Nodejs e instalamos

 

Ahora ya tenemos en el menu de Languages&Frameworks

Añadir Libreria Jest, Chai…

  1. ctrl+alt+s y entramos en el menu Settings
  2. Vamos a Languages & Frameworks-Javascript-Libraries-Download y buscamos la librería que queramos(ejemplo:jest) e instalamos.

Instalar JEST en un proyecto de Javascript

Crear fichero package.json:

npm init  // tipo cuestionario
npm init --yes //crea todo por defecto

 

Instalar jest vía npm:

npm install --save-dev jest

 

Añadir a package.json:

{
  "scripts": {
    "test": "jest"
  }
}

**Si queremos que este fijo abierto el servicio, lo añadimos de la siguiente manera:

{
  "scripts": {
    "test": "jest --watch"
  }
}

**»test»: «jest –watchAll» –>sin git

Con esta mejora, ya no tenemos que estar lanzando el test cada vez, si no cada vez que guardemos, nos lo lanzará.

 

Añadir también esto al package.json si vamos a usar jsdom,

"jest": {
    "verbose": true,
    "testURL": "http://localhost/"
},

https://github.com/jsdom/jsdom/issues/2304

si no dará el siguiente error:

 SecurityError: localStorage is not available for opaque origins
      
      at Window.get localStorage [as localStorage] (node_modules/jsdom/lib/jsdom/browser/Window.js:257:15)
          at Array.forEach (<anonymous>)

 

Vista final del package.json:

 

Crear carpeta test y dentro el archivo spec.js con el siguiente código de ejemplo:

describe("test de prueba", function () {
    it("verdadero es verdadero", function () {
        expect(true).toBeTruthy();
    });
});

**Matchers de Jest para realizar los test

 

Iniciar el test:

npm test

Debería salir una respuesta así, que nos confirma que esta pasando el test:

 


Descarga Proyecto de Ejemplo

 

Links: Documentación Oficial Jest

Instalar Nodejs en Ubuntu

  1. Descargar fichero en https://nodejs.org/en/
  2.  Colocarse en la carpeta donde se a descargado en consola y el siguiente comando para descomprimir:
    tar xf node-v8.11.1-linux-x64.tar.xz
  3. Cambiar el nombre de la carpeta descomprimida a node.
  4. Copiamos la carpeta descomprimida a usr:
    sudo cp -r node/{bin,include,lib,share} /usr/