写点什么

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

评论 1 条评论

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

火山引擎ByteHouse:一套方案,让OLAP引擎在精准投放场景更高效

字节跳动数据平台

大数据 云原生 Clickhouse 企业号 8 月 PK 榜

小白都会的数据可视化大屏搭建,速来学习

华为云开发者联盟

开发 开发工具 华为云 华为云开发者联盟 企业号 8 月 PK 榜

如何用树莓派Pico针对IoT编程?

高端章鱼哥

树莓派 物联网 树莓派 Pico MCU

融入数据浪潮,KaiwuDB 期待与您共赴 DTCC 2023

KaiwuDB

KaiwuDB DTCC2023

2023中国高校计算机大赛热度再刷新:2100+参赛队伍,获超480所国内知名高校关注!

云智慧AIOps社区

编程 算法 模型 中国大学生计算机设计大赛 计算机大赛

你可以信任由编译器优化的代码吗?

互联网工科生

编译器 simd 数据流

函数性能探测:更简单高效的 Serverless 规格选型方案

阿里巴巴云原生

阿里云 Serverless 云原生

电商小程序微服务架构

艾瑾行

架构训练营

RPA+智能问答实现微信端智能客服 | 京东云技术团队

京东科技开发者

微信 RPA 智能客服 企业号 8 月 PK 榜

开源XL-LightHouse与Flink、ClickHouse之类技术相比有什么优势

feng

大数据 flink Clickhouse 流式计算 流式统计

Parallels Desktop 18 for Mac(Pd虚拟机) 18.3.2激活版

mac

Parallels Desktop 18 pd 18 pd虚拟机 苹果mac Windows软件

AI 自动开发软件并部署到云服务器,DevOpsGPT实现从自然语言需求到可运行的软件!

booboosui

AI Codec AI开发软件 ChatGPT

晋级名单公布!“域见杯”复赛今日火热开启

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 8 月 PK 榜

关于跨国文件传输需要了解的5点

镭速

跨国文件传输

快手光合大会公开全模态大模型AIGC解决方案 人机协同助力创作全流程提效

Geek老T

AI 短视频

chatglm2-6b模型在9n-triton中部署并集成至langchain实践 | 京东云技术团队

京东科技开发者

人工智能 #LangChain langchain 企业号 8 月 PK 榜 ChatGLM2-6B

数仓备份经验分享丨详解roach备份原理及问题处理套路

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

大容量文件传输的高速传输协议解决方案评估与比较

镭速

大文件传输 大容量文件传输

低代码实现探索(五十九)SAP底层技术研究

零道云-混合式低代码平台

利用CI机制管控jar依赖树 | 京东云技术团队

京东科技开发者

ci CI/CD jar包 企业号 8 月 PK 榜

前端合成海报并保存到本地

南城FE

JavaScript 小程序 前端 图片合成

OTP令牌是什么?有什么作用?是怎么实现的?

行云管家

运维 堡垒机 双因子认证 OTP令牌

食品包装MES系统解决方案

万界星空科技

MES系统

透彻理解 Axios Blob 的使用与优化

Apifox

性能优化 后端 HTTP API web开发

ARM64是什么意思?与x86有什么区别?

行云管家

arm64

08.25北京站|阿里云Serverless 技术实践营( AI 专场)开放报名

Serverless Devs

阿里云 Serverless 云原生

深入理解 Flutter 图片加载原理 | 京东云技术团队

京东科技开发者

flutter 移动开发 图片懒加载 企业号 8 月 PK 榜

LED小间距屏幕的COB封装技术应用和优势

Dylan

技术 封装 PCB LED显示屏

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