Snippets - page 2

Medir tiempos en Javascript

Medir tiempos en Javascript

Algo relativamente habitual es tener que comprobar cuánto tarda nuestro código en ejecutarse e ir dejando trazas de los tiempos de ejecución para luego poder revisarlos.

El otro día descubrí que los navegadores incluyen una utilidad que hace toda la tarea por nosotros. Es tan fácil como lo que sigue:

 El resultado será una línea como ésta:

 Como cosa interesante, decir que si anidamos mediciones los resultados no se solapan. El navegador sabe distinguir qué medición estamos pidiéndole que muestre al hacer el console.timeEnd() porque le estamos pasando la etiqueta (Suceso1 en el ejemplo anterior). Esto significa que  si ejecutáis console.time() con distintas etiquetas y luego ejecutáis los end en ordenes distintos, los tiempos que veréis serán los correctos.

¿No os lo creéis? Haced unas probatinas y me lo contáis 🙂

Otra cosa importante es que no todos los navegadores tienen implementada esta funcionalidad. Para ello, el señor de cuyo blog obtuve esta información propone una alternativa. No es mala pero no permite anidar mediciones como os comentaba. Os dejo un enlace a su entrada por si queréis leerla, a mí me fue muy útil.

En próximas entradas implementaré yo ese extra que le falta a la propuesta de Ajimix.

Ale, otro día más y mejor! 🙂

Clonar objetos con extend de jQuery

Clonar objetos con extend de jQuery

Hoy he necesitado clonar un objeto para obtener uno exactamente igual pero en otra variable. Hasta ahora había visto el siguiente código, que lo que hace es convertir el objeto a cadena JSON para después obtener un objeto de nuevo:

 He encontrado esta forma utilizando la función extend de jQuery, os la dejo por si os es útil:

 En esta web ofrecen una comparativa de tiempos de ejecución entre varios métodos y navegadores, podéis echarle un ojo.

Otro día más y mejor! 🙂

Traza de invocaciones en Java

Traza de invocaciones en Java

A veces me he encontrado en la situación de que no sé quien invoca una función determinada en algún código que estoy modificando. Sé que se ejecuta pero no quien lo hace. Como problema añadido, los niveles de traza en los logs no me dan más información, y no puedo ponerme mensajitos por pantalla porque no puedo modificar las clases intermedias.

Para ayudarme con este problema he encontrado este bloque de código:

 Lo que hace es, en un punto determinado del código, mostrarme la pila de invocaciones que se han ido realizando hasta llegar a ejecutar mi código mostrando, para cada una de las invocaciones, el nombre de la clase en cuestión y el método que realiza la llamada.  Así que como es muy útil lo dejo aquí apuntado para no perderlo.

Otro día más, y mejor!    🙂

Usar servicios de un plugin en plantillas de Velocity

Usar servicios de un plugin en plantillas de Velocity

Si creamos un servicio en un portlet y necesitamos invocar a sus métodos desde una plantilla de Velocity, podemos utilizar lo siguiente:

Parámetros:

  • Contexto del portlet
  • Clase del servicio a invocar

Nada más por hoy, otro día más y mejor!

Slider de contenidos con jQuery

Slider de contenidos con jQuery

Éste ejemplo muestra cómo crear un slider con bxSlider. Es uno de los muchos plugins que hay pero me resultó sencillo de utilizar.

En el head de la página:

En el body:

Ahora lo ponemos mono con unos pocos estilos:

Y por último, el script para inicializar el slider:

Ver ejemplo

Page 2 of 2 1 2