Archive for 2010

Seguimos vivos

Escrito por en 07/10/2010

Incluso yo al mirar el blog en algún momento libre que he tenido me he preguntado… “seguimos ahí?”.

Pues si, pero tenemos que buscar y adaptar el poco tiempo que ahora tenemos para poder seguir escribiendo y mejorando el blog. Como explicamos en la sección Nosotros somos 2 y ahora ambos estamos trabajando por la mañana y acudiendo al a universidad por la tarde. Por lo que nuestro tiempo se resume a cero, ya que los fines de semana aprovechamos para avanzar las actividades de la universidad, ya que entre semana no podemos.

Así que por ahora vamos avanzando nuestros borradores poco a poco, ampliando las noticias que tenemos pendientes, y en cuanto podamos, iremos actualizando esto. No nos hemos desanimado!

Así que nada, solo dar señales de vida aprovechando un rato en la empresa en la que nos hemos quedado sin servidor.  Y de paso decir que están en camino una segunda parte de la instalación de un server ubuntu, y una tutorial de como iniciarse en el Framework de codeigniter.

Pues bueno, paciencia, y poco a poco. :)

Chuleta para Zend Framework

Escrito por en 11/09/2010

Para los novatos o no tan novatos, cuando desarrolléis para Zend Framework no os olvidéis de tener a mano ésta chuleta… ¡os salvará en más de un apuro!

ENLACE DIRECTO

Eliminar registros duplicados en MySQL

Escrito por en 09/09/2010

Esta mañana en el trabajo necesitaba limpiar una tabla en la que se guardaban miles de registros de usuarios, de la que como de costumbre en muchos sitios… la habían definido sin indices, ni uniques,… suerte que aun tenía un campo ID como primaria.

Pero aun así, eso no es suficiente cuando estás guardando datos de usuarios, de los que tienes que mantener cierta integridad. Total, que como lo único que tenía a mano para poder guiarme y limpiar esos miles de registros era el campo email, que era el que al cliente le interesaba, no he tenido muchas opciones.

Pues contando solo con el email, he mirado primero que cantidad de registros tenía duplicados con la siguiente query:

SELECT nombre, apellidos, email, count(*) AS Repetido
FROM followers As Tmp
GROUP BY email
HAVING Count(*) > 1

Con esto lo que obtenemos es una tabla temporal que nos muestra los datos que queramos, además de en este caso el email, y las veces que este campo se repite.

Una vez tenía listados los registros duplicados me ha tocado hacer una copia de todos los registros que tenia quitando los duplicados, pero manteniendo al menos uno de los duplicados, ya que sino estoy perdiendo registros. Pues para cargarme los duplicados y dejar copia de uno junto a todos los demás… hacemos lo siguiente:

INSERT INTO nueva_tabla
SELECT *
FROM tabla_original
GROUP BY email
HAVING Count(*) >=1;

Lo que hacemos aquí es pasar todos los registros de la tabla_original a la nueva_tabla, eliminando los registros duplicados, pero manteniendo uno de ellos. Con lo que por fin conseguimos limpiar la tabla.

Otra forma de hacer algo así es pasar los datos de una tabla a otra usando el DISTINCT * de la tabla_original, pero eso no nos asegura la copia de uno de los duplicados, ni nada parecido. Espero que os sea de tanta utilidad como a mi, y si tenéis algún otro método o solución, encantados de saberlo!

ZARA – [Destripando webs I]

Escrito por en 06/09/2010

Después de unas bien aprovechadas vacaciones de verano, y una pausa de una semana sin querer ni poder ponerme al día de nada de nada… me ha dado por inaugurar una nueva categoría en el blog de 2Novatos, Destripando webs. Con esta categoría nueva, intentaremos poner un poco verdes portales web que al margen de su popularidad, no han sido capaces de hacer las cosas bien hechas. De esta forma no solo vemos lo que NO hay que hacer, sino como solucionar esas carencias. Vamos a ello!
(more…)

Genera estadísticas de tus descargas

Escrito por en 11/08/2010

