Contador de DA

Kaos

Buenas! propongo esta pregunta a modo de curiosidad. Sabéis alguno como hacen los señores de Deviantart.com para mostrar el contador de Deviants subidos en su index?

Si os fijais el contador es dinamico sin refrescar la página... Me imagino q puede ser alguna movida de Ajax pero... no sobrecarga eso la BDD estando constantemente abierto?

Espero vuestras sugerencias! Saludossss

Editado: me he fijado y el refresco de Deviants lo hace sin ningún tipo de espera... no es 1seg, ni 2 o 3... es una conexión abierta constante... Me tiene intrigao :S

B

La misma me pregunto yo, porque también pensamos en implementarlo en una web, pero iba a petar mucho debido a la llamada a la BD digamos.. "constante", a ver si alguien sabe como lo hacen xD

erdanblo

¿Tu has comprobado si ese contador refleja la realidad?

Kaos

Hombre tratándose de Deviantart... no creo q sean tan cutres tio xDDD se supone q es de las mayores comunidades de diseñadores del mundo, habrá más de un programador gurú q cuelgue ahi trabajos y sepa como funciona, se arriesgan a q corran la voz de q tienen una cutrada colgada en la home....

Vamos no me planteo de ninguna manera q sea un contador de pego. Si fuera otra web todavia.

BlisZ
<script type="text/javascript">
        var Deviations=52976560,DevCount,DevTimes=("1 1 0 4 0 0 0 2 6 1 0 2 0 0 3 0 1 3 0 3 0 6 3 1 4 0 2 5 2 2 3 0 1 5 0").split(" "),iDev=0;
        DevCount=document.getElementById("deviation-rocket");
        function Deviate(){
            var r;
            DevCount.childNodes[0].nodeValue = prettyNumber(Deviations++) + ' deviations';
            r=DevTimes[iDev++];
            if(iDev==DevTimes.length)iDev=0;
            r*=1000;
            r+=Math.random()*100+(r?-50:Math.random()*500); // Fluctuate, since given times are rounded
            window.setTimeout("Deviate();",r);
        }
        Deviate();</script>

si no me equivoco ese es el codigo, y no lo he analizado a fondo pero a primera vista me da la sensacion de que es aleatorio xD, supongo que tendran estadisticas de cuanto suben al dia y con eso limitan la aleatoriedad o algo por el estilo

Kaos

<!-- --> DevCount.childNodes[0].nodeValue

Y eso no está tirando de un XML? :O

BlisZ

ni puta idea xD

Kaos

Es XML, supongo q el random es para ir refrescando el Javascript cada milesima de segundo o algo asi...

Beavis

ahí no hay xml por ningún lado, simplemente está navegando por el DOM (ahí saca el numero de deviations que marca la página)
Ese contador estará basado en estadísticas me imagino puesto que no hay consultas asíncronas por ningún lado (puedes mirar los requests usando el firebug por ejemplo) y así a bote pronto viendo ese código aparentemente incrementa en uno el contador en periodos de tiempo aleatorios.
Puedes abrir varios navegadores y comprobar que el contador no sube de la misma manera.

Usuarios habituales