[pyar] algoritmo para ads en django

Juan Carlos Giudici elchudi en gmail.com
Mie Jul 30 12:17:07 ART 2014


para que no sea tan costoso mantenerlo ordenado, podes usar un heap, que te
permite sacar el max o min de un arbol con cierto criterio en o(1)


2014-07-28 14:56 GMT-03:00 Angel Java Lopez <ajlopez2000 en gmail.com>:

> Si los tenes en memoria, es costoso solamente cuando levantas el servidor
>
>
> 2014-07-28 14:54 GMT-03:00 Gonzalo Almeida <flecox en gmail.com>:
>
> 2014-07-28 14:28 GMT-03:00 Angel Java Lopez <ajlopez2000 en gmail.com>:
>> > Bueno, entonces, cuando entra el usuario X, y lo ultimo que vio es el
>> aviso
>> > n, se le muestra el proximo (n+1, o n+2, o n+3, ect) QUE TENGA MENOS
>> VISTAS,
>> > que haya sido menos visto hasta ese momento globalmente
>> >
>> > Creo que curiosamente, asi, los avisos por usuario tienden igual a no
>> > repetirse (a no ser que el usuario entre 1346 veces ;-)
>>
>> si, hasta ahora todas las ideas que tiraron son muy buenas,
>> pero sufren el problema de tener que ordenar todos los productos/ads
>> en cada requestXad y esto es costoso no?
>>
>> >
>> >
>> > 2014-07-28 14:15 GMT-03:00 Gonzalo Almeida <flecox en gmail.com>:
>> >
>> >> 2014-07-28 13:36 GMT-03:00 Angel Java Lopez <ajlopez2000 en gmail.com>:
>> >> > Ok, de Django no se apenas nada, y apenas Python
>> >> >
>> >> > Pero si son miles:
>> >> >
>> >> > - Mantendria una lista de los anuncios, o sus ids, en memoria
>> >> > - Luego, podria shuffearla o no
>> >> > - Digamos que son 1345 avisos
>> >> > - Por cada usuario, marcaria si es ya le di aviso o no
>> >> > - Si al usuario X, es la primera vez que viene y le doy un aviso, le
>> >> > asigno
>> >> > un numero aleatorio entre 0 y 1344, digamos n
>> >> > - Le muestro el aviso n
>> >> > - Incremento n y lo guardo por usuario. El nuevo valor es modulo 1345
>> >> > - Si viene un nuevo aviso, lo pongo al final de la lista en memoria.
>> >> > Todos
>> >> > los modulos ahora se toman modulo 1346
>> >> > - Y asi
>> >> >
>> >> > Digo que la lista inicial podria shuffearla o no, porque la
>> distribucion
>> >> > pareja la daria el elegir un numero aleatorio para el primer aviso
>> por
>> >> > usuario
>> >> >
>> >> > El problema de shuffearla, es que hay que mantener ese shuffleo por
>> toda
>> >> > la
>> >> > vida, para que los usuarios no empiezen a ver algo repetido
>> >> >
>> >> > Igual, si un usuario entra 1346 veces, se le va a repetir el primer
>> >> > aviso
>> >>
>> >> muy la idea esta buena.
>> >> pero el problema es que todavía  puede pasar que a nivel global un
>> >> product/anuncio se puede ver varias veces y otros nunca.
>> >> si solucionamos esoo  aumentamos las probabilidades de que eso no
>> >> pase.. creo que podria andar :)
>> >> y al reiniciar el server por x razón perdemos la lista (si esta
>> >> shufleada) pero bueno, si no esta shufleada se puede reconstruir.
>> >>
>> >> gracias
>> >>
>> >>
>> >> >
>> >> > Nos leemos!
>> >> >
>> >> > Angel "Java" Lopez
>> >> >
>> >> >
>> >> > 2014-07-28 13:21 GMT-03:00 Gonzalo Almeida <flecox en gmail.com>:
>> >> >
>> >> >> boinas
>> >> >>
>> >> >> 2014-07-28 13:19 GMT-03:00 Daniel Moisset <dmoisset en machinalis.com
>> >:
>> >> >> > cuantos avisos distintos estamos hablando? 10, 100, 1000, un
>> millon?
>> >> >>
>> >> >> podriamos hablar en miles.. no creo que un millon
>> >> >>
>> >> >> :D
>> >> >> >
>> >> >> > D.
>> >> >> >
>> >> >> >
>> >> >> > 2014-07-28 12:43 GMT-03:00 Gonzalo Almeida <flecox en gmail.com>:
>> >> >> >>
>> >> >> >> Buenas,
>> >> >> >>
>> >> >> >>
>> >> >> >> creo que Martín pregunto algo en el chat.. pero aqui mando los
>> >> >> >> requerimientos completos.. a ver si a alguno se le ocurre algo:
>> >> >> >>
>> >> >> >> tenemos que implementar un sistema de "ads" que muestran
>> productos
>> >> >> >> del
>> >> >> >> sitio.
>> >> >> >>
>> >> >> >> el tema es el siguiente:
>> >> >> >>
>> >> >> >> 1) podemos tener varios ads en la misma pagina y no tienen que
>> >> >> >> repetir
>> >> >> >> productos
>> >> >> >> 2) si tenemos 1000 productos tenemos que tratar de mostrarlos
>> >> >> >> uniformemente y no mostrar siempre los mismos 100, tratar de
>> mostrar
>> >> >> >> todos.
>> >> >> >> 3) tenemos que tratar de no repetir por usuario.
>> >> >> >>
>> >> >> >> asi que hay que tratar de no repetir a nivel de usuario y a nivel
>> >> >> >> global.
>> >> >> >>
>> >> >> >> una idea era armar una lista de los 1000 ids de productos y crear
>> >> >> >> una
>> >> >> >> shuffleada para cada usuario.
>> >> >> >> asi cumplimos que no se repiten para cada usuario. pero si nos
>> puede
>> >> >> >> pasar
>> >> >> >> que:
>> >> >> >> 1) al agregar un nuevo producto tengamos que actualizar cada
>> lista
>> >> >> >> appendeando el producto al ultimo de cada una.
>> >> >> >> 2) puede pasar que un producto sea visto varias veces a nivel
>> global
>> >> >> >> (visto por varios usuarios) y otro no se vea nunca. asi que no se
>> >> >> >> cumple el requerimiento de que los productos se muestren
>> uniformes a
>> >> >> >> nivel global.
>> >> >> >>
>> >> >> >> el principal problema es mantener la uniformidad a nivel global
>> y a
>> >> >> >> nivel usuario y hacerlo rapido.
>> >> >> >>
>> >> >> >> pre-asignar una lista no estoy seguro que sea la solución yo creo
>> >> >> >> que
>> >> >> >> deberiamos:
>> >> >> >> al momento de acceder a la pagina. ver  a nivel global cuales
>> >> >> >> productos son los "menos vistos" y de esos, mostrar los que el
>> >> >> >> usuario
>> >> >> >> todavía no vio. teniendo en cuenta todos los casos y hacerlo muy
>> >> >> >> rapido.
>> >> >> >>
>> >> >> >> pero no se como :P
>> >> >> >>
>> >> >> >> alguna idea?
>> >> >> >>
>> >> >> >> muchisimas gracias por su tiempo :)
>> >> >> >>
>> >> >> >> --
>> >> >> >> Linux user #466939
>> >> >> >>
>> >> >> >> _______________________________________________
>> >> >> >> pyar mailing list pyar en python.org.ar
>> >> >> >> http://listas.python.org.ar/listinfo/pyar
>> >> >> >>
>> >> >> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >> >> >>
>> >> >> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software
>> Libre
>> >> >> >> de
>> >> >> >> Argentina - http://www.usla.org.ar
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > _______________________________________________
>> >> >> > pyar mailing list pyar en python.org.ar
>> >> >> > http://listas.python.org.ar/listinfo/pyar
>> >> >> >
>> >> >> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >> >> >
>> >> >> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software
>> Libre
>> >> >> > de
>> >> >> > Argentina - http://www.usla.org.ar
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Linux user #466939
>> >> >> _______________________________________________
>> >> >> pyar mailing list pyar en python.org.ar
>> >> >> http://listas.python.org.ar/listinfo/pyar
>> >> >>
>> >> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >> >>
>> >> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>> de
>> >> >> Argentina - http://www.usla.org.ar
>> >> >
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > pyar mailing list pyar en python.org.ar
>> >> > http://listas.python.org.ar/listinfo/pyar
>> >> >
>> >> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >> >
>> >> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>> de
>> >> > Argentina - http://www.usla.org.ar
>> >>
>> >>
>> >>
>> >> --
>> >> Linux user #466939
>> >> _______________________________________________
>> >> pyar mailing list pyar en python.org.ar
>> >> http://listas.python.org.ar/listinfo/pyar
>> >>
>> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>
>> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> >> Argentina - http://www.usla.org.ar
>> >
>> >
>> >
>> > _______________________________________________
>> > pyar mailing list pyar en python.org.ar
>> > http://listas.python.org.ar/listinfo/pyar
>> >
>> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >
>> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> > Argentina - http://www.usla.org.ar
>>
>>
>>
>> --
>> Linux user #466939
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140730/bd4e5e4e/attachment.html>


More information about the pyar mailing list