软件开发生态系统图谱

译文
新闻
在Stack Overflow数据团队当中,我们投入了大量时间与精力考量技术生态系统,以及各类技术方案间的相互关联。我们随处运用这些关联,旨在发布相关内容建议以帮助客户了解如何招聘开发人员,最终提升Stack Overflow的用户体验。

【51CTO.com快译】在Stack Overflow数据团队当中,我们投入了大量时间与精力考量技术生态系统,以及各类技术方案间的相互关联。我们随处运用这些关联,旨在发布相关内容建议以帮助客户了解如何招聘开发人员,最终提升Stack Overflow的用户体验。实现这种技术关联结论的方式之一在于建立标签相关性。标签间的相关性负责衡量各标签协同起效与独立起效频度间的比例。

协同与独立

我们掌握大量可用于衡量标签相关性的数据源。例如,Stack Overflow工程技术经理Matt Sherman开发出一款工具,可用于衡量Stack Overflow问题之上标签的叠加频率。我们还使用流量数据并查看用户对各代码对的访问频率。为了实现分析,我们使用多种数据集,包括在开发者故事中使用“喜欢的标签”。其它开发者故事中也存在类似的信号,我们可以观察这些标签的分布及其相关性,从而了解技术间如何彼此关联。值得一提的是,开发者故事标签拥有出色的信噪比。我们关注技术间的关联起协同效应,而开发者自身提供的工作与职业描述能够很好地揭示出这种效应。

软件开发生态系统图谱

从这里开始,我们先看看使用频率***的标签。可以看到,今天我们关注的是开发者最常用的编程语言。

接下来,我们计算标签的共同出现次数,并找出哪些标签通常一同出现。例如在开发者故事中,最常使用的几种重要语言(例如C#、C++、JavaScript以及Python)的开发者故事标签是什么?

软件开发生态系统图谱

请注意,这里出现的仍然是我们在上一场景下看到的常见重要语言。Java、C这四种重要语言在开发者故事中被频繁共同使用,但这只能体现其作为常见技术的特性。要探索标签相关性,我们需要提出新的问题——哪些标签与这四种语言相关度***?

软件开发生态系统图谱

现在我们看到了不同的技术组合。这些标签在开发者故事当中以更高频度同四大重要语言关联起来,现在我们开始对Stack Overflow上的开发者总体数据以深入了解各项技术间的交互。例如,我们发现多数开发者使用Python与R、Pandas以及NumPy语言处理数据科学任务,而配合Django与Flask则更多见于Web应用开发。通过计算标签相关性,我们得以发现这些技术间的真实关系。

相关性网络

我们并非只能一次查看一个标签。我们可以将这种相关性扩展到更多标签,并根据其彼此关联建立起一套标签网络。

在这套交互网络视图中(您可以缩放、滚动以及点击),各个圆圈的大小代表着标签的使用频率; 圈子越大,标签使用频度越高。基于其在网络中的子组成员身份,圆圈会通过大量随机游走进行计算。此网络包含的标签皆在开发者故事中拥有超过800次使用次数,且相关性较其它标签高0.1以上。

我们可以通过这套网络获得大量结论!可以注意到,网络中的各个分组展示了整体技术生态系统——其中一些彼此紧密相连。我们可以看到其中一部分分组包含:

§ 从HTML到JavaScript再到Bootstrap的前端Web开发技术

§ 包括C#、.NET以及SQL Server在内的微软相关技术

§ AWS与Docker等DevOps技术(Go亦属于这部分)

§ 包括Android与Objective-C的移动技术

您使用的技术在哪里,其与哪些技术存在关联?大家可以自行探索这套网络并找到答案。该网络数据结构公开于Kaggle数据集内。大家也可以查看我创建的Kaggle内核以了解如何使用这些网络节点及链接以创建类似的网络图形。

另外需要注意的是,一部分技术属于不同技术生态系统间的桥梁。Python是开发者故事中出镜率***的语言之一,其与前端范围相关(通过Django),亦与Linux/系统管理范畴相关,同样与C/C++嵌入式范畴乃至R与机器学习相关。除了Python之外,Java、git以及JSON也属于这类“桥梁”技术。

利用开发者故事中“喜欢的标签”数据,我们得以构建起这套丰富且复杂的技术网络。开发者将我们视为真正关注其需求的专家,而我们则可借此真正了解开发者社区。

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:赵立京 来源: 51CTO
相关推荐

2011-12-09 11:02:52

NoSQL

2020-03-31 15:26:39

OPPO开发者安卓

2015-02-11 17:40:14

APICloud

2013-06-03 09:21:05

开源软件OpenStack开源云平台

2011-05-19 15:15:39

Oracle生态系统

2010-05-12 11:16:00

SAP

2013-11-04 16:57:21

Hadoop大数据Hadoop生态系统

2013-06-03 13:50:44

开源软件

2023-01-27 18:49:03

软件生态系统

2019-01-13 15:00:52

区块链生态系统

2009-12-25 14:49:55

2017-08-02 13:08:30

物联网生态系统边缘计算

2024-01-15 00:07:08

JS生态系统

2023-10-11 15:11:08

智能建筑人工智能

2022-02-25 11:09:16

区块链技术生态系统

2021-11-23 20:54:34

AI 生态系统

2024-01-18 08:09:13

Jet BrainsIDEA开发工具

2015-06-08 12:44:58

大数据InterlAMPCamp

2015-04-01 11:23:23

2012-10-23 14:01:21

Yibo 客户端已经停
点赞
收藏

51CTO技术栈公众号