NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

评论 1 条评论

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

盘点2020 | 大龄程序员的进化(从自由职业者到讲师)

王磊

盘点2020

13.8推荐引擎算法

张荣召

淘宝|蚂蚁|菜鸟|盒马|滴滴|饿了么面经,已拿多个offer(Java岗)

Java架构之路

Java 程序员 架构 面试 编程语言

13.10作业

张荣召

敏捷规划,让你做一个有计划的开发人

华为云开发者联盟

敏捷 开发 规划

13.7分类聚类算法

张荣召

盘点2020 | 2020年读过的这些书

xcbeyond

读书感悟 盘点2020 七日更

2020年度综合大盘点:火爆IT业的7大Java技术,每一项都是大写的“牛逼”!

Java 编程 微服务

13.6网页排名算法PageRank

张荣召

全面到哭!阿里内部疯传Netty实战文档程序员必须人手一份

比伯

Java 编程 架构 程序人生 编程语言

天天CRUD,被领导怼,我是如何从小公司菜鸡到阿里P8架构师?,首次分享Java程序员黄金五年进阶心得

Java架构之路

Java 程序员 架构 面试 编程语言

关于代码重构的灵魂三问:是什么?为什么?怎么做?

华为云开发者联盟

重构 代码 代码重构

数据结构与算法经典问题解析-Java语言描述

田维常

数据结构

UBI波场挖矿系统软件APP开发

系统开发

优化PostgreSQL Autovacuum

PostgreSQLChina

数据库 postgresql 开源 优化

BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux

Java架构之路

Java 程序员 架构 面试 编程语言

vivo 微服务 API 网关架构实践

vivo互联网技术

微服务 API网关 Zuul2

详解Spring5+SpringMVC5+MyBatis3.X,同时整合Redis缓存+ActiveMQ+项目等

Java架构追梦

Java spring 架构 mybatis springmvc

安防小区管控系统建设,智慧社区智能化集成方案

t13823115967

智慧平安社区平台建设

AlibabaP8架构师整理,283页的Java核心资料pdf文档,学会后月薪4W没问题

Java架构之路

Java 程序员 架构 面试 编程语言

iOS面试基础知识 (三)

iOSer

ios 面试 ios开发

为什么你成为不了团队核心成员

数据社

团队 七日更

业务重要?还是技术重要?

数据社

思考 团队 七日更

Vmware+Centos设置静态IP

千泷

Spark的分布式存储系统BlockManager全解析

华为云开发者联盟

spark 分布式 存储

13.9机器学习与神经网络

张荣召

11 组关系带你看清 JVM 全貌

田维常

JVM

公安大数据:警务大数据分析系统解决方案

t13823115967

智慧公安

年轻人不讲武德,乱用索引,你到底走了多少弯路?

比伯

Java 编程 架构 面试 程序人生

Code Shared & Review(20201214-20201220)

刘璐

Alibaba技术专家必知必会的Java技术知识点,掌握这些理论+实践+技术是你通往阿里的路

Java架构之路

Java 程序员 架构 面试 编程语言

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