give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

Qiitaの「随時更新」記事は本当に随時更新されているのか調べてみた

はじめに

Qiitaを見ていると、ときどき「随時更新していきます」と書いてある記事を見かけます。
ただ、本当に「随時更新」されているのかどうかはよくわかりません。
もしかすると「随時更新」とか言いつつ、一度も更新されずに放置されている記事も多いんじゃない?と思ったりもします。

というわけで、本当に更新されているのかどうかちょっと調べてみました。

調査の方法

今回はこんな感じ調査してみました。

  • タイトルに「随時更新」を含む記事を取得する(2017年10月16日時点で165件)
  • 「更新日 - 作成日」で更新期間(作成された日から更新された日までの日数)を割り出す
  • 更新期間順に記事を並び替える

記事の取得はQiita APIを使用しています。
本当は日数だけでなく、更新の回数も取りたかったんですが、APIには用意されていなかったので諦めました。

また、記事の並び替えはRubyで簡単なスクリプトを作成しました。
使い捨ての雑なスクリプトですが、実装はこんな感じです。

require 'minitest/autorun'
require 'json'
require 'date'
def execute
# How to create qiita.json
# 1. curl -o qiita.json https://qiita.com/api/v2/items?page=1&per_page=100&query=title%3A%E9%9A%8F%E6%99%82%E6%9B%B4%E6%96%B0
# 2. curl -o qiita.json https://qiita.com/api/v2/items?page=2&per_page=100&query=title%3A%E9%9A%8F%E6%99%82%E6%9B%B4%E6%96%B0
# 3. Merge them manually
path = '/Users/jit/Desktop/qiita.json'
str = File.read(path)
JSON.parse(str)
end
class Item
attr_reader :title, :created_at, :updated_at, :url, :tags, :user
def initialize(hash)
@title = hash['title']
@created_at = Date.parse hash['created_at']
@updated_at = Date.parse hash['updated_at']
@url = hash['url']
@tags = hash['tags'].map{|h| h['name']}
@user = hash['user']['id']
end
def to_s
"#{title}\t#{tags.join(', ')}\t#{user}\t#{created_at}\t#{updated_at}\t#{update_span}\t#{url}"
end
def inspect
to_s
end
def update_span
(updated_at - created_at).to_i
end
def <=>(other)
ret = update_span <=> other.update_span
ret == 0 ? created_at <=> other.created_at : ret
end
end
class QiitaTest < MiniTest::Test
def test_qiita
array = execute
items = array.map{|hash| Item.new(hash)}
puts items.sort.reverse
end
end
gist.github.com

調査結果と評価

調査してみるとこんな感じで分布していました。

更新期間 件数 割合
1年以上 15 9%
3ヶ月以上1年未満 24 15%
1ヶ月以上3ヶ月未満 20 12%
4日以上1ヶ月未満 31 19%
1日~3日 19 12%
未更新 56 34%

円グラフにまとめるとこんな感じです。

f:id:JunichiIto:20171016093901p:plain
「随時更新」記事の更新期間の分布

こうやって見ると、思ったよりも「随時更新」されていることがわかりました。
調査前は「半分以上が未更新なんじゃないか」と思っていたんですが、僕の予想は外れました。
しかも、1年以上にわたって更新されている記事もあるので、マメな人はちゃんと「随時更新」しているんだなあと思いました!

おことわり

この調査ではあくまで「更新日 - 作成日」で算出した日数だけが評価対象になっています。
そのため、「5年前に作成 => 昨日はじめて更新」したような記事も「5年以上随時更新」と見なされることになります。

また、作成日によるフィルタリングは特に行っていないため、最近作成された「随時更新」記事ほど、更新期間が少ないと評価されてしまいます。

というわけで、この調査方法では本当に「随時更新」の名に恥じない更新頻度を保っているかどうか、正確な評価はできないことをご了承ください。

参考:更新期間の長い「随時更新」記事トップ10

この調査で判明した、更新期間の長い「随時更新」記事トップ10はこちらです。
いずれも1年以上更新されているので、「随時更新」と呼ぶにふさわしい記事ですね。

タイトル 作成日 更新日 更新期間(日)
iOS開発者の為のAndroid開発 思い出しメモ (随時更新中) by ux_design_tokyo 2013/11/22 2017/06/04 1290
俺得gradleテンプレート(随時更新) by niusounds 2014/11/21 2017/07/11 963
【iOS】パフォーマンス改善で参考にした記事まとめ(随時更新) by xxxAIRINxxx 2014/06/17 2017/01/26 954
オレオレ開発環境まとめ - 随時更新! by fakestarbaby 2012/08/01 2015/02/24 937
SpringBootを使っていてハマった事(随時更新) by yakumo 2015/08/24 2017/09/27 765
プログラミングでよく使う英単語のまとめ【随時更新】 by Ted-HM 2015/09/11 2017/10/12 762
(随時更新)ansibleでよく使うコマンド・モジュールまとめ by uzresk 2015/08/11 2017/04/07 605
【超おすすめ!!】Atomのパッケージ、テーマ、キーバインディング、設定を紹介してみる(※随時更新) by snowsunny 2015/06/29 2017/02/13 595
LinuxコマンドTipsあれこれ(随時更新) by AkihiroTakamura 2016/03/14 2017/07/26 499
Linuxコマンド覚書(随時更新) by ao_love 2015/09/18 2016/12/22 461

まとめ

というわけで、このエントリではQiitaの「随時更新」記事が本当に随時更新されているのかどうか、調査してみた結果を書いてみました。

更新してる人はちゃんと更新してるよ!ということがわかったので、個人的にはすごく納得のいく調査結果になりました😃