观察 Stack Overflow 趋势的新姿势: 看标签的综合浏览量

栏目: IT资讯 · 发布时间: 6年前

内容简介:获取 Stack Overflow 上的季度页面浏览量并不容易,在这篇文章中,我们将向你介绍这些数据的意义所在,以及获取这些数据的过程。 TensorFlow 真的比 Git 更受关注吗? 根据 Stack Overflow 的趋势统计工具,网站中...

获取 Stack Overflow 上的季度页面浏览量并不容易,在这篇文章中,我们将向你介绍这些数据的意义所在,以及获取这些数据的过程。

TensorFlow 真的比 Git 更受关注吗?

根据 Stack Overflow 的趋势统计工具,网站中打上 tensorflow 标签的问题现在比 git 的更受欢迎:

观察 Stack Overflow 趋势的新姿势: 看标签的综合浏览量

那这个数据是否有什么意义?虽然 tensorflow 获得了更多的关注,但 git 是开发者中最流行的开发 工具 之一 —— 无论是否在机器学习技术社区内。事实证明,这个趋势工具可以衡量每个标签下面的新问题数量,但这只是反映现象的一半情况。如果我们可以比较每个标签获得的网页浏览量百分比和问题的百分比:

观察 Stack Overflow 趋势的新姿势: 看标签的综合浏览量
上图:'git' 在 Stack Overflow 上的浏览量百分比,比较对象是 'tensorflow';下图:Stack Overflow 上每个标签的新问题百分比。可以看到,'git' 获得的新问题数量在减少,但拥有更高的页面浏览量。

所以发生了什么事?不妨看回图表,即使 tensorflow 标签下的问题每个季度都会创建得更多,但 git 标签下的问题获得的浏览数至少是 tensorflow 标签的 6 倍。

我们可以看看 .net vs firebase、c++ vs r 以及 .net vs typescript 的类似趋势:

观察 Stack Overflow 趋势的新姿势: 看标签的综合浏览量

观察 Stack Overflow 趋势的新姿势: 看标签的综合浏览量

观察 Stack Overflow 趋势的新姿势: 看标签的综合浏览量
这些图表显示,在 '.net' vs 'firebase','c++' vs 'r' 和 '.net' vs 'typescript' 中,其中一种技术获得了更多的浏览量,而另一种获得了更多的新问题数量。

因此你可以在这里看到,衡量新问题的数量只能反映一半的现象。如果你是 Stack Overflow 博客的粉丝,你会发现即使他们在很多地方都用到了这个页面浏览量的百分比。

所以结论就是,要观察 Stack Overflow 上相关技术的趋势不能单看一个指标,或许某种技术在某个指标下的分数很高,但这只能反映这种指标下的现象,要做到综合评估,就需要综合看待各项指标。像上面的情况,关于新技术的问题数量肯定是会不断增加的,但不能表明比较老的技术就呈现“疲软”的状态,因为浏览它们的用户依旧有很多,问题少的原因可能是绝大部分的问题都有答案了。相对而言,新技术仍处于“踩坑-填坑”阶段,自然就会产生更多的新问题。

其他有趣的比较

top 5 标签:Java, JavaScript, Python, C#, Android, PHP

  • Java 和 JavaScript 一直都是最受关注的标签 —— 但 JavaScript 标签每季度都会有更多的新问题。

  • Python 标签的问题数量正在快速赶上!不过与 JavaScript 相比,它仍然少得多,但 Python 标签的页面浏览量比 Java 和 JavaScript 要多。

  • 就页面浏览量而言,C# 也是排在前面的标签,不过 C# 标签的问题数量未能排在前五。另一方面,PHP 标签的问题数量十分多,不过它的页面浏览量也没能排在前五。

观察 Stack Overflow 趋势的新姿势: 看标签的综合浏览量

JavaScript 框架:AngularJS vs Angular, React, Vue

  • 如果 angularjs 正在死亡,谁将会替代它的位置?毫无疑问将会是 angular!你可以通过问题数量和浏览量明显看到新标签是如何接替旧标签的。

  • reactjs 一直处在上升的趋势。

  • vue.js 比其他替代方案更受大家关注,但仍有很长的路要走。

观察 Stack Overflow 趋势的新姿势: 看标签的综合浏览量

机器学习

  • TensorFlow 和 Kera 几乎占了机器学习领域的大多数问题,以及关注度。

  • PyTorch 和 MxNet 几乎无人问津。Caffe 在 2017 年表现强劲,但最近它的数据表现也逐渐滑落。

