【Ruby/Rails エンジニア向け】Qiitaを見る前に見て欲しいサイト
「Qiita等でも有用な情報が見つからない」といった内容のツイートを見かけたので書こうと思います。
私も当初はprogateぜんっぜんわからなかったですよ!
— 宮水(miyachan) (@rails_java_like) 2018年3月7日
でも初めて自転車に乗って、乗れるようになったときを思い出して欲しいです。
わかるまで、根気よく同じ課題を続けるのが大事です。頑張ってください! #peing #質問箱 https://t.co/91lBtx4vbv pic.twitter.com/ii4vNsleVX
対象読者
この記事の内容は、エンジニアとして2〜3年働いている方であれば身についている(と信じている)ので、主に以下のような人たちを対象としています。
この記事を書いている中の人も新卒エンジニア(非情報系出身)としてようやく1年を終えようとしているところです。言葉足らずな部分や至らない点もあるかもしれないので、その時はどうぞコメントください。
Qiitaを見る前に訪れるべき場所
僕も最初はすごくQiitaを使ってました。それっぽいことをググれば一番上にだいたいQiitaが表示されるので見てしまう気持ちはすごく分かります。Qiita自体はすごくいいサービスだとも思います。 ですが、Qiitaを見る前に絶対に見ておいたほうが良い場所があると思っているのでまとめようと思います。
Rails Tutorial
超有名なRails Tutorialですね。もし初級者の方で知らない人がいれば、除いて見てもいいと思います。時間が取れるのであれば、実際にチュートリアルを進めてみてもいいと思います。
Rails Guide
Railsに関するトピックが網羅的にまとめられています。Railsにおける命名規則やモデルの関連づけ〜悲観的/楽観的ロックや非同期処理まで幅広い内容について載っています。実装中はもちろん、実装前にもよく見に来ることが多いです。
Rails API
Railsの公式リファレンスです。上記2つと違い全て英語で書かれています。でもこの中で一番見ます。
Google翻訳を別タブに用意してでも使ったほうがいいのかなと思います。
Rubyリファレンス
Ruby作者のMatz(まつもとゆきひろ)が原著のRubyのリファレンスです。Railsを利用していてもRubyについて調べる必要があるときもあると思います。そんな時はまず初めにここを見るといいのかなと思います。
その他、中の人がやっていること
Relish
rspecの公式リファレンスです。テストをrspecで書いているので、よく見てます。 ただ内容が薄いなと感じる部分もあるので、知りたいことが見つからない時もあります。
Railsのソースを読む
Rails Guide や Rails API を読んでもスッキリしない時もあります。そんな時は実際にRailsのソースを読んで実装を辿るのもいいと思います。
というのもRubyやRailsは言葉による意味論がない言語です。もう少し砕いて言うと、もし Rails Guide のようなドキュメントの内容と Rails の実際の振る舞いに相違点があった時は、実装の振る舞いが正しいです。そういうわけで、ほんとのところを知ろうと思ったらソースを読んで実装を辿る必要があるわけですね。
Rubyのソースを読む
上記と同様の理由で、Rubyのソースを読むこともあります。ただ Ruby の場合は C を読めないと理解できない部分も多いです。なのでそこまで頻繁に辿ることはないです。
jnchitoさんのQiitaの記事を読む
Qiitaを見る前に訪れるべき場所って言っているくせにQiitaが入っているじゃないか!と思う人もいるかもしれません。ただこの伊藤さんの記事はかなり分かりやすいです。かつRubyに関する本を出している人なので信頼性も高いです。僕自身、見ているQiitaの記事の8割はjnchitoさんの記事だと思います。
良書と呼ばれている技術書を読む
良書と呼ばれている技術書を購入して手元に置いていつでも見れるようにしましょう。その辺に落ちてるネットの記事なんかよりは間違いなく信頼性は高いと思います。
良書と呼ばれている技術書を知らない!という人は以下の記事の一番下にある技術書リストを参考にしてください。Ruby/Railsを書いている、エンジニアを目指している、という人たちであれば、いつかは読んだ方がいい本ばかりだと思います。
見るのがめんどくさい!という方は、とりあえずRubyであればjnchitoさんの著書 プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)がオススメです。
終わりに
他の言語でも同様で、中の人が言いたいのは、Qiitaを参考にする前に公式のリファレンス・ドキュメントを読むということでした。
少しでも世のエンジニアの方(特にRubyを書いている人)の参考になれば幸いです!