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
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:
-
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script>
HTML:
-
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.js" type="text/javascript"></script>
-Utilizando la API de Google:
JavaScript:
-
google.load("jquery", "1.2", {uncompressed:true});
Google AJAX Libraries API