Hypercrx:开源项目不只有Star

01

战队简介

大家好,我们是Hypercrx战队,非常荣幸获得了首届Microsoft Edge浏览器开拓者大赛的一等奖!我是队长唐烨男(中),位于我左侧的是宁志成,右侧的是林以任,我们都来自华东师范大学数据科学与工程学院。我们的口号是:“热爱数据,热爱开源,追求效率!

3660d53eb9f473e34aa74c5d1f74bc45.png

02

作品介绍

我们的插件作品是Hypercrx(发音为“Hai-puh CRX”)。在后疫情时代,线上协作在日常生产中发挥着越来越大的作用。开源作为线上协作的典范模式,其在软件行业的地位也愈显突出。对于GitHub上千千万万的开源项目,您还在通过Star数来判断它们的发展情况吗?快试试Hypercrx吧!

所有GitHub用户都能试试我们的插件。Hypercrx基于X-lab开放实验室提供的GitHub全域日志分析数据,实现了若干个交互式图表组件并将它们嵌入到GitHub页面中,使用户足不出GitHub就能探索发现他们所关心的价值。

如下图所示,Hypercrx目前主要在GitHub的两个页面插入了图表组件:个人页面和仓库页面。用户在安装插件后访问相应页面即可体验我们的图表组件。

28624cb83f9264661caae7610bf08c97.png

在仓库页面,我们嵌入了项目协作网络图项目开发者协作网络图项目活跃度和影响力趋势图;在个人页面,我们嵌入了开发者协作网络图、开发者活跃仓库网络图、开发者活跃度和影响力趋势图。下面的动图展示了这些图表的交互性:

3104d07b084e78f969f4080cc0d790a9.gif

每个图表的具体含义请见Hypercrx仓库中的 README。

03

技术创新

Hypercrx在数据、呈现形式和开发流程上都有创新之处。

数据创新

Hypercrx的所有数据来自X-lab开放实验室下的OpenDigger项目。指标体系是OpenDigger标签类目清单中的重要组成部分,目前主要包括仓库和开发者的活跃度、影响力、和价值网络等,这些落地指标已经有多个应用场景。我们认为这些指标非常有价值,比单一的“以Star论英雄”好太多了,故Hypercrx依托OpenDigger的产出数据来构建应用。

029357144783215fa561c6ba89cc0db0.png

呈现形式创新

Hypercrx借助Extension ContentScript的能力,直接在GitHub UI中嵌入所有的图表组件,并且我们抽取了GitHub原生样式,使Hypercrx与GitHub浑然一体。

此外,Hypercrx支持Dark和Light两套主题,中文和英文两种语言,这些设置默认跟随系统,但也能在我们提供的Options Page中手动设置。我们还利用微软Fluent UI的TeachingBubble控件对新用户进行提示引导,使用户能在最短的时间内上手使用。

fb2f364c37de16b847085fe22aac12d2.png

开发流程创新

由于Hypercrx重度依赖ContentScript,而在开发中,ContentScript的更新必须手动重载插件后再重载页面才能生效,耗时耗力。为了解决这个不便之处,我们基于DevServer热更新的原理和插件通信API,使得Webpack每次成功增量编译后,插件的Backgroud会收到DevServer的通知自动重载,并通知相关页面重载,这大大优化了开发体验。

我们还利用Edge Add-on的发布API,在GitHub仓库中配置了一个Workflow,于是只要鼠标一点就能一键发布最新的版本到Edge商店等待审核,再也不用手动发布了!

可以看到,Hypercrx不仅对用户友好,对开发者也很友好,我们有信心能长期维护此项目,让它越来越好!

04

运营迭代

Hypercrx的运营迭代全部发生在GitHub上。如下图所示,我们通过Issues来收集问题和需求,并将Issues放到合适的迭代计划中。开发者通过写代码提PR来解决一个个Issues,一旦迭代计划中的Issues都被解决,我们就可以发布新版本到商店。如此循环。

63fae148af56e3fcd2eb3e65780c775f.png

从9月21日起,Hypercrx社区还会在每周三中午进行公开的线上双周例会,欢迎大家来参加!

05

参赛感想

浏览器是我们每天都离不开的工具,GitHub又是程序员经常访问的平台。浏览器插件具有打通GitHub UI和OpenDigger指标体系的潜力,使插件用户在GitHub内就能享受一体化的社区数据洞察体验,我们做到了!

感谢Microsoft Edge开拓者大赛组委会举办了这样一场丰富多彩的赛事,给大家一个发挥想象力和行动力的舞台!感谢孜孜不倦、热情热心的大赛小助手们,你们给了我有史以来最棒的参赛体验!感谢Hypercrx社区所有的贡献者,这份荣誉共属于你们!

