Dax*_*xon 10 cron achievements
我一直在寻找SO的开源克隆,
http://github.com/cnprog/CNPROG
我不知道Python/Django但我仍然可以阅读最新消息,
开发人员似乎只是通过cron工作授予徽章,奖项是通过方法给出的,是获得奖项必须满足的标准的"规则".
在这个文件中,这是Criteria,
然而,在回答最好的商店徽章标准时,它的说法不是像
"select count(*) from posts where user = :user"// for every post.
Run Code Online (Sandbox Code Playgroud)
这有点像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
Run Code Online (Sandbox Code Playgroud)
然后使用此数据从中制定规则,只需if(commentCount > 10)...对用户发布的每条注释进行简单处理,然后执行SQL查询
问:如果有人可以从问题的最佳方式到商店徽章标准进一步解释答案,但举一个"规则","标准"和数据库设计的例子
这些将与一些"每用户操作"和cron作业一起使用以提供徽章
是的 - 你的直觉是正确的.这基本上是数据库人员称之为物化视图的内容.例如,要为帖子数> 30提供成就,请执行以下操作:
posts {
id,
user_id,
content
}
users {
user_id,
post_count,
has_thirty_posts
}
Run Code Online (Sandbox Code Playgroud)
当后插入到posts表中,加1 post_count的users表.如果post_count > 30,设置has_thirty_posts = true.
还有其他方法可以存储架构.这只是一个简单的简化,但它应该给你的想法.这也称为非规范化(即存储冗余数据).
| 归档时间: |
|
| 查看次数: |
992 次 |
| 最近记录: |