观察 Stack Overflow 趋势的新姿势: 看标签的综合浏览量

即将崛起的语言:Swift, Go, Haskell, Kotlin, Rust

  • 明显可以看到,Swift 的数据表现可谓是甩其他的一条街。

  • Go 标签的浏览量明显比问题数量要高。

  • Kotlin 是增长得最快的。

  • Haskell 和 Rust:两者都保持着稳定的发展趋势

观察 Stack Overflow 趋势的新姿势: 看标签的综合浏览量

观察 Stack Overflow 趋势的新姿势: 看标签的综合浏览量

观察 Stack Overflow 趋势的新姿势: 看标签的综合浏览量

相关代码

获取每季度的页面浏览量(Pageviews)

#standardSQL
WITH historic_views AS (  SELECT *, '201703' q  FROM `fh-bigquery.stackoverflow_archive.201703_posts_questions` 
  UNION ALL
  SELECT *, '201706' q 
  FROM `fh-bigquery.stackoverflow_archive.201706_posts_questions` 
  UNION ALL
  SELECT *,  '201709' q 
  FROM `fh-bigquery.stackoverflow_archive.201709_posts_questions` 
  UNION ALL
  SELECT *, '201712' q 
  FROM `fh-bigquery.stackoverflow_archive.201712_posts_questions` 
  UNION ALL
  SELECT *, '201803' q 
  FROM `fh-bigquery.stackoverflow_archive.201803_posts_questions` 
  UNION ALL
  SELECT *, '201806' q 
  FROM `fh-bigquery.stackoverflow_archive.201806_posts_questions` ), top_tags AS (    SELECT value FROM UNNEST((       SELECT APPROX_TOP_COUNT(tags, 5000)top  
       FROM `fh-bigquery.stackoverflow_archive.201803_posts_questions` 
       WHERE NOT tags LIKE '%|%'))    WHERE count > 10), views_per_tag AS (  SELECT tag, COUNTIF(DATE(creation_date) BETWEEN DATE_SUB(PARSE_DATE('%Y%m',  q), INTERVAL 3 MONTH) AND PARSE_DATE('%Y%m',  q)) questions
    , SUM(view_count) views_cum, PARSE_DATE('%Y%m',  q) q  FROM historic_views, UNNEST(SPLIT(tags, '|')) tag  GROUP BY tag, q
), views_per_q AS (  SELECT *, views_cum - LAG(views_cum, 1) OVER(PARTITION BY tag ORDER BY q) views  FROM views_per_tag
), percents AS (  SELECT *
    , 100*views/SUM(views) OVER(PARTITION BY q) views_percent
    , 100*questions/SUM(questions) OVER(PARTITION BY q) questions_percent  FROM views_per_q  WHERE views IS NOT null
  AND tag IN (SELECT value FROM top_tags)
)SELECT *FROM percents

值得注意的趋势差异

#standardSQL
WITH toptags AS (
  SELECT *
  FROM `fh-bigquery.stackoverflow.201806_stacko_tags_views` 
  WHERE q='2018-06-01'
  AND tag NOT IN ('string', 'git', 'sql')
  AND views_percent>0.05
)
SELECT a.tag, b.tag btag, a.views_percent - b.views_percent
FROM toptags a
JOIN toptags b
ON a.tag!=b.tag
AND a.views_percent>b.views_percent
AND a.questions_percent< b.questions_percent
ORDER by 3 DESC

参考:https://towardsdatascience.com/these-are-the-real-stack-overflow-trends-use-the-pageviews-c439903cd1a


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web之困:现代Web应用安全指南

Web之困:现代Web应用安全指南

(美)Michal Zalewski / 朱筱丹 / 机械工业出版社 / 2013-10 / 69

《web之困:现代web应用安全指南》在web安全领域有“圣经”的美誉,在世界范围内被安全工作者和web从业人员广为称道,由来自google chrome浏览器团队的世界顶级黑客、国际一流安全专家撰写,是目前唯一深度探索现代web浏览器安全技术的专著。本书从浏览器设计的角度切入,以探讨浏览器的各主要特性和由此衍生出来的各种安全相关问题为主线,深入剖析了现代web浏览器的技术原理、安全机制和设计上的......一起来看看 《Web之困:现代Web应用安全指南》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器