はじめに
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 |
調査結果と評価
調査してみるとこんな感じで分布していました。
| 更新期間 | 件数 | 割合 |
|---|---|---|
| 1年以上 | 15 | 9% |
| 3ヶ月以上1年未満 | 24 | 15% |
| 1ヶ月以上3ヶ月未満 | 20 | 12% |
| 4日以上1ヶ月未満 | 31 | 19% |
| 1日~3日 | 19 | 12% |
| 未更新 | 56 | 34% |
円グラフにまとめるとこんな感じです。
こうやって見ると、思ったよりも「随時更新」されていることがわかりました。
調査前は「半分以上が未更新なんじゃないか」と思っていたんですが、僕の予想は外れました。
しかも、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の「随時更新」記事が本当に随時更新されているのかどうか、調査してみた結果を書いてみました。
更新してる人はちゃんと更新してるよ!ということがわかったので、個人的にはすごく納得のいく調査結果になりました😃