Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
GitRadar——毕业论文答辩
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Shuai Liu
June 30, 2014
Programming
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GitRadar——毕业论文答辩
Shuai Liu
June 30, 2014
More Decks by Shuai Liu
See All by Shuai Liu
Auto-Layout.pdf
liushuaikobe
2
150
Python-intro-2
liushuaikobe
0
97
Python-intro-1
liushuaikobe
0
95
NoSQL & MongoDB
liushuaikobe
0
220
Other Decks in Programming
See All in Programming
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
0
190
Workers Cache を知る
syumai
0
360
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
120
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
480
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
340
Kotlinの15年とServer-Side Kotlin
n_takehata
1
140
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
150
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
170
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
330
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
すこし踏み込む CancellationToken
htkym
2
1.7k
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
Product Roadmaps are Hard
iamctodd
55
13k
Leo the Paperboy
mayatellez
10
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
560
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Automating Front-end Workflow
addyosmani
1369
210k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
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