Mejora tus técnicas de programación en Javascript

Ya hemos publicado anteriormente una referencia a un artículo de new earth online y hoy vamos a hablar sobre otro de sus grandes artículos.

En este caso se trata de cómo mejorar nuestra forma de programar con Javascript. Una de las ventajas o inconvenientes de Javascript, según quien lo vea, es que se puede usar en cualquier parte de la página web y que no existe ningún método obligatorio de uso. Pero aún así, hay veces que es mejor seguir ciertos pasos para tener un código mejor y más limpio:

  • Separa el contenido de la funcionalidad, por ejemplo, si vas a añadir un evento a un objeto (onclick) añádelo mediante el evento window.onload usando un archivo js.
  • Una cosa que ya hemos comentado anteriormente es ver cómo funciona tu aplicación web si no está activado Javascript.
  • Realiza código compatible con los distintos navegadores. Desgraciadamente, a veces es necesario detectar el navegador y resolver según el navegador que sea.
  • Declara las variables usando var, si no lo haces puedes tener problemas en las funciones recursivas, por ejemplo si en una función tienes un for con una variable i y dentro de ese for vuelves a llamar a la misma función, al llegar al mismo bucle puedes tener problemas.

Javascript Best Practices

Vía / dzone

links for 2006-11-25

Recursos para Subversion

SVN es un sistema de gestión de versiones que quiere reemplazar al conocido CVS, para aquellos que quieran aprender sobre esta aplicación, os pasamos una serie de recursos que esperemos sean de utilidad.

Documentación

Clientes

Librerías

Utilidades

  • Subclipse (plugin para Eclipse)
  • AnkhSVN (plugin para Microsoft Visual Studio .NET)
  • JDeveloper (plugin para JDeveloper)
  • WLW-SVN (plugin para WebLogic)
  • cvs2svn (convierte CVS a SVN)
  • Tailor (migra distintos tipos de aplicaciones de versionado)
  • vss2svn (convierte Microsoft Visual Source Safe (VSS) a Subversion)
  • SVN Importer (importa desde otro control de versiones a SVN)
  • Subversive (plugin para Eclipse, gracias Jordi)

Proteger tu aplicación web

Interesantísimo artículo que nos guía a proteger nuestra aplicación web para evitar posibles ataques. Haciendo un corto resumen, separamos las distintas acciones que debemos seguir en:

  • Validar todas nuestras entradas (variables de sesión y formularios). Los datos deben ser lo que se esperan, y si se esperan desde POST, que no vengan desde GET.
  • Evitar el cross-site scripting (XSS) que es la introducción maliciosa de código mediante formularios que se ejecutará en nuestra aplicación.
  • Modificar el fichero de configuración php.ini para que no use super globals, para mostrar todos los errores y que estos se muestren por fichero.
  • Asegurar la conexión a la base de datos. Este método no lo conocía y la verdad es que me ha gustado bastante.
  • Bloquear IPs de hackers, ya sea mediante PHP o htaccess
  • Si el otro día hablábamos del LDAP, ahora nos hablan del LDAP injection, otra cosa que no sabía (no, si ya he dicho que es un buen artículo).
  • Evitar que Google proporcione datos que no queremos (Google Hacking), para ello lo mejor es usar el robots.txt.
  • Restringir el acceso mediante .htaccess

Protecting your Site

Vía / dzone

|

TinyDigg: API simple de Digg para PHP

Aunque el mismo autor reconoce que el código no está muy optimizado, el hecho es que esta librería de PHP para acceder a funciones de Digg, puede ser de suficiente utilidad por si queremos incluir las noticias de Digg actualizadas en nuestra web.
Muestra el número de diggs que tiene una historia, la categoría de la historia, cabecera, enlace a entrada original y el resumen.
TinyDigg
Ejemplo
Vía / Good PHP Tutorials

Consejos para cuando uses Ajax

Ajax tiene muchos amigos debido a la Web 2.0 y muchos enemigos, sobre todo debido a la usabilidad. Al igual que dijimos con el tema de Flash, el problema no es Ajax, sino el uso que se da de él. Por eso, conocer estos consejos nos puede venir bastante bien:

  1. No actualices toda la página usando Ajax, ni modifiques elementos HTML que puedas modificar mediante Javascript y el DOM.
  2. Ten en cuenta que habrá visitantes que tengan el Javascript desactivado o usen un navegador con una version de Javascript antigua o no completa como la de los dispositivos móviles.
  3. Cachea, ya sea en el cliente o en el servidor, las peticiones más frecuentes. Por ejemplo, el autocompletado hace peticiones constantemente al servidor, lo que puede gastar recursos del servidor y la base de datos.
  4. No tengas muchas llamadas concurrentes para cambiar la interfaz, normalmente los navegadores solo realizan dos llamadas HTTP a la vez, por lo que si tienes muchas llamadas para cambiar las imágenes, puede volverse muy lenta la carga.
  5. Usa llamadas asíncronas, ya que si las realizas de forma síncrona y hay problemas de red, el navegador se quedará esperando la respuesta.
  6. Prueba tu aplicación web con una conexión lenta.
  7. Comprueba el uso de memoria del navegador mientras ejecutas tu aplicación web durante 1 ahora, 2, 10, un día.
  8. Comprueba el código de estado http que devuelve XMLHttpRequest.
  9. Prueba a desactivar el objeto XMLHttpRequest.
  10. Usa indicadores de carga para saber que la aplicación está cargando algo.
  11. Ten en cuenta que puedan usar el botón de “Atrás” del navegador.
  12. Si es necesario cancelar un petición ten en cuenta que la petición ya está procesándose en el servidor y que el cliente procesará la respuesta.

Yo añadiría que hay que tener en cuenta que el orden de llegada de las respuestas no tiene que ser el mismo que el de las peticiones, si es importante el orden, usa bloqueos pare evitar problemas de concurrencia.

The top 10 mistakes when using AJAX

Vía / dzone

links for 2006-11-23

Leer ficheros Excel desde PHP

Aunque no es lo más recomendable importar en una aplicación web ficheros Excel, lo más lógico sería guardar el archivo como CSV y luego usarlo en la aplicación, hay veces que lo que nos pide el cliente nos puede obligar a tener que leer ficheros Excel en nuestra aplicación.
Para ello usaremos la librería PHP-ExcelReader, siendo necesaria la librería OLE. Por ahora PHP-ExcelReader solo soporta BIFF7 y BIFF8, que son los formatos de archivo que usan Excel 95 hasta Excel 2003.
PHP-ExcelReader
Vía / 7bytes

|

AjaxCore: framework de PHP para Ajax

Ya en otras ocasiones hemos hablado de frameworks de PHP y para aumentar la lista y las alternativas, vamos a hablar de un nuevo framework de PHP pensado en facilitar el desarrollo con Ajax.
Se trata de AjaxCore, un framework cuyo propósito es facilitar el desarrollo de aplicaciones web con Ajax, encargándose de la generación del código Javascript necesario. Usa la librería de Javascript prototype para controlar el uso de las llamadas XMLHTTPRequest.
AjaxCore
Vía / Ajaxian