give IT a try

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

QiitaにRSpec 3.7の紹介記事を書きました(+記事を書くモチベーションについて)

お知らせ

Qiitaに「rspec-rails 3.7の新機能!System Specを使ってみた」という記事を書きました。

qiita.com

この記事はRails 5.1で導入されたSystemTestCaseという機能をRSpecから利用する、System Specの使い方を説明した記事です。
以前から利用できるFeature Spec(フィーチャスペック)とほぼ同じ機能ですが、Rails標準の機能が使えるぶん、Feature Specよりも手軽に使えるようになっています。

RSpecユーザーのみなさんはぜひチェックしてみてください!

余談:なんでしょっちゅう新機能とか紹介してるん?

ところで、先日公開したRuby 2.5の新機能紹介記事もそうですが、僕は結構頻繁に新しくリリースされたツールやフレームワークの新機能をQiitaとかで紹介しています。

もしかすると、中には「なんでそんなにしょっちゅう紹介記事書いてるん?」「何がモチベーションなん?」と思ってる人もいるかもしれません。
僕が新機能の紹介記事を書いたりする理由、というか思考回路は、こんなふうになっています。

新機能がリリースされたら、どんな機能なのか早く確かめたい
 ↓
READMEファイルやリリースノート(だいたい英語)を読んだりして、仕様や使い方を調べる
 ↓
だいたい内容を理解する
 ↓
たぶん世の中の多くのプログラマが、僕と同じようにドキュメントを調べたりするんだろうなーと想像する
 ↓
じゃあ、僕が仕様や使い方を日本語で紹介すれば、さくっと新機能の内容が理解できて、世の日本人プログラマの時間を節約できるんじゃ?と考える
 ↓
自分だったらこんなふうに説明してもらえるとわかりやすくて嬉しい、と思えるような記事を書く

一番大きなポイントは「たぶん世の中の多くのプログラマが、僕と同じようにドキュメントを調べたりするんだろうなーと想像する」というところですね。

みんなが同じようにドキュメントを読んだり、同じように使い方がわからなくてハマったりするのは、なんかもったいない。
誰か一人が詳しく調べてその知見を共有すれば、世のプログラマの時間が節約できる!

そんなふうに考えて、Qiitaに記事を書いたりしております。
(これも一種のDRYの精神・・・なんでしょうか??)

同じような話は関西Ruby会議2017でも発表しているので、こちらも参考にどうぞ。

まとめ

というわけで、このエントリではQiitaに書いたRSpec 3.7の紹介記事と、Qiitaとかに記事を書いたりするモチベーションについて書いてみました。

いつも「こういうことを書いたらみんな喜んでくれるかなー」と思いながら記事を書いているので、ちょっとでもお役に立てば「役に立った!」「書いてくれてありがとう!」という喜びの声を聞かせてもらえると嬉しいです😃
みなさん、よろしくお願いします~。

qiita.com

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

はじめに

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

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

調査の方法

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

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

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

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

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の「随時更新」記事が本当に随時更新されているのかどうか、調査してみた結果を書いてみました。

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

Qiitaに「RSpecのリードメンテナだけど何か質問ある?」という翻訳記事を書きました

お知らせ

Qiitaに「【翻訳】RSpecのリードメンテナだけど何か質問ある?」という記事を書きました。

この記事はRedditという海外の掲示板サイトに載っていたやりとりを翻訳したものです。

これはRSpecのリードメンテナであるMyron Marston氏が「何でも質問に答えるよ」というQ&A企画で、RSpecに関する興味深い議論が繰り広げられていました。

「複雑なspecよりもシンプルなspecを選ぶ」とか「ワンライナー構文(it { is_expected...})はほとんど使わない」といったあたりは僕も前から同意見だったので、読んでいて「やっぱり」と思ったところです。

また、巷でよく見かける「RSpecとMinitestの比較」についても回答してくれています。

この記事でピックアップしたのは以下の7つのQ&Aです。

  • RSpecの中で必要最小限のDSLをおすすめするなら?
  • シンプルなスタイルと複雑なスタイル、選ぶならどっち?
  • RSpecのDSLは全員覚えるべき?
  • RSpecとMinitestをどう比較する?
  • 追加して後悔している機能は何?
  • power-assertってどう思う?
  • RSpecで今後チャレンジしたいことは?

いずれもRSpecをよく使うRubyプログラマなら参考になりそうなやりとりなので、ぜひチェックしてみてください!


あわせて読みたい

元記事は先日発売された「Effective Testing with RSpec 3」という書籍に関連する企画になっていました。

Effective Testing With RSpec 3: Build Ruby Apps With Confidence

Effective Testing With RSpec 3: Build Ruby Apps With Confidence

  • 作者: Myron Marston,Ian Dees,Tom Stuart,Jacquelyn Carter
  • 出版社/メーカー: Pragmatic Bookshelf
  • 発売日: 2017/09/09
  • メディア: ペーパーバック
  • この商品を含むブログを見る

この本については僕も以前書評を書いています。
こちらもあわせてどうぞ。