Me pone programar

Más que me pone, digamos que me gusta y disfruto con ello

Me pone programar

Blog personal sobre PHP, JavaScript, CSS, Estándares, Flash i demás temas interesantes del mundo de la informática e Internet

El lento gethostbyaddr de PHP

02/08/2008 a las 05:57 por Shox

La función gethostbyaddr‏ de PHP devuelve el host name de una IP dada. Puede ser útil por ejemplo para saber si el visitante es un bot de Google o Yahoo, para poder contabilizar bien las visitas o tener un control más profundo del visitante.

Todo sería perfecto si esta función funcionara correctamente. Utilizandola en un proyecto, me di cuenta que tardaba demasiado tiempo en generar toda la web, y en un principio pensaba que fuera un error mio, ya que se hacian consultas a una DB y se generaba una caché, pero resulto ser esta aparente inofensiva función. Quitandola he dividido entre 10 el tiempo de generación, lo que nos puede dar una referencia de lo poco bien planteada que está dicha función.

En el foro de PHP, otros usuarios también se han dado cuenta del echo, y hasta han echo alguna propuesta para solucionar el problema que puedes ver aquí

El problema parece que viene que va a buscar la información a varios DNS y al haber algunos de ellos caidos, se demora el proceso. El usuario que hizo el script, propone una conexión UDP, pero para ello necesitamos saber la IP del DNS

Categorías: Firefox, Google, Meponeprogramar, PHP
Tags: , , ,
Comentarios: Sin comentarios »

Google AJAX Libraries API para tus JS

29/05/2008 a las 11:45 por Shox

Google ha creado una nueva utilidad para los developers, que también va en beneficio de los usuarios finales. Se trata de Google AJAX Libraries API, una API que nos permite cargar desde el propio CDN de Google, las librerías más utilizadas.

Actualmente soporta jQuery, prototype, script.aculo.us, dojo y MooTools, pero están abiertos a peticiones para otros frameworks.

Ventajas

  • No tenemos que hospedar la librería en cuestión
  • Tendremos un CDN para estos archivos, mucho más rápido (se supone) que nuestro servidor
  • Como el archivo será el mismo en diferentes webs que utilicen la API, el cache del navegador ya la tendrá guardada.

Inconvenientes

  • No tenemos control sobre los archivos, por lo que si fallara el CDN (a parte de ser el fin del mundo) nuestra web no funcionaría correctamente

¿Como usarlo?

Hay dos modos para utilizarlo, utilizando la propia API de google, o llamando directamente los archivos:

-Llamando al archivo directamente, en versión comprimida y sin comprimir (por ejemplo con jQuery):

HTML:
  1. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script>

HTML:
  1. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.js" type="text/javascript"></script>

-Utilizando la API de Google:

JavaScript:
  1. google.load("jquery", "1.2", {uncompressed:true});

Google AJAX Libraries API