Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

能具体说说这个project吗? #5

Open
loveky opened this issue Jun 26, 2013 · 31 comments
Open

能具体说说这个project吗? #5

loveky opened this issue Jun 26, 2013 · 31 comments

Comments

@loveky
Copy link

loveky commented Jun 26, 2013

看title感觉挺好玩,但是看不到太多介绍信息,我本人对GitHub API有过一些了解,不知道能不能帮到什么。

@vincent178
Copy link
Contributor

http://data.cloudaice.com/#chinarank (github排名)
这个project的目的是用rails实现类似的功能

@loveky
Copy link
Author

loveky commented Jun 26, 2013

嗯,我刚刚也看了那个page,打算怎样计算rank呢?我觉得这是最麻烦的步骤。在http://data.cloudaice.com/#chinarank 上中国rank第一的是个做前端的小姑娘,这个结果还是有出入的吧

@vincent178
Copy link
Contributor

你可以说说你的rank想法,我暂时想的是算法用他的,实现功能为主。

@williamherry
Copy link
Member

他在代码在哪里?我好像没找到

@vincent178
Copy link
Contributor

@williamherry
Copy link
Member

谁能说说思路吗? 查询的动作要放到MVC那个里面?

@loveky
Copy link
Author

loveky commented Jun 26, 2013

rails只负责展示结果,query github API,计算Rank值等都应该由background job做。。。

@williamherry
Copy link
Member

@loveky 你的意思是会在应该中保存一些结果吗

@loveky
Copy link
Author

loveky commented Jun 26, 2013

嗯,只是我的思路,background job算出来的东西丢到sqlite3就行了,rails提供个展示界面,

如果每次user去点你的page,你就算一遍,你觉得user要等多久。。。。当然这取决于你要计算多少个account,你可以给user提供一个接口,实时的算某1个account的rank,然后后台进程通过API拖出一堆account慢慢算

@williamherry
Copy link
Member

了解

@hlee
Copy link
Member

hlee commented Jun 26, 2013

讨论的还挺热烈不错,loveky毕业了不,也来开发这个吧,弄成一个个的小模块,一人一个issue

@loveky
Copy link
Author

loveky commented Jun 26, 2013

啥毕业?大学吗

@caok
Copy link
Member

caok commented Jun 26, 2013

可以写个action去计算rank然后保存到数据库中,刚开始可以人为控制(慢点也ok的)下达到效果就行;
后期的话,可以通过whenever之类的,每隔一段时间就自动执行下那个action就行。

@loveky
Copy link
Author

loveky commented Jun 26, 2013

还有问题就是 要算多少个account,所有中国的account?还是符合特定条件的某一部分?

还有就是一个account的rank值一旦被算出来,下一次更新的间隔可以拉大一点,2周,或者1个月应该都可以,因为一个人的技术水平在短期内是不会发生质变的。

@vincent178
Copy link
Contributor

@loveky 我找不到API中关于排名的部分,你能帮我看看吗?

@williamherry
Copy link
Member

他那个应用是follows数前一千的,这样都看不到自己,可不可以先只算我们这个orgs的

@loveky
Copy link
Author

loveky commented Jun 26, 2013

@vincent178 GitHub API? GitHub没用关于排名的官方API 我们能用到的就是 search-users 当然这个API支持简单的排序,可以基于followers, joined, or repositories 排序, 如果我们要算所有的中国用户,那就不用排序了。。。

可以用https://api.github.com/legacy/user/search/location:China 来大致找一下国内用户

还需要注意的就是rate-limiting 未认证的API请求,每小时只能60次。。

@vincent178
Copy link
Contributor

@loveky 谢谢啊,说的很详细

@vincent178
Copy link
Contributor

@loveky 你说的https://api.github.com/legacy/user/search/location:China 一次只能查到100个用户?
result

@loveky
Copy link
Author

loveky commented Jun 26, 2013

@vincent178 真相

@vincent178
Copy link
Contributor

@loveky 好评!!!

@vincent178
Copy link
Contributor

@loveky 一块参与这个project吧。。。

@loveky
Copy link
Author

loveky commented Jun 26, 2013

有什么我能帮忙的吗 (⊙_⊙)?

@vincent178
Copy link
Contributor

要不你想想rank的算法?

@loveky
Copy link
Author

loveky commented Jun 26, 2013

那我也帮着一起想想

@vincent178
Copy link
Contributor

/Users/vincent/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/github_api-0.10.2/lib/github_api/response/raise_error.rb:14:in `on_complete': GET https://api.github.com/legacy/user/search/location:china?start_page=11: 422 Only the first 1000 search results are available (Github::Error::UnprocessableEntity)

@vincent178
Copy link
Contributor

应该是只能搜索前1000个结果

@hlee
Copy link
Member

hlee commented Jun 26, 2013

@vincent178 同学好强悍啊,我现在代表我们对面组过来踩场。 我还把@williamherry同学挖到我们组了,抱歉哈,嘿嘿。 我们组人员就位啦(@RyanZhu1024@mouseshi@biorainy ), 我们可以团队PK不?

@vincent178
Copy link
Contributor

我也才学的Rails,我强烈要求加入2组!!!

@hlee
Copy link
Member

hlee commented Jun 26, 2013

@vincent178 同学别担心,我可以帮你招募高手带队。 工会内部团队PK,有竞争,就有动力,提高起来快

@vincent178
Copy link
Contributor

我们组就我和 @loveky 呀,这不科学。。。搞个妹子加入就有动力了,嗯嗯。。。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants