$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GitRadar——毕业论文答辩
Search
Shuai Liu
June 30, 2014
Programming
0
180
GitRadar——毕业论文答辩
Shuai Liu
June 30, 2014
Tweet
Share
More Decks by Shuai Liu
See All by Shuai Liu
Auto-Layout.pdf
liushuaikobe
2
130
Python-intro-2
liushuaikobe
0
75
Python-intro-1
liushuaikobe
0
71
NoSQL & MongoDB
liushuaikobe
0
160
Other Decks in Programming
See All in Programming
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
390
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
590
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
120
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
120
JETLS.jl ─ A New Language Server for Julia
abap34
2
460
クラウドに依存しないS3を使った開発術
simesaba80
0
160
AIエージェントの設計で注意するべきポイント6選
har1101
5
2.3k
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
280
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
380
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
280
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
160
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.1k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
110
Claude Code のすすめ
schroneko
66
210k
The Limits of Empathy - UXLibs8
cassininazir
1
190
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
73
Test your architecture with Archunit
thirion
1
2.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
94
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
170
Transcript
基于GitHub开放数据的 开发者能力评价系统 刘帅 1103710207 指导教师
计算机科学与技术学院 吴晋 的设计与实现
内容提要 • 项目来源 & 背景 • 需求分析 •
系统设计 & 实现 • 运行结果 & 性能分析 • 结论
项目来源 & 背景 为什么要做这个项目?
None
ü 招聘会 ü 评阅简历 ü 笔试 & 面试
ü 找的人真的靠谱?
None
为了解决这个问题… • 对GitHub上开发者的行为做分析 • 设计一个评价模型对开发者做评价 • 根据地域对开发者做分类
• 支持检索
行为数据的获取 h"ps://api.github.com/events h"p://www.githubarchive.org/
需求分析 这样的系统该有什么功能?
功能需求 • GitHub上开发者行为数据的处理 • 下载、归档、清洗、持久化 • 数据查询、可视化
• 为每个开发者生成能力评价报告
非功能需求 • 性能 • 数据处理 • 网络访问
• 可靠性 • 数据的可靠性 • 系统的可用性
系统设计 & 实现
系统功能结构模型图
GitHub上开发者评价模型设计 开发者 对 软件项目 做了操作 做了什么 软件项目 开发者 项目被star的个数 ×
star权重 + 项目被fork个数 × fork权重 PushEvent、 IssueEvent、PullRequestEvent 截止到某一时间点开发者的所有行为价值之和
总体实现方案 • Python • Node.js • MongoDB
+ Redis • 并发操作的实现:多进程 + 协程 • gevent + whoosh + Fluentd + SemanHc-‐UI + mapbox.js + high-‐charts
遇到的问题——规范化开发者地域信息 Harbin Heilongjiang China Harbin 中国黑龙江省哈尔滨市 … …
None
系统运行结果 & 性能测试 结果怎么样?
None
None
None
None
None
性能测试 • 每天行为总数量:50万(平均每小时2万) • 经过数据清洗后:12万(平均每小时5000) • 调用地名规范化的Web Service次数:≤800
• 缓存命中次数:≥7.5万,缓存数量:2.4万,命中率:98% • 平均每天数据处理所需时间:约300秒
性能测试 缓存命中率趋势图 每日数据处理时间趋势图
性能测试——nGrinder 简单页面虚拟用户为100时的TPS变化 复杂页面虚拟用户为30时的TPS变化
结论 总结
总结 • 利用GitHub开放的描述开发者行为的数据 • 设计了一个对开发者进行能力评价的模型 • 在前端对数据做了可视化
• 对系统做了测试,分析了系统的不足之处
对未来的展望 • 继续调整能力评价模型 • 对系统性能方面优化不足 • 提高系统的安全性
谢谢各位老师。
None