06

欢迎体验

疫情改变了人们的生活,也让大家更加注重生活方式。本次参赛创意践行了大赛“赋能生产力提高”的理念,致力于帮助人们提高工作、学习的效率,优化日常生活体验。Hypercrx目前已成功上架到Microsoft Edge 插件商店,欢迎大家在PC端安装使用,并反馈你们的使用体验。

安装链接:https://microsoftedge.microsoft.com/addons/detail/hypercrx/lbbajaehiibofpconjgdjonmkidpcome  

07

关于X-lab

在Hypercrx战队中,唐烨男和宁志成是X-lab开放实验室的正式成员。

X-lab开放实验室定位为一个开源研究与创新的开放群体,是一群由来自国内外著名高校、创业公司、部分互联网与IT企业的专家学者与工程师所构成,聚焦于开源软件产业开放式创新的共同体。专业背景包括计算机科学、软件工程、数据科学、工商管理学、社会学、经济学等跨学科领域,长期思考并实践开源战略、开源测量学、开源数字生态系统等主题。目前已在包括开源治理标准制定、开源社区行为度量与分析、开源社区流程自动化、开源全域数据治理与洞察等方面做出了较有影响力的工作。

X-lab开放实验室在GitHub平台上全面开展他们的工作,欢迎大家关注和参与:https://github.com/X-lab2017!

63d774a642615f11473fb0f3d0c3b1e9.jpeg

X-lab

扫码关注

 X-lab开放实验室

往期推荐

01

构建开源领域的数据生态:OpenDigger 在木兰社区的前行之路

02

开源点亮未来2.0——开放协作的世界里,每一份贡献都值得回报

03

官宣!2021中国开源年报震撼首发!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Python编程快速上手 让繁琐工作自动化》pdf

<div id"article_content" class"article_content tracking-ad" data-mod"popu_307" data-dsm"post"> <p><br></p><p>下载地址&#xff1a;<a target"_blank" href"https://page74.c…

PHP上传图片到数据库,并进行显示

