写点什么

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

  • 2019-03-05
  • 本文字数:2613 字

    阅读完需:约 9 分钟

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

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


从下图的交互面板中你可以得到具体问题的答案。下面,我们来看看它是怎么创建的。


交互面板的链接如下:https://datastudio.google.com/reporting/1UUTtohIB1fBH7e8An-6AhEn4AyU3eMjd/page/QwNg

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


我们可以看到:


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


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


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


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



我们可以看到:


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


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


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


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



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

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

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


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





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

TensorFlow 问题


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


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

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

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




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

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

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



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


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



如果我们过滤 redis 和 Java,我们会看到不一样的问题:比如说,大多数都与 Redis 和 Spring 有关。


而 Redis 和 C#的热门问题就大有不同了:



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

一个问题,多个回答

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



往前十更深探索

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



怎么实现:queries

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

Stack Overflow 热门问题,当前 vs 全时

SELECT (   SELECT tag    FROM UNNEST(tags)    ORDER BY view_count DESC LIMIT 1  ) tag  , * EXCEPT(tags)FROM (  SELECT quarter_views , view_count    , ROW_NUMBER() OVER(ORDER BY quarter_views DESC) q_ranking    , ROW_NUMBER() OVER(ORDER BY view_count DESC) ranking    , ARRAY(       SELECT AS STRUCT tag, b.view_count        FROM UNNEST(tags) tag       JOIN `fh-bigquery.stackoverflow_archive_questions.merged_aux_tags` b       ON tag=b.tag      ) tags, title  FROM `fh-bigquery.stackoverflow_archive_questions.merged`  WHERE quarter='2018-12-01'  AND view_count > 50000)WHERE q_ranking<30 OR ranking <30ORDER BY 1 DESC
复制代码

查找每个问题在某段时间内的阅读量

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


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


CREATE OR REPLACE TABLE `stackoverflow_archive_questions.merged` AS  SELECT   IFNULL(    view_count -       LAG(view_count) OVER(PARTITION BY id ORDER BY view_count)    , view_count) quarter_views, * FROM (     SELECT PARSE_DATE('%Y%m',_table_suffix) quarter          , id, view_count     , SPLIT(tags, '|') tags     , score, creation_date, answer_count     , accepted_answer_id, title   FROM `fh-bigquery.stackoverflow_archive_questions.q*` )
复制代码

每个标签的热门问题

#standardSQLSELECT title, quarter_views, view_count FROM `fh-bigquery.stackoverflow_archive_questions.merged`WHERE 'google-cloud-dataflow' IN UNNEST(tags)AND quarter='2018-12-01'ORDER BY quarter_views DESCLIMIT 10
复制代码


超过一年没有更新的当前最热问题

#standardSQL    WITH top_questions AS (  SELECT  id, title, quarter_views, view_count   FROM `fh-bigquery.stackoverflow_archive_questions.merged`  WHERE 'google-cloud-dataflow' IN UNNEST(tags)  AND quarter='2018-12-01'), latest_answer AS (  SELECT parent_id, DATE(MAX(COALESCE(last_edit_date, last_activity_date, creation_date))) answer_last_edit_date   FROM `bigquery-public-data.stackoverflow.posts_answers` b  GROUP BY parent_id)SELECT SUBSTR(title, 0,80) title, quarter_views, view_count, answer_last_edit_dateFROM top_questions aJOIN latest_answer bON a.id=b.parent_idWHERE DATE_DIFF(CURRENT_DATE(), answer_last_edit_date, DAY)>360ORDER BY quarter_views DESCLIMIT 10
复制代码



英文原文:


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


2019-03-05 08:039947

评论 1 条评论

发布
用户头像
stackoverflow里最有名的问题就是怎么退出vim
2020-05-08 10:54
回复
没有更多了
发现更多内容

如何将支持标准可观测性协议的中间件快速接入观测

观测云

可观测性 HBase

软件测试/测试开发/全日制 | 前后端数据交互与Fetch API应用

测吧(北京)科技有限公司

测试

你的数智化底座物尽其用了吗?

用友BIP

数智底座

软件测试/测试开发/全日制 | 从MySQL到MongoDB:Python全栈开发中的数据库选择

测吧(北京)科技有限公司

测试

软件测试/人工智能/全日制 | Python全栈开发:理解HTTPS加密机制与安全传输

测吧(北京)科技有限公司

测试

中国电信天翼云全国产化大数据平台落地广西!

天翼云开发者社区

云计算 大数据 云平台

感恩有你|一起见证 OpenTiny 这5个锦鲤时刻

OpenTiny社区

开源 前端 低代码 组件库

物联网与低代码: 连接人与数字世界的无限可能

不在线第一只蜗牛

低代码 物联网

征程万里,行则将至|博睿数据2023年度盘点

博睿数据

软件测试/测试开发/全日制 | Python全栈开发:利用Docker实现应用容器化

测吧(北京)科技有限公司

测试

CloudXR在农业领域的用例表现

3DCAT实时渲染

CLOUDXR 云化XR

软件测试/测试开发/全日制 | 前后端协同工作:Python全栈开发的团队合作实践

测吧(北京)科技有限公司

测试

ClkLog开源可视化埋点系统助你实现数据驱动运营!

ClkLog

软件测试/测试开发/全日制 | Python全栈开发中的消息队列应用

测吧(北京)科技有限公司

测试

K8S学习指南(1)-docker的安装

俞兆鹏

软件测试/测试开发/全日制 | Python全栈开发中的前端工具与构建流程

测吧(北京)科技有限公司

测试

软件测试/测试开发/全日制 | 从HTML到React:Python全栈开发中的前端框架应用

测吧(北京)科技有限公司

测试

多策略深度智能分货拣货,助力快消品企业提升核心竞争力

用友BIP

一文详解动态 Schema

Zilliz

数据库 Milvus shema

龙蜥操作系统上玩转铜锁密码库

OpenAnolis小助手

阿里云 操作系统 国密 龙蜥社区 铜锁

React Native 打包 App 发布 iOS 及加固混淆过程

软件测试/测试开发/全日制 | Python全栈开发实战:构建完整的Web应用

测吧(北京)科技有限公司

测试

软件测试/测试开发/全日制 | 实现实时通信:Python全栈开发中的WebSocket实践

测吧(北京)科技有限公司

测试

演讲实录|博睿数据副总裁杨雪松:可观测性建设之路(上)

博睿数据

加入openEuler训练营,一起探索开源世界的无限可能!

科技热闻

效果图渲染角度哪什么小技巧?10个效果图渲染技巧

Renderbus瑞云渲染农场

云渲染 渲染农场 瑞云渲染 Renderbus云渲染农场 效果图渲染

6本报告,助你2024招聘「才」源滚滚!

用友BIP

智能招聘

天翼云亮相操作系统大会&openEuler Summit 2023,斩获多项大奖!

天翼云开发者社区

云计算 大数据

程序员真是越来越懒了,Api 文档都懒得写?程序员:Api工具惯的!

不在线第一只蜗牛

Stack Overflow上最热门问题是什么?_文化 & 方法_Felipe Hoffa_InfoQ精选文章