Optimizar el rendimiento de Sql Server al instante con SafePeak

Recientemente hemos descubierto esta gran aplicación (SafePeak) que puede mejorar muchísimo el rendimiento de nuestra base de datos M$ SQL Server sin realizar mucho esfuerzo.

La aplicación se sitúa entre nuestro site, y la base de datos. Para utilizarlo, solo tenemos que instalar, y cambiar el DSN de nuestra aplicación, para que las peticiones pasen primero por SafePeak.

SafePeak analiza las consultas que se hacen y si puede, las cacheará, mejorando radicalmente las siguientes consultas que sean idénticas.

Para consultas más complejas que se realicen a través de procedimientos almacenados, tenemos que enseñar a SafePeak con que criterio tiene que cachear las consultas.

En su panel de control, SafePeak te muestra los objetos dinámicos (por ejemplo los procedimientos almacenados) que va encontrando y provocan un borrado de la cache, para que pulsando sobre ellos, puedas decirle de que objetos de tu base de datos depende esa consulta y así poder gestionar mejor la cache.

Podéis encontrar mas detalles técnicos en este artículo.

Fechas según zona horaria en Joomla con JHtml

Cuando queremos pintar fechas en Joomla, usamos “echo JHTML::_(‘date’, $fecha, JText::_(‘DATE_FORMAT_LC2’));” o similar.

De esta forma, mostramos la fecha según la configuración de zona horaria del usuario.

Esto esta pensado para que la fechas se guarden en formato UTC 0 en nuestra base de datos.

Pero si estamos desarrollando nuestro componente, y las fechas que guardamos en la base de datos, son fechas con el horario de nuestra región, como las mostramos para que no se añada la diferencia horaria?

Para ello, solo tenemos que añadir un último parámetro a la llamada especificando el que el offset a aplicar sea 0.

Con ello nos quedará: “echo JHTML::_(‘date’, $fecha, JText::_(‘DATE_FORMAT_LC2’), 0);

Que os sea útil!

Desactivar detección de errores de CSS en VS2008

Desde luego para mi la ventana de errores del visual studio no es para sacar errores de CSS, para eso ya está el validador de la W3C. ;-D

El tema es que si queremos que se dejen de mezclar este tipo de errores entre los realmente importantes y no encontramos la opción, la ruta es la siguiente:

Herramientas> Opciones> Editor de texto> CSS> CSS específicos‘.

Entonces desmarcamos la opción ‘Detectar los errores‘.

Por supuesto, acordaros de marcar el check de bajo a la izquierda para poder ver todas las opciones completas!

Espero que os sea útil.

Presentación ClinicSEO sobre analítica web

Os dejamos las transparencias de una gran presentación sobre analítica web del Clinicseo que tuvo lugar el 17 de Enero de 2012 en Barcelona.

En la presentación, teníamos a Miguel Pascual (kiko.es) en el papel de cliente, y a Iñaki Huerta y a Xavier Colomés en el papel de analistas.

Para la conferencia se trató un caso práctico concreto, cosa que siempre es de agradecer.

El caso de estudio trata de qué hacer con la web itv.com.es para seguir mejorando.

Manejo de Cookies en javascript

Os dejamos unas funciones por si se necesita manejar cookies en javascript.

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}

Una aplicación de esto, podría ser, por ejemplo, si queremos mostrar un cierto mensaje a un usuario que entra por primera vez a nuestra página:

var aviso_nueva_web = readCookie('aviso_nueva_web');
if(!aviso_nueva_web || (aviso_nueva_web == '')) {
    show_aviso_new_web();
    createCookie('aviso_nueva_web', 1, 365);
}

Happy coding!