1、创建数据表 CREATE TABLE ccs_image (id int(4) unsigned NOT NULL auto_increment,description varchar(250) default NULL,bin_data longblob,filename varchar(50) default NULL,filesize varchar(50) default NULL,filetype varchar(50) default NULL,PRIMARY KEY (id)…

Keras版Faster-RCNN代码学习(IOU,RPN)1

最近开始使用Keras来做深度学习&#xff0c;发现模型搭建相较于MXnet, Caffe等确实比较方便&#xff0c;适合于新手练手&#xff0c;于是找来了目标检测经典的模型Faster-RCNN的keras代码来练练手&#xff0c;代码的主题部分转自知乎专栏Learning Machine&#xff0c;作者张潇捷…

欧拉函数模板

一、单个欧拉函数计算 可评测链接&#xff1a;http://codevs.cn/problem/4939/ 单个欧拉函数计算公式&#xff1a;φ&#xff08;n&#xff09;n*&#xff08;1-1/p1&#xff09;*&#xff08;1-1/p2&#xff09;*……*&#xff08;1-1/pn&#xff09; Step 1&#xff1a; 一边…

洛谷P1145 约瑟夫

题目描述 n个人站成一圈&#xff0c;从某个人开始数数&#xff0c;每次数到m的人就被杀掉&#xff0c;然后下一个人重新开始数&#xff0c;直到最后只剩一个人。现在有一圈人&#xff0c;k个好人站在一起&#xff0c;k个坏人站在一起。从第一个好人开始数数。你要确定一个最小的…

.NET 反向代理-YARP

什么是 YARPYARP (另一个反向代理) 设计为一个库&#xff0c;提供核心代理功能&#xff0c;你可以根据应用程序的特定需求进行自定义。YARP 是使用 .NET的基础架构构建在 .NET上的。YARP 的主要不同之处在于&#xff0c;它被设计成可以通过 .NET 代码轻松定制和调整&#xff0c…

JavaScript 开发的45个经典技巧

2019独角兽企业重金招聘Python工程师标准>>> 前言&#xff1a;此篇译文在各网站均有标注原创的声明&#xff0c;译者名字已不可考&#xff0c;暂为佚名 JavaScript是一个绝冠全球的编程语言&#xff0c;可用于Web开发、移动应用开发&#xff08;PhoneGap、Appcelera…

PHP循环输出二维数组

目的: 将二维数组中的每一个元素输出 首先定义一个二维数组 //定义数组 $arr array(array(北京,上海,深圳,广州),array(黑龙江,吉林,辽宁,江苏) ); 一 for循环输出 1.1 直接输出 //for循环遍历数组 for($i 0; $i < count($arr); $i) {for($j 0; $j < count($arr[…

回归远程 - 云原生IDE是IaC从表象触达本质的必然选择 | SmartIDE

作者&#xff1a;徐磊&#xff0c;开源云原生SmartIDE创始人、LEANOSFT创始人/首席架构师/CEO&#xff0c;微软最有价值专家MVP/微软区域技术总监Regional Director&#xff0c;华为云最有价值专家。从事软件工程咨询服务超过15年时间&#xff0c;为超过200家不同类型的企业提供…

android获取手机机型、厂商、deviceID基本信息

/*** 系统工具类*/ public class SystemUtil {/*** 获取当前手机系统语言。** return 返回当前系统语言。例如&#xff1a;当前设置的是“中文-中国”&#xff0c;则返回“zh-CN”*/public static String getSystemLanguage() {return Locale.getDefault().getLanguage();}/***…

题目1362:左旋转字符串(Move!Move!!Move!!!)

题目1362&#xff1a;左旋转字符串&#xff08;Move!Move!!Move!!!&#xff09; 时间限制&#xff1a;2 秒 内存限制&#xff1a;32 兆 特殊判题&#xff1a;否 提交&#xff1a;2306 解决&#xff1a;961 题目描述&#xff1a;汇编语言中有一种移位指令叫做循环左移&#xff0…

PHP简单实现递归

//递归 //斐波那契数列 function digui($n) {if($n > 2) {$arr[$n] digui($n-1) digui($n-2);return $arr[$n];} else {return 1;} }//使用 echo digui(5); 总结 : 首先应该想到出口是什么,将出口放在else条件里 例如,本例斐波那契数列中,出口是前两个数是1,也就是数组下…

(三)Controller接口控制器详解(二)

一、AbstractController&#xff08;简单控制器&#xff09; AbstractController使用方法&#xff1a; 首先让我们使用AbstractController来重写第二章的HelloWorldController&#xff1a; public class HelloWorldController extends AbstractController {Overrideprotected M…

[BZOJ]1095 Hide捉迷藏(ZJOI2007)

一道神题&#xff0c;两种神做法。 Description 捉迷藏 Jiajia和Wind是一对恩爱的夫妻&#xff0c;并且他们有很多孩子。某天&#xff0c;Jiajia、Wind和孩子们决定在家里玩捉迷藏游戏。他们的家很大且构造很奇特&#xff0c;由N个屋子和N-1条双向走廊组成&#xff0c;这N-1条走…

Spring4-自动装配Beans-通过注解@Autowired在构造方法上

1.创建Maven项目,项目名称springdemo19,如图所示2.配置Maven,修改项目中的pom.xml文件,修改内容如下<project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://mave…

15个开源的工业软件

出品 | OSC开源社区&#xff08;ID&#xff1a;oschina2013)不同的工业流程&#xff0c;需要不同的工业软件。此前&#xff0c;我们已经介绍了面向研发设计环节的开源软件&#xff08;详情查看&#xff1a;20 个开源的工业设计软件&#xff09;&#xff0c;今天就来介绍一下面向…

PHP开发中保证接口安全

模拟客户端请求:<?php namespace Home\Controller; use Think\Controller;class ClientController extends Controller{const TOKEN API;//模拟前台请求服务器api接口public function getDataFromServer(){//时间戳$timeStamp time();//随机字符串$randomStr $this ->…

MySQL远程访问报错解决

2019独角兽企业重金招聘Python工程师标准>>> 我之前的一篇博客讲了MySQL配置远程访问的方法&#xff0c;但是可能配置了账户以后还是不能访问&#xff0c;这可能是防火墙的原因&#xff0c;在CentOS里&#xff0c;我们修改一下防火墙设置就可以了 1. 进入防火墙配置…

jssdk.php

/*** Created by PhpStorm.* Date: 17/8/19* Time: 下午2:24*/ class JSSDK {private $appId;private $appSecret;public function __construct($appId, $appSecret) {$this->appId $appId;$this->appSecret $appSecret;}public function getSignPackage() {$jsapiTick…

GNU/Linux与开源文化的那些人和事

一、计算机的发明 世上本无路&#xff0c;走的人多了&#xff0c;就有了路。世上本无计算机&#xff0c;琢磨的人多了……没有计算机&#xff0c;一切无从谈起。 三个人对计算机的发明功不可没&#xff0c;居功至伟。阿兰图灵&#xff08;Alan Mathison Turing&#xff09;、阿…