links for 2007-05-10

PHPUnit: testing en aplicaciones PHP

phpunit.pngPHPUnit es un framework para PHP que nos facilita la creación de juegos de tests y la ejecución de estos y analiza sus resultados. Aunque inicialmente PHP empezó como complemento dinámico para pequeñas páginas web, actualmente PHP se utiliza para desarrollar aplicaciones web complejas, por lo que es importante poder realizar las pruebas pertinentes a nuestro código.

Entre las características nos encontramos con:

  • Forma parte del grupo de frameworks de xUnit
  • Puerto completo deJUnit para PHP5.
  • Soporte para Mock Objects (jMock).
  • Almacena los resultados en una Test Database.
  • Se integra con varias aplicaciones de test.

PHPUnit

|

Nueva versión de Google Analytics

Google ha sacado una nueva versión de su aplicación web Analytics, la cual nos permite llevar un seguimiento de las visitas en nuestras webs y obtener estadísticas sobre éstas.
google_analytics.png
Por ahora no está activa en todas las cuentas, pero en las próximas semanas lo estará para todas, siendo avisados mediante email cuando esto se produzca. Pudiendo acceder a ambas versiones a la vez durante un mes.
Uno de los cambios más importantes es el rediseño del interfaz de informes, mejorándolo en la personalización y en cuestiones colaborativas gracias al know how acumulado con la compra que hicieron de Measure Map.
Actualmente será más sencillo crear informes y compartirlos para facilitar la toma de decisiones. En un único informe podremos tener una buena impresión de qué es lo que pasa, en vez de tener varios informes que consultar.
Para la administración han habido pocos cambios, y la interfaz nueva no necesita de mucha adaptación, por lo que el paso de una versión a otra no debería suponer mucha complicación.
Entre las novedades que ofrece nos encontramos con la posibilidad de envíos programados y en el momento de informes en PDF por correo, una herramienta para búsqueda de informes, o poder comprar periodos de tiempo entre sí en una misma gráfica.
New Version of Google Analytics!
Vía / Ajaxian
Actualización 10:52H: Vídeo presentación de los cambios con subtítulos en español (Vía / eCuaderno)

links for 2007-05-09

Entrevista a Mitchell Baker CEO de Mozilla Foundation

Mitchell BakerInteresante entrevista a Mitchell Baker, que es CEO de Mozilla Foundation. Bastante extensa la entrevista y lo que más me gusta es que las respuestas son también extensas, casi no necesita que la pregunten.
La entrevista, dividida en diferentes partes, nos cuenta desde los inicios con una docena de personas metidas en el proyecto, hasta los 55 millones de dólares que facturaron el año pasado, muchísimo dinero si pensamos que se trata de un proyecto open source, claro que el Google sea motor de búsqueda por defecto y página inicial por defecto cuesta un poco.
Con la salida de IE7, Mitchell comenta que más que un aumento en el predominio de Microsoft, se ha encontrado con comentarios sobre que es más fácil pasar de IE6 a Firefox, que de IE6 a IE7, lo cual hace que aumente el número de usuarios de Firefox.
Entre el futuro de Firefox, nos encontramos con una versión para móviles, en la que ya están trabajando pero sin muchos recursos (Minimo). También nos habla sobre Cairo, el nuevo render gráfico que traerá Firefox 3 y su lugar junto a Flash y Silverlight. Y también destacar el llamado web 3.0 que es la ejecución de aplicaciones web en modo offline.
Una entrevista bastante interesante que merece la pena leer.
Mozilla CEO speaks out on future of Firefox
Vía / Digg

JSINER: objetos y herencia en Javascript

JSINER es una librería de Javascript que pretende facilitar la programación orientada a objetos y la dependencia en la gestión de scripts en ficheros externos.

Para el tema de la herencia, el autor define una herencia lazy, cuyas características son las siguientes:

  • Tiene las mismas características que la herencia mediante prototype.
  • No es necesario orden alguno en la declaración de los scripts externos.
  • En la mayoría de los casos la carga del HTML es más rápida, ya que los scripts se cargan solo en el momento en el que se necesitan.
  • Las dependencias se declaran en un modo más específico y las dependencias entre clases solo en scripts concretos.
  • Los scripts solo se cargan cuando se necesitan.

JSINER

|

5 efectos CSS accesibles

El tema de la accesibilidad es algo que a veces se deja de lado cuando se quiere conseguir un diseño más dinámico. Pero si se busca bien, se podrá encontrar ejemplos de diseños CSS que sean accesibles.

Estos son 5 muy buenos ejemplos de ello:

  • Enlaces externos: modificas el texto “(enlace externo)” incluyéndolo en un span y después lo que haces es modificar el estilo para que muestre un icono (diferente dependiendo de si es linked, visited o hover) y el texto lo haces desaparecer de la parte visible de la pantalla.Enlaces externos
  • Sigue leyendo: el texto “Sigue leyendo sobre …” se modifica, haciendo que solo aparezca “Sigue leyendo” y el resto del texto aparece como un popup mediante posición absoluta y jugando con el hover.Sigue leyendo
  • Texto variable: al igual que ya contamos en Sentido Web, usando distintas hojas de estilo y accediendo a ellas mediante Javascript.Tamaño de texto
  • Pestañas con imágenes: se crea un menú de pestañas con listas no ordenadas y se cambia el estilo para que no tengan formato de bloque, los enlaces están formados por imágenes y estas cambian según el hover.Pestañas
  • Formularios: dos buenos ejemplos de formularios, uno de ellos muy bien tabulado y otro en tres columnas.Formularios

5 Accessible and pretty CSS tips

Vía / dzone

links for 2007-05-08

XSS mediante HTML no estándar

Cuando se quieren evitar ataques XSS, normalmente en PHP se usan las funciones htmlspecialchars o htmlentities.

Ahora veo un ejemplo en el que un ataque puede evitar estas funciones cuando se crea la página con HTML no estándar. Tenemos el típico ejemplo de un texto que se introduce por un formulario y se presenta como un enlace.

$dato = htmlentities($_GET['dato'], ENT_QUOTES);
echo "<a href=pagina.php?dato=$dato>Enlace</a>";

Si os fijáis bien veréis que el enlace está mal formado y no tiene las comillas en el href. Si metieramos como dato de entrada lo siguiente: ” onclick=alert(null)” (sin las comillas), nuestra página sufriría un ataque XSS y mostraría un mensaje alert.

Non-Standard HTML Fuels XSS Attacks

links for 2007-05-06