Javascript: Eliminar el primer carácter de una cadena.

¿Cómo eliminamos en Javascript el primer carácter de una cadena? Es muy simple, usando el método substring() del objeto genérico String, pasándole 1 como parámetro para que empiece tras el primer carácter:

micadena=",uno,dos,tres,cuatro,";
minuevacadena = micadena.substring(1);
Anuncios

Métodos del objeto Number en Javascript

El lenguaje Javascript tiene una serie de objetos básicos, que a su vez tienen propiedades y métodos. En próximas entradas iremos viendo distintos objetos, hoy vamos a empezar por los de Number, que tiene básicamente cinco métodos:

  • .toExponential(): Esta función nos devuelve una cadena representando el valor del número con el que trabajamos, pero representado en notación exponencial (también llamada notación científica). Opcionalmente puede recibir un parámetro donde le indiquemos el número de decimales que queremos.
  • .toFixed(): Esta función nos devuelve una cadena representando el valor del número con el que trabajamos, pero redondeando el número de decimales a la cantidad que le digamos. Si no recibe parámetro alguno lo interpretará como un 0 y nos dará un valor entero, si recibe parámetros mostrará tantos decimales como el parámetro indique, rellenando con ceros cuando sea necesario.
  • .toPrecision(): Esta función nos devuelve una cadena representando el valor del número con el que trabajamos, pero redondeado a la longitud que le pasemos como parámetro. Si no se le pasa parámetro alguno entonces devuelve el número entero, si el parámetro es mayor que la longitud del número añadirá un separador decimal seguido de ceros hasta complertar dicha longitud.
  • .toString(): Esta función nos devuelve una cadena representando el valor del número con el que trabajamos. Se le puede pasar como parámetro un valor entre 2 y 36, dicho valor es la base en la que queremos que se formatee el número (por ejemplo 16 para conseguir un resultado hexadecimal, 2 para un resultado binario,etc) .
  • .valueOf(): Esta función nos devuelve el tipo primitivo del objeto Number, es decir, un valor numérico. Es un método que generalmente se usa de forma interna en Javascript y pocas veces se invoca desde el código web.

O que é a Tríade CID?

Esta é uma tradução ao português dum artigo antigo. Cá uma ligação ao orixinal.

A Tríade CID não tem relação com poemas medievais castelhanos nem com as bandas desenhadas do Hernández Palacios, mas é um conceito da cibersegurança que faz ênfase em três princípios que têm de trabalhar em conjunto para garantir a segurança de um sistema informático: Confidencialidade, Integridade e Disponibilidade.

 

  1. Confidencialidade: Os dados têm de estar só na mão dos utentes autorizados. Umas políticas de controlo do acesso têm de ser aplicadas para evitar que a informação classificada cair em mãos, seja ou não de forma intencionada, de utentes sem acesso.
  2. Integridade: O conceito integridade faz referência  a que os dados que temos armazenados sejam corretos e completos. Tem de se poder garantizar que os dados não foram mudados de forma não autorizada, que não é possível a perda destes dados é que os mesmos são consistentes, isto é que a informação é mesmo correcta à que temos no mundo exterior.
  3. Disponibilidade: Afinal, o conceito disponibilidade implica que a informação tem de estar acessível sempre para os utentes autorizados num tempo razoável. Isto é que os dados têm de estar sempre disponíveis para os utentes.

Na altura de desenhar uma estratégia de cibersegurança para uma empresa ou simplesmente na altura de armazenar qualquer coleção de dados confidenciais um deve considerar que estes três pontos têm de ser atingidos.  

Javascript: eliminar comillas y apóstrofos en una cadena.

El otro día, desarrollando una aplicación en el trabajo, me encontré con la necesidad de eliminar las comillas simples (o apóstrofos) y dobles de un campo de texto. ¿es posible hacerlo con Javascript? Sí, veamos varios ejemplos de expresiones regulares para hacerlo:

La primera opción sería eliminar ambas:

miCadena = miCadena.replace(/["']/g, "");

¿Y si cambiamos el apóstrofo por un acento?

miCadena = miCadena.replace(/[']/g, "`");

¿Y si cambiamos las comillas por dos acentos?

miCadena = miCadena.replace(/["]/g, "``");

¿Qué es la “Tríada CID” o el “Triángulo de la Seguridad”?

La Tríada CID no tiene que ver con cantares escritos en castellano medieval ni con tebeos de Hernández Palacios, sino que es un concepto de ciberseguridad que hace referencia a tres principios que deben trabajar en conjunto para garantizar la seguridad de un sistema informático: Confidencialidad, Integridad y Disponibilidad.

  • Confidencialidad: Los datos deben estar solo al alcance de los usuarios autorizados. Deben establecerse unas políticas de control de acceso para evitar que la información clasificada caiga en manos, ya sea de forma intencional o no, de un usuario sin acceso.
  • Integridad: El concepto integridad hace referencia a la correctitud y completitud de la informacion que tenemos almacenada. Debe poder garantizarse que no se realizan modificaciones de los datos no autorizadas, que no es posible la pérdida de datos y que los datos son consistentes, esto es que la información que tenemos almacenada es correcta respecto al mundo real exterior.
  • Disponibilidad: Finalmente, el concepto disponibilidad implica que la información tiene que ser accesible para los usuarios autorizados dentro de un tiempo razonable. Dicho de otra forma: la información debe estar siempre disponible para el usuario autorizado.

A la hora de diseñar una estrategia de seguridad informática para una empresa, o simplemente a la hora de almancenar cualquier colección de datos sensibles, estos tres puntos deben tenerse siempre en consideración.

Seguir leyendo “¿Qué es la “Tríada CID” o el “Triángulo de la Seguridad”?”

Instalar el JDK8 y JDK9 de Java en Ubuntu, Mint o Debian

Si en su día ya habíamos visto en este blog cómo hacerlo con la versión 7, el procedimiento para instalar Java 8 o Java 9 es, básicamente, el mismo:

El primer paso, añadir el repositorio, es común:

#Añadir el repositorio
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update

Con él ya añadido, instalamos la versión 8:

#Buscar y descargar
#los paquetes de java 8
$ apt-cache search oracle-java8
$ sudo apt-get install oracle-java8-installer

Para la versión 9:

#Buscar y descargar
#los paquetes de java 9
$ apt-cache search oracle-java9
$ sudo apt-get install oracle-java9-installer

¿Y cómo definimos cual será la versión por defecto si tenemos las dos instaladas?

#Así por defecto la 9:
$ sudo apt-get install oracle-java9-set-default
#Así por defecto la 8:
$ sudo apt-get install oracle-java8-set-default

Obtener edad desde una fecha en Javascript

Hace un tiempo habíamos visto cómo obtener una edad desde una fecha de nacimiento en PostgreSQL, en MySQL y en MS SQL-Server. ¿Y en javascript? Vamos a ver tres funciones:

En la primera función el parámetro que recibiremos será una cadena con una fecha en formato YYYYMMDD (por ejemplo 20180211 para hoy):

function terIdade(cadeaData) {
    var hoxe = new Date();
    var nacemento = new Date(cadeaData);
    var idade = hoxe.getFullYear() - nacemento.getFullYear();
    var m = hoxe.getMonth() - nacemento.getMonth();
    if (m < 0 || (m === 0 && hoxe.getDate() < nacemento.getDate())) {
        idade--;
    }
    return idade;
}

Otra opción, pasando el mismo parámetro, es conseguir el resultado el milisengundos y operar con él para obtener la edad. Para eso dividiremos la diferencia entre fechas entre 1000*60*60*24*365.25:

function terIdade(cadeaData) {
    var nacemento = new Date(cadeaData);
    var data = new Date();
    var dif = data-birthdate;
    var idade = Math.floor(dif/31536000000);
    return idade;
}

La tercera opción sería no mandar a la función una cadena con la fecha, sino separados el año, el mes y el día (pasándoselos como enteros, no como cadenas). Y para el resto haríamos más o menos la misma operación que en el ejemplo.

function terIdade(ano,mes,dia) {
    var hoxe = new Date();   
    var idade = hoxe.getFullYear() - ano;
    var m = hoxe.getMonth() - mes;
    if (m < 0 || (m === 0 && hoxe.getDate() < dia)) {
        idade--;
    }
    return idade;
}