像这样的徽章成就系统:正在使用的数据+;标准(即时奖励和cron工作)

像这样的徽章成就系统:正在使用的数据+;标准(即时奖励和cron工作),cron,achievements,Cron,Achievements,我一直在寻找一个开源的SO克隆 我不知道Python/Django,但我仍然可以阅读正在发生的事情 开发人员似乎只授予cron jobs的徽章, 这些奖项是通过方法颁发的,是标准的“规则” 必须满足才能获得该奖项 在文件中,这是标准 然而在对其说法的回答中,不运行这样的查询 "select count(*) from posts where user = :user"// for every post. 这有点像CNPROG方法,但是 有一个简单的规则来监视每个帖子,并“计算它们”,将规则状

我一直在寻找一个开源的SO克隆

我不知道Python/Django,但我仍然可以阅读正在发生的事情

开发人员似乎只授予cron jobs的徽章, 这些奖项是通过方法颁发的,是标准的“规则” 必须满足才能获得该奖项

在文件中,这是标准

然而在对其说法的回答中,不运行这样的查询

"select count(*) from posts where user = :user"// for every post.
这有点像CNPROG方法,但是

有一个简单的规则来监视每个帖子,并“计算它们”,将规则状态存储在用户配置文件中

那么“数一数”这个词是否意味着最好将所有内容记录在一张表中,比如

class UserStats

      int voteUpCount
      int voteDownCount
      int score  
      int commentCount
      int viewCount
      int offensiveFlagCount
      int imageCount
      int feedbackCount
      int commentEditCount
      int commentDeleteCount
      int questionCount
      int questionEditCount
      int questionDeleteCount
然后使用这些数据从中生成规则,在用户发布的每个评论上使用一个简单的
if(commentCount>10)…
,然后执行SQL查询

Q如果有人能进一步解释问题的答案,但给出一个“规则”、“标准”和数据库设计的示例

这些将与一些“每个用户操作”和cron作业一起使用,以提供徽章


是的-你的直觉是正确的。这基本上就是人们所说的数据库。例如,若要为post count>30提供成就,请执行以下操作:

posts {
   id,
   user_id,
   content
}

users {
   user_id,
   post_count,
   has_thirty_posts
}
将帖子插入
posts
表时,将1添加到
users
表中的
post\u count
。如果
post\u count>30
,则设置
的posts=true


还有其他存储模式的方法。这只是一个粗略的简化,但它应该给你一个想法。这也被称为(即存储冗余数据)。

我在这里看不到一个可回答的问题,只是很多设计品味问题,任何两个人都会有4个答案。没错,有很多副产品,我会编辑它