Stack Overflow上最热门问题是什么?

要找到Stack Overflow全时最热问题很容易,但是当前最热问题能告诉我们现在的重要话题。在本文中,你可以了解到怎么才能得到当前最热话题。

\n

从下图的交互面板中你可以得到具体问题的答案。下面,我们来看看它是怎么创建的。
\n交互面板的链接如下:https://datastudio.google.com/reporting/1UUTtohIB1fBH7e8An-6AhEn4AyU3eMjd/page/QwNg

\n

最热stack overflow问题 – 全时 vs 当前

\n

\"\"

\n

我们可以看到:

\n

最热的全时Stack Overflow问题——九年以前创建的超过七百万阅读量——甚至不是一个编程问题: 我怎么才能撤销Git里我最近的一次提交?

\n

前十个最热问题,4个是git相关,3个JavaScript相关,一个Java相关,一个Linux相关,一个HTML相关。还差什么?

\n

前十没有Python的问题。意不意外?

\n

我们再看看最近一个季度的最热的十个问题:

\n

\"\"

\n

我们可以看到:

\n

最热的问题还是“我怎么才能撤销Git里我最近的一次提交?”——最近一个季度有40万个阅读量。

\n

编程相关的问题变了:现在10个问题里面有4个与Python相关。

\n

Java不见了——它不再出现在当前最热的十个问题里。

\n

观察最热30个问题的标签的话,趋势会更加明显:

\n

\"\"

\n

Java和SQL已经从前30中掉落了。同时Python牢牢占据了阅读量前10和前30的榜单之首。

\n

每个标签的最热问题是什么?

\n

你可以看到任何一个标签的最热问题。在查看每个标签的最热问题之前,你可以先猜一下JavaScript,Python和go的最热问题是什么。

\n

JavaScript, Python, Go: 问题各不相同

\n

\"\"\"\"\"\"

\n

从这个面板中每个标签的前十个问题以及它们的趋势都一目了然。Python开发者一直在问“用for来遍历字典”,JavaScript开发者问“我怎么才能从一个数组中移除某个元素”,Go开发者问“字节数组转string的最佳方法是什么”

\n

TensorFlow问题

\n

\"\"

\n

人们对机器学习兴趣满满,而TensorFlow是该领域最热的项目之一。但是从最热的问题可以看出人们还在挣扎于“用pip无法安装TensorFlow”以及他们当前的CPU/GPU能力问题。

\n

TensorFlow项目组可以用这个面板来追踪这些问题的趋势——比如说研究出一种傻瓜式的方法来用pip安装TensorFlow。

\n

Kotlin十大热门问题: 当前 vs以前

\n

用这个面板你可以直接看到在任何一个季度的最热的十个问题。比如说,我们可以来比较一下Kotlin在2018年第四季度和2017年第二季度的最热十个问题:

\n

\"\"
\n\"\"

\n

看起来不错:大多数2017年的热门问题消失了,可以猜测,这个团队在解决用户遇到的常见问题方面做得很不错。2018年第四季度的热门问题基本上都是新的,跟几个月以前的完全不一样。

\n

Redis热门问题——基于Java vs C#

\n

以下是Redis的十大热门问题:

\n

\"\"

\n

可以看到,当前最热门的问题是怎么在Windows上安装Redis。如果你是打算改进Java库的Redis开发人员,这个信息对你用处不大——好在这个面板可以过滤出子标签的信息。

\n

我们再来看看Redis+Java的前十个热门问题:

\n

\"\"

\n

如果我们过滤redis和Java,我们会看到不一样的问题:比如说,大多数都与Redis和Spring有关。
\n而Redis和C#的热门问题就大有不同了:

\n

\"\"

\n

有意思的是,Redis+Java的热门问题问的是C#的简要案例。也许开发者们在官方文档中没找到?

\n

一个问题,多个回答

\n

在这个面板上,你还可以看到每个问题有多少回答。比如说,最热门问题“在Rust里如何将String转换为int”有5个回答。Go语言的“把字节数组转换为string的最好方法是什么”有12个不同的回答。

\n

\"\"\"\"

\n

往前十更深探索

\n

为什么在前十就停止了?你也可以接着去探索更深入的热门前30问题:
\n\"\"
\n\"\"

\n

怎么实现:queries

\n

你可以在BigQuery里面找到所有的数据。每三个月Stack Overflow都会公布一份他们最近的数据快照,我们可以拿来副本来做查询。

\n
Stack Overflow热门问题,当前vs全时
\n
SELECT (\n   SELECT tag \n   FROM UNNEST(tags) \n   ORDER BY view_count DESC LIMIT 1\n  ) tag\n  , * EXCEPT(tags)\nFROM (\n  SELECT quarter_views , view_count\n    , ROW_NUMBER() OVER(ORDER BY quarter_views DESC) q_ranking\n    , ROW_NUMBER() OVER(ORDER BY view_count DESC) ranking\n    , ARRAY(\n       SELECT AS STRUCT tag, b.view_count \n       FROM UNNEST(tags) tag\n       JOIN `fh-bigquery.stackoverflow_archive_questions.merged_aux_tags` b\n       ON tag=b.tag\n      ) tags, title\n  FROM `fh-bigquery.stackoverflow_archive_questions.merged`\n  WHERE quarter='2018-12-01'\n  AND view_count \u0026gt; 50000\n)\nWHERE q_ranking\u0026lt;30 OR ranking \u0026lt;30\nORDER BY 1 DESC\n
\n
查找每个问题在某段时间内的阅读量
\n

首先我存下了这段时间的每个快照的副本,然后开始计算这些快照之间的阅读量的变化。

\n

好在查询语句看起来很简单:

\n
CREATE OR REPLACE TABLE `stackoverflow_archive_questions.merged` \nAS  \nSELECT \n  IFNULL(\n    view_count - \n      LAG(view_count) OVER(PARTITION BY id ORDER BY view_count)\n    , view_count) quarter_views, * \nFROM (   \n  SELECT PARSE_DATE('%Y%m',_table_suffix) quarter     \n     , id, view_count\n     , SPLIT(tags, '|') tags\n     , score, creation_date, answer_count\n     , accepted_answer_id, title\n   FROM `fh-bigquery.stackoverflow_archive_questions.q*` \n)\n
\n
每个标签的热门问题
\n
#standardSQL\nSELECT title, quarter_views, view_count \nFROM `fh-bigquery.stackoverflow_archive_questions.merged`\nWHERE 'google-cloud-dataflow' IN UNNEST(tags)\nAND quarter='2018-12-01'\nORDER BY quarter_views DESC\nLIMIT 10\n
\n

\"\"

\n
超过一年没有更新的当前最热问题
\n
#standardSQL    \nWITH top_questions AS (\n  SELECT  id, title, quarter_views, view_count \n  FROM `fh-bigquery.stackoverflow_archive_questions.merged`\n  WHERE 'google-cloud-dataflow' IN UNNEST(tags)\n  AND quarter='2018-12-01'\n), latest_answer AS (\n  SELECT parent_id, DATE(MAX(COALESCE(last_edit_date, last_activity_date, creation_date))) answer_last_edit_date \n  FROM `bigquery-public-data.stackoverflow.posts_answers` b\n  GROUP BY parent_id\n)\nSELECT SUBSTR(title, 0,80) title, quarter_views, view_count, answer_last_edit_date\nFROM top_questions a\nJOIN latest_answer b\nON a.id=b.parent_id\nWHERE DATE_DIFF(CURRENT_DATE(), answer_last_edit_date, DAY)\u0026gt;360\nORDER BY quarter_views DESC\nLIMIT 10\n
\n

\"\"

\n

英文原文:

\n

https://towardsdatascience.com/finding-the-real-top-stack-overflow-questions-aebf35b095f1

\n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值