Skip to main content

chuidiang's blog

recuperar fichero en git

Posted in

 Si hemos hecho cambios o borrado un fichero que está bajo el control de versiones git, pero no hemos hecho todavía el commit y queremos recuperar la versión almacenada en git, el comando es

git checkout HEAD fichero

 

 

String con n caracteres iguales en javascript

Posted in

 Si queremos crear un string en javascript que contenga n caracteres iguales, por ejemplo, 10 espacios o 20 letras a, podemos usar el siguiente "truco"

var espacios10 = new Array(10+1).join(' ');
var aes20 = new Array(20+1).join('a');

Numero indeterminado de argumentos en una funcion javascript

Posted in

En javascript toda función puede acceder a un "array" de nombre arguments donde están todos los parámetros que se han pasado a la función, independientemente que estos hayan sido puestos o no entre los paréntesis al declarar la función. Por ejemplo, la siguiente función saca por console los argumentos que se le pasan

var a = function() {
   for (i in arguments) {
      console.log(arguments[i]);
   }
}

Truquillos con && y || en javascript

Posted in

En javascript una expresión o variable se considera false si es null, undefined, cadena vacía "", cero 0 o false. Por otro lado, javascript es listo y si tiene que evaluar una expresión lógica con varios ||  ( or lógico ), va evaluando de izquierda a derecha hasta que uno sea true y devuelve ese valor. Si tienes que evaluar una expresión con varios && (and lógico), va evaluando hasta que encuentra un false y devuelve ese valor, o bien el último si es true. Podemos aprovechar todo esto para hacer cosaa como las siguientes.

serializar parametros de url con jQuery

Posted in

Una petición GET desde el navegador lleva los parámetros de la petición en la misma URL, tal que asi

http://dominio.com/peticion.jsp?param1=valor1&param2=valor2&param3=valor3

pero sucede a veces que los valor1, valor2, valor3 llevan caracteres que no son válidos para una URL, como espacios, eñes, etc. jQuery nos ofrece una forma de convertir nuestros parámetros en algo válido para una URL, tal que así

comillas en un input text

Posted in

Si tenemos un input text de html cuyo contenido debemos rellenar con una cadena que contiene las ", no podemos esparlas de esta forma

<input type="text" value="estas \" no valen" />

La forma correcta de hacerlo es con

<input type="text" value="estas &quot; si valen" />

 

Seleccionar varios elementos con id similar en jQuery

Posted in

Si en un html tenemos varios elementos cuyo id comienza con lo mismo estilo

<div id="elemento-1"> .... </div>
<div id="elemento-2"> .... </div>
<div id="elemento-3"> .... </div>

 

Podemos seleccionarlos todos con jQuery haciendo

 

$('[id^=elemento]')

Esto devolverá todos los elementos de la página cuyo id comience con "elemento".

Añadir librerías javascript a nuestro portlet liferay

Posted in

Para añadir una o más librerías javascript a nuestros portlet liferay o al portal entero tenemos varias opciones

Añadirlo al portlet

En el fichero liferay.portlet.xml podemos añadir líneas como esta

<header-portlet-css>/theme/default/portalcovam.css</header-portlet-css>
<header-portlet-javascript>/lib/ui/jquery-ui-1.9.1.custom.min.js</header-portlet-javascript>
 

estando los path en el webapp donde esté ubicado nuestro portelt

Cargarlo con AlloyUI

Class.getResourceAsStream() vs ClassLoader.getResourceAsStream()

Posted in

Cuando queremos cargar un recurso (un fichero dentro del classpath o de un jar)  como Stream en java, podemos usar el método getResourceAsStream(), bien de la clase Class, bien de la clase ClassLoader. ¿Cual es la diferencia?

ClassLoader.getResourceAsStream() coge el recurso desde el directorio raíz del classpath, por lo que no necesitamos poner / delante y debemos poner todo el path desde la raíz del classpath hasta llegar al fichero/recurso

Borrar una clave de un objeto javascript

Posted in

Si tenemos un objeto javascript con una serie de clave y queremos elimintar totalmetne una de ellas, el código es

a = { clave : "valor" };
delete a[clave];

Syndicate content