Hoy en día las estadísticas son muy importantes, por no decir imprescindibles. “Tenemos un 74% de visitas nuevas”, “el 11% es trafico directo”, “…noticia tiene un 12% de las visitas de la web”,… exacto, todo son números, porcentajes,… al fin y al cabo, es lo que al cliente le interesa. Lo importante para el cliente o empresario que nos contrata es el objetivo de conversión.

Y que es esto del objetivo de conversión? Cualquier página, archivo o documento descargable es un documento de conversión. Pero os damos unos ejemplos para que quede más claro:

  • Una página de “agradecimiento” que aparece tras introducir datos en un formulario. Estas páginas permiten realizar un seguimiento de los registros para la recepción de boletines informativos, suscripciones a listas de correo electrónico, envío de solicitudes de trabajo o formularios con información de contacto.
  • Una página de confirmación de compra o página de recibo.
  • Una página “Acerca de nuestra empresa”.
  • Un determinado artículo o una noticia.
  • Cualquier otra página a la que intente conducir a los usuarios que visitan su sitio.

Todos estos casos son objetivos de conversión, y como tal, es posible que nos interese tener un número de veces que se visitan, o se descargan.

Es posible que haya secciones de nuestra web que no se estén siguiendo en analytics dada su situación, como pueden ser formularios paginados, o descargas de archivos y se nos pida averiguar el número de visitas que se realizan. A día de hoy lo que más he usado y visto, son funciones en PHP que en cuanto se carga la pagina deseada se ejecuta una función que aumenta un número en una base de datos, haciendo así una estadística interna. Eso no está mal, pero si lo queremos unificar todo en la herramienta de Google Analytics, tenemos una herramienta para poder hacerlo.

Una forma más sencilla de hacer el seguimiento de estos datos, si contamos ya con las estadísticas de Google Analytics, es de la forma que os enseñaremos a continuación.

Si leemos los artículos de ayuda de Google Analytics, veremos que nos facilitan la función “_trackPageview“. Esta función permite realizar el seguimiento de los eventos del sitio que no generen una visita de página, es decir, a las descargas de archivos, a los enlaces salientes, etc.

Por ejemplo, para registrar todos los clics que se realizan a un enlace determinado, www.ejemplo.com/descargas/tutorial1.zip, como visita de pagina de /descargas/tutorial1 deberemos añadir el siguiente atributo a la etiqueta <a> del enlace:

<a href="http://www.ejemplo.com/descargas/tutorial1.zip" onClick="javascript: pageTracker._trackPageview('/descargas/tutorial1'); ">

Una vez colocada la función en nuestra web, en 24/48 horas, podremos ver los resultados en nuestra cuenta de Google Analytics.

Instala Ubuntu Server 10 – Instalación

Escrito por en 08/08/2010

Pues con este post empiezo un manual / guia / tutorial, para la instalación y configuración de un servidor bajo Ubuntu Server 10.04. En este caso vamos a hacer una instalación casi limpia. Es decir, que prácticamente no vamos a instalar programas. Tan solo instalaremos el software Open SSH para poder administrar nuestro servidor remotamente, Samba que nos permitirá el intercambio de archivos con sistemas Windows, y por último LAMP Server que será nuestro servidor web.

Bien, pues para empezar, si no lo hemos hecho ya, nos dirigimos a la web de Ubuntu, para descargar la última versión del SO para servidores.

Aquí seleccionaremos si tenemos un procesador de 32 o 64 bits, para descargar la versión adecuada para nuestra maquina.

Una vez descargada la imagen de CD ISO la grabamos en un CD de forma habitual como ISO, no como archivo. Una vez grabado correctamente el CD de Ubuntu Server 10.04 LTS lo ponemos en la máquina que nos hará de servidor y arrancamos con él. Seguidamente veremos la primera pantalla…

En esta pantalla seleccionamos el idioma de la interfaz de instalación y presionamos la tecla Enter

Seguidamente seleccionamos la opción Instalar Ubuntu Server, y comenzamos con el proceso. Eso si antes no queremos comprobar errores en el disco. Yo lo obvio por que se supone que lo hemos grabado sin complicaciones.

Seleccionamos el idioma con el que se instalará el sistema operativo y pulsamos Enter

