23 de julio de 2012

Cómo guardar datos localmente en HTML

Según observo, actualmente (julio 2012), las posibles APIs para almacenar localmente datos en HTML son las siguientes:
  1. Storage
  2. SQL Database
  3. IndexedDB
    • Lista de pares de valores, con índices para mejorar desempeño.
    • Me parece que todavía no está implementada entre varios navegadores.
    • Especificación:
Un ejemplo del uso del Storage (con el objeto LocalStorage, que mantiene los valores incluso cuando se cierra el navegador) es el siguiente:


<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8"/>
    <title>LocalStorage Example</title>
  </head>
  <body>
    <h1>Storage Example</h1>

    <script type="text/javascript" charset="utf-8">
      if(typeof(Storage)!="undefined" && typeof(localStorage)!="undefined") {

        var value1 = window.localStorage.getItem("key1");
        var value2 = window.localStorage.getItem("key2");
        alert("value1="+value1);
        alert("value2="+value2);
        window.localStorage.setItem("key1", "aaa");
        window.localStorage.setItem("key2", "bbb");
        value1 = window.localStorage.getItem("key1");
        value2 = window.localStorage.getItem("key2");
        alert("value1="+value1);
        alert("value2="+value2);

      }
    </script>

  </body>
</html>

Este ejemplo lo probé en Apple Safari 5.1.2, Mozilla Firefox 13.0.1, y Google Chrome 20.0.1132, todos en Microsoft Windows 7. Y no, no corre en Internet Explorer 8.0.7601 (no cuento con Windows 9 para probarlo ahí.)

18 de junio de 2012

Cómo califica Apache Lucene los resultados (scoring)

Extracto traducido de la introducción oficial a la calificación de resultados (scoring):

La calificación en Lucene utiliza una combinación del Modelo de Espacio Vectorial y el Modelo Booleano de recuperación de información para determinar cuán relevante es un Documento en la búsqueda del Usuario. Utiliza el modelo Booleano para limitar el número de documentos que necesitan ser puntuados. Aunque Lucene agrega funcionalidad para poder buscar utilizando operadores booleanos y lógica difusa, esencialmente es un sistema basado en el Modelo de Espacio Vectorial. […] En Lucene, los objetos que son calificados son los Documentos. Un Documento es una colección de Campos. Cada Campo incluye cómo fue creado y almacenado (por ejemplo, si fue dividido en palabras, o varias palabras fueron unidas en una frase)

La descripción formal de la fórmula para calificar se encuentra en la documentación de la clase Similarity.

Otras referencias:


24 de abril de 2012

Un bug re-moto...

Un bug re-moto... ¿fuma hierba en el servidor?

      —Arturo Tena

3 de abril de 2012

El bug me escupió...

El bug me escupió una excepción. —Arturo Tena. 


Imagen: Sergio A. Flores Q.