25 de abril de 2014

La Etiqueta del Mal

<blink> La Etiqueta del Mal </blink>

"blink" es una etiqueta HMTL no estandar, que vuelve un texto parpadeante (visible/invisible). Actualmente los navegadores no la soportan. La wiki de la W3 dice: No, really, don't use it. It's simply evil., para otros es simplemente es perturbador; Pero esta etiqueta fue muy popular en los 90s con el navegador Netscape Navigator en la cual funcionaba perfectamente.


Para el que quiera saber como usar la etiqueta puede usar un simple JavaScript para emular su funcionamiento.

 <script type="text/javascript">
  function blink() {
    var blinks = document.getElementsByTagName('blink');
    for (var i = blinks.length - 1; i >= 0; i--) {
      var s = blinks[i];
      s.style.visibility = (s.style.visibility === 'visible') ? 'hidden' : 'visible';
    }
    window.setTimeout(blink, 1000);
  }
  if (document.addEventListener) document.addEventListener("DOMContentLoaded", blink, false);
  else if (window.addEventListener) window.addEventListener("load", blink, false);
  else if (window.attachEvent) window.attachEvent("onload", blink);
  else window.onload = blink;
</script>

.Nota: script tomado de Wikipedia.
 Este scrip funciona para: IE, Chrome, Firefox. Pero si ve este texto parpadear es que el scrip funciona.

Aquí su historia: blink 

Otras referencias:
 

3 de marzo de 2014

Log4j

Log4j es una libreria Java (algunos dicen Framework) que permite registrar (log) mensajes que se registran en un aplicativo.

Los mensajes tiene varios niveles de registro:
  • trace : maximo nivel de detalle, cualquier mensaje
  • debug :  para mensajes de depuracion
  • info : mensajes informativos
  • warn : mesajes de alerta por posibles problemas
  • error : errores en el aplicativo
  • fatal  : es igual que error, pero cuando el aplicativo ya no funciona mas.
Hay dos niveles que son para controlar la salida:
  •  off : para no mostrar lo mensajes.
  • all: mostrar todo los mensajes.
Ejemplo basico de uso y  configuracion:
+ + +
package org.andrexweb.logger; 

import org.apache.log4j.Logger; 

/**
 * Hello world!
 *
 */ 
public class App {
private static Logger LOGGER = Logger.getLogger(App.class);

public static void main( String[] args ) {
LOGGER.trace( "Hello World!" ); 
} 
}
+ + +


27 de febrero de 2014

Service Layer Pattern

Es patron que define un capa de servicios en el cual limita un conjunto de operaciones disponibles para encapsular la logica de negocio de la de aplicacion, controlando las transaciones y coordinando la respuesta de las operaciones.

A modo de ejemplo podemos tener servicios para:
  • Guardar/Actualizar la informacion  DefaultRequestService (Servicio en cargado de actualizar la informacion)
  • Un servicio con las operaciones del negocio. DefaultOperationService (Servicio que se encargue de la logica del aplicativo, aprobar, rechzar cancelar... etc.)
  • Un servicio para integraciones. DefaultIntegrationService (servicio que se encargue de actualizar otros sistemas).
Con este patron de diseño se pueda duplicar un poco de codigo por intentar separar los servicios en capas.




Bibliografia:
Service Layer
Wiki - Service Layers Pattern