En esta pantalla tenemos dos posibilidades. Si ya hemos instalado otra distribución de Linux en este PC y el teclado no nos ha dado problemas, podemos dejar el <No> si por otro lado, queremos asegurarnos, podemos darle a <Si> y seguir los pasos pare reconocer el teclado conectado. En cualquiera de los casos os saldrán un seguido de pantallas para reconocer el país y zona lingüística, lo seleccionáis y una vez reconocido saltamos al siguiente paso.

Después de calibrar el teclado elegimos un nombre para nuestro servidor. En nuestro caso 2Novatos, una vez elegido el nombre le damos a Enter y seguimos.

Si ya le hemos dado nombre a nuestro retoño servidor lo siguiente es ponerlo en hora seleccionando la zona horaria en la que nos encontramos. Nosotros como somos “Made in Spain” pues Madrid.

Nosotros vamos a usar esta máquina exclusivamente como servidor, por lo que vamos a usar la totalidad del disco.

Si tenemos uno o más discos duros, nos aparecerán aquí. Seleccionamos en el que haremos la instalación del S.O. y pulsamos Enter

Aquí vemos lo que estamos a punto de hacerle a nuestro o nuestros discos duros. Si todo es correcto seleccionamos <Si> y pulsamos Enter

Ponemos nuestro nombre real o el nombre con el que queremos que la máquina nos reconozca.

Escribimos el nombre de usuario que queramos para acceder al servidor y seguidamente pulsamos Enter

Escribimos una contraseña para el usuario que hemos puesto…

Y la repetimos. Pulsamos Enter y seguimos.

Esta opción es prácticamente nueva, y a menos que vayamos a poner información muy importante en nuestro servidor, recomiendo no cifrar la carpeta. Esta opción nos permite cifrar todo el contenido de nuestra cuenta, haciéndolo inaccesible aun que nos robaran el servidor físicamente. Pero bueno, el seleccionarla o no, es cosa vuestra, nosotros seguimos dando al Enter

Si usáis un proxy para acceder a la red, ponemos aquí los datos, en caso contrario, como en la mayoría de los hogares con ADSL normal, dejamos esto en blanco y seguimos con la rutina del Enter

Siguiendo con la instalación llegamos al punto de elegir si queremos o no las actualizaciones automáticas. Si sois usuarios avanzados, que vais a actualizar a mano las actualizaciones, revisando cada paquete, no lo activéis. Por el contrario, si estás leyendo este manual… no te engañes ( :P ), marca la segunda opción y así nos aseguramos que las actualizaciones importantes se hacen solas.

Llegados a este punto, seleccionamos los paquetes que queremos instalar en nuestro servidor. Nosotros aun que instalaremos desde el principio el servidor LAMP y Samba, más adelante explicaremos como instalarlos en el caso que no lo hagamos ahora. Lo importante es que instalemos el Open SSH. Las otras dos opciones las podéis dejar en blanco si queréis ya que, como decía, lo explicaremos más adelante. Seleccionado lo que vamos a instalar pulsamos Enter para no perder costumbre.

Bien pues, ya hemos casi terminado la instalación.

Seguidamente nos aparecerá nuestra primera pantalla con el nombre del servidor pidiéndonos la contraseña tal que así:

2Novatos login: _

Bien, pues ponemos nuestro nombre de usuario, en nuestro caso era oriol, pulsamos enter, y la contraseña. Recordar que en linux no aparece lo que pulsamos, por lo que aun que no veamos lo que escribimos, el sistema está reconociendo las teclas que pulsamos.

Una vez logueados con nuestro usuario y contraseña, veremos en el prompt algo como esto:

oriol@2Novatos:~$_

Si vemos esto ya estamos autentificados con el usuario que le hayamos dado en la instalación. Pero antes de acabar el primer tutorial, vamos a dejar el sistema actualizado con los siguientes pasos…

Primero actualizamos nuestros repositorios con…

sudo apt-get update

Y a continuación actualizamos el sistema con un

sudo apt-get upgrade

Una vez terminado de actualizar el sistema, si no queréis trastear mucho más hasta que leáis el siguiente capítulo, podéis apagar el sistema con el comando:

sudo halt

Esperamos que os sirva este paso a paso, y nos vemos e el siguiente capítulo!