速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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:039774

评论 1 条评论

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

IDEA整合jeesite4

爱好编程进阶

程序员 后端开发

60KX17薪的面试题是什么样的,需要具备什么技术?首发

爱好编程进阶

Java 程序员 后端开发

8年开发架构师浅析SpringBoot的JVM的内存占用与Docker-spring

爱好编程进阶

Java 程序员 后端开发

AI 顶会 NeurIPS 收录:淘系技术自研3D AI 算法

爱好编程进阶

Java 程序员 后端开发

Day163

爱好编程进阶

Java 程序员 后端开发

Java JVM知识汇总

爱好编程进阶

Java 程序员 后端开发

Java~异常Exception和异常习题“用户登录

爱好编程进阶

Java 程序员 后端开发

网站开发进阶(五十三)浅谈JS、Ajax、JQuery之间的关系

No Silver Bullet

JavaScript jquery ajax 5月月更

Caddy VS Nginx,谁领风骚

码农大熊

api 网关 盘古开发框架 Caddy

java三大特性之多态的认识,以及多态的实际应用(一

爱好编程进阶

Java 程序员 后端开发

Java中抽象

爱好编程进阶

Java 程序员 后端开发

如何使用Tomcat实现WebSocket即时通讯服务服务端

华为云开发者联盟

html5 spring tomcat 浏览器 websocket

12-Redis持久化

爱好编程进阶

Java 程序员 后端开发

2021秋招必刷题:Redis+Mybatis

爱好编程进阶

Java 程序员 后端开发

25 网站应用攻击与防御

爱好编程进阶

Java 程序员 后端开发

appiun滑动的简单封装

爱好编程进阶

Java 程序员 后端开发

java SpringMVC Filter登录拦截器

爱好编程进阶

Java 程序员 后端开发

Java Swing大神必经之路7:Swing 的任务线程与 EDT 事件分发队列模型

爱好编程进阶

程序员 后端开发

JavaWeb期末复习

爱好编程进阶

Java 程序员 后端开发

线程简介

急需上岸的小谢

5月月更

30天消化MyBatis源码解析笔记,吊打面试官,offer接到手软

爱好编程进阶

Java 程序员 后端开发

95% 的算法都是基于这 6 种算法思想

爱好编程进阶

Java 程序员 后端开发

异构资源交付效率提升50%,这家头部券商是如何做到的?

BoCloud博云

证券 案例 云管理平台

兼容PyTorch,25倍性能加速,OneFlow“超速”了

OneFlow

人工智能 深度学习 性能优化 oneflow

brew使用记录

爱好编程进阶

Java 程序员 后端开发

HashMap

爱好编程进阶

Java 程序员 后端开发

为什么企业一定要拥有知识管理的能力

小炮

企业知识管理

01-Linux 系统简介

爱好编程进阶

程序员 后端开发

apache,httpd服务启动报错解决方法【linux用日志排错方法

爱好编程进阶

Java 程序员 后端开发

npm install过程中遇到typings deprecated的warning该怎么处理

华为云开发者联盟

typescript 前端 npm typings.json

2021腾讯最新面经总结:面试题库+实战笔记

爱好编程进阶

Java 程序员 后端开发

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