「次の職場が Ruby なんだけど」と読み書きそろばんを聞かれたのと、大阪Ruby会議03、大江戸Ruby会議10、Kaigi on Rails 2023 と Ruby/Rails 関係のイベントに続けて参加して、作者の皆さまと会ったので。
「読める」になるために
言語仕様は何らかの本 1 冊の冒頭の方を読めば雰囲気は掴めるだろう。
Ginza Rails27 igaiga - Speaker Deck
著書や技術顧問、健康診断レポート でお馴染みの @igaiga555 さんの作った表で、難易度別にまとまっている。
たのしいRuby か、プロを目指す人のためのRuby入門 が定番かなぁ。
できることを知る
- るりま (Ruby リファレンスマニュアル) の Enumerable、String
- Rails Guides の Active Support Core Extensions
は読んでいて面白いのでオススメです。まずはサラッと目を通す感じ。
なんか書く
Rails で何かアプリを作る。まず 1 個ぐらいは手を動かしておきたいね。
作るものが思いつかなかったら、Rails Girls のガイドを見ながら画像アップロード機能のある Web アプリを作ったり、Rails チュートリアル をやったりすると良いんじゃないか。
チュートリアルは長いので、サクッと rails new してナルホドと言えるぐらいのサイズで良い。
ライブラリを知っていく
「何か gem があるんじゃないかと疑う」を基本行動としながらしばらく暮らす。
The Ruby Toolbox は昔からあるサイトなので、かなり古いメンテされていない (2010 ぐらいが最終更新の) ライブラリも載っている。古いのは見なかったことにしつつ、一番有名なのを触ると良いです。基本的に困るまでは有名どころしか使わなくても生きていける。
awesome-ruby はいつもの awesome- シリーズです。ちゃんとメンテされている(感謝)
アプリを作ったら dependabot や renovate でバージョンアップの指示があるたびに中を読みながら上げていくのも良いですね。現在進行形で開発されている現場の空気が分かっていくので。
Real World Rails にある各アプリの Gemfile を読むのも効いてきます。これも世界の現場感が身に付いていく。
こういう「gem を読む」を自然にやるためには、gem-src と ghq を入れておくのがオススメです。自分のアプリと gem との距離感がどんどん減っていって「読むのがふつう」になっていきます。
実践的な開発に参加する
Enumerable や ActiveSupport の core/ext でできることを知って、代表的な gem が分かっていたら、ほぼコードの読み書きする分には困らなくなっていると思う。
- テスト
- API サーバ
- パフォーマンスチューニング
- CI/CD
辺りが次の話題かな。
まさに Kaigi on Rails はこういった話題を取り扱っているのでぜひ見て欲しい。
他は
- 各社の Style Guide を読む
- https://github.com/rubocop/ruby-style-guide
- https://github.com/cookpad/styleguide/blob/master/ruby.ja.md
- https://github.com/airbnb/ruby
- 趣味じゃん?って項目があったり、理由に納得できるものがあったり色々だろう
- RuboCop の cop 全部見る
- https://github.com/rubocop/rubocop
- スタイルガイドを見たら強制したり一括適用したりしたくなるはずで、既にほとんどのギプスはある
- 本を読む
- パーフェクトRuby on Rails
- パRails。安心と信頼のコミュニティメンバーなので全面的にオススメ
- Ruby on Railsステップアップ
- 音楽性が一致していてすごく良かった!
- パーフェクトRuby on Rails
とかになるんじゃないか。
手当たり次第に読む
あとは技術的な興味をどこまで持ち続けられるかみたいな勝負になる。新しい話題が次々飛び込んでくるように自分のアンテナをしっかり張っておきましょう。
- 週刊Railsウォッチ
- 話題がまとまっていて便利(解説はピントがズレていることもよくあるのだけれど……)
- Ruby Weekly
- なんとか Weekly シリーズの Ruby 版
- 界隈の著名な人たちの動向を知る
- 次の本を読む
- オブジェクト指向設計実践ガイド
- Sandi Metz の。ちょっと古いんだけど面白いので書かざるを得ない
- 西暦2023年、オブジェクト指向に興味を持った入門者にお勧めする日本語書籍を考える でも最後に載ってる
- メタプログラミングRuby
- 「右へ一歩、それから上へ」ルールに納得し、日常的に
ancestors
を見るキッカケになるんじゃないか
- 「右へ一歩、それから上へ」ルールに納得し、日常的に
- 研鑽Rubyプログラミング
- 正直まだ早いと思うんだけど、書いてあるコードや信念の異常さは保証する
- サンプルコードをとても面白がって読めるのは少なくとも 3 年選手以降じゃないかなぁ……
- オブジェクト指向設計実践ガイド
- ruby-jp の Slack に行く
- https://ruby-jp.github.io/
- 4600 人ぐらい居るコミュニティです