Pregunta

Yo estaba trabajando en un proyecto hace unos meses, y tenía la necesidad de implementar un sistema de premio . Similar a S sistema de tarjetas de tackOverflow . Placas

Me podría haber no se han aplicado de la mejor manera posible, y estoy curioso lo que sería su opinión al respecto.


¿Cómo sería una buena manera de rastrear las actividades del usuario, necesaria para la adjudicación insignia ser?

las necesidades del sistema de Stackoverflow para saber de una gran cantidad de información, y también me da la impresión de que habría una gran cantidad de procesamiento de datos que complica las cosas.

Yo asumiría que calcula SO insignias una vez o dos veces cada 24 años, y que a lo mejor los registros se almacenan o un servidor dedicado para el cálculo placa.


Los pensamientos?

¿Fue útil?

Solución

No creo que es tan complicado como parece. I altamente duda de que SO calcula insignias con algún tipo de registro de la actividad del usuario (aunque técnicamente la base de datos es un registro de la actividad del usuario). Cuando miro las listas de insignias, no veo nada que no pueda ser implementado mediante la ejecución de una consulta de selección SQL.

Algunas de las preguntas podrían ser bastante complicado, y puede haber algún tipo de mecanismo de almacenamiento en caché de fantasía, pero aún no hay razón por la que tendría que calcular insignias en lotes.

Otros consejos

En placa general / sistemas de puntos se puede basar en dos cosas.

  • registro de actividad de eventos interesantes, este es efectivamente el recibo de compra de papel de lo que tiene acaecer de tal manera que puede volver a cómputo desde cero si alguna vez necesitaba. Puede ser tan simple como (user_id, marca de tiempo, event_id, event_detail)

  • La mayoría de las veces usted ha pre-diseñado su sistema de puntuación / punto para que sepa exactamente qué contadores para mantener en un usuario. Ahora es tan simple como tener un gran registro que contiene todos los detalles. (User_id, reply_points, login_points, last_login, thumbs_up_points, etc., etc.)

Ahora se puede abofetear algunos métodos sencillos de ese modelo de objetos y tienen que gestionar / almacenar los puntos como sea necesario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top