Question

Je travaillais sur un projet il y a quelques mois, et avait la nécessité de mettre en œuvre un système de prix . Semblable à S système de badges de tackOverflow . Badges

J'aurais pas mis en œuvre dans la meilleure façon possible, et je suis curieux de ce que votre mot à dire que ce serait.


Que serait un bon moyen de suivre les activités des utilisateurs, nécessaires à l'attribution de badges être?

Le système de Stackoverflow a besoin de connaître beaucoup d'informations, et je reçois aussi l'impression qu'il y aurait beaucoup de choses qui complique le traitement des données.

Je suppose que calcule SO badges une ou deux fois par 24, et que peut-être les journaux sont stockés ou un serveur dédié à insigne calcul.


Pensées

Était-ce utile?

La solution

Je ne pense pas est aussi compliqué que vous le pensez. Je doute fortement que calcule SO badges avec une sorte de journal de l'activité des utilisateurs (bien que techniquement la base de données entière est une activité utilisateur journal). Quand je regarde la liste des badges, je ne vois rien qui ne peut être mis en œuvre par l'exécution d'une requête SQL select.

Certains des requêtes pourrait être assez compliqué, et il pourrait y avoir une sorte de mécanisme de mise en cache de fantaisie, mais je ne vois aucune raison pour laquelle vous devez calculer badges par lots.

Autres conseils

Dans un badge général / systèmes de points peut être basé sur deux choses.

  • journal d'activité des événements intéressants, cela est effectivement le reçu de papier de ce qui a happend ce que vous pouvez recalculer à partir du sol si elle est toujours nécessaire. Peut être aussi simple que (user_id, horodatage, event_id, event_detail)

  • La plupart du temps que vous avez pré-conçu votre système de notation / points afin que vous sachiez exactement quels compteurs de garder sur un utilisateur. Maintenant, il est aussi simple que d'avoir un grand dossier qui contient tous les détails. (user_id, reply_points, login_points, last_login, thumbs_up_points, etc., etc.)

Maintenant, vous pouvez taper quelques méthodes simples sur cet objet de modèle et avoir à gérer / stocker des points au besoin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top