9月に「Ruby技術者認定試験 Silver」を受験し、90点台で無事に合格できました。

しかしながら、Silver試験はどちらかと言えば”覚える”要素が多かったような印象があり、特にクラスやモジュールについての理解が足りてないのでは?と自分自身で感じていました。

そんな中、「チェリー本」の前書きの

「Rubyプログラミングを始めてしばらく経ったが、まだまだ自信が持てない人」を想定

の部分を読んで「これだ!」と。

Ruby の知識が付け焼き刃にならないよう理解を定着させてから Gold試験にも臨みたいと思い、「チェリー本」の写経に取り組んでみました。

「チェリー本」について

正式な書名は、『プロを目指す人のためのRuby入門』です。
表紙の「さくらんぼ」の写真が特徴的なため、通称「チェリー本」と呼ばれています。

『プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで』
伊藤 淳一/著
技術評論社/刊
2017/11/25 発売
2,980円+税

Ruby界隈でとても人気のある本で、書評や写経してみた系の記事が数多く存在しますが、著者のブログでも「チェリー本」での学習をサポートしてくれる記事が多数公開されていますので、購入前でもチェックするのがおすすめです。
チェリー本の記事一覧 - give IT a try

著者によるこだわりポイント紹介記事は必見。
「分厚い本なのに勝手に閉じない仕様」はとても嬉しいですね。
筆者自らが語る「プロを目指す人のためのRuby入門」のこだわりと見どころ - give IT a try

うわぁ、分厚い…でも、急がば回れ

ネット書店で「チェリー本」を購入し、届いた400ページ超の分厚い本を見て、正直、圧倒されてしまいました。
(チェリー本以上に分厚い技術書もたくさんありますが…)

しかし、前書きに

「分厚い本=難しい本」だと思わないでください。
目指したのは「分厚くて難しい技術書」ではなく、「分厚いが非常にわかりやすい技術書」です。

と書かれているように、解説が丁寧な分だけ、文章が多くなっているだけなので心配は不要でした。

また、読むだけよりも、実際にソースコードを打ち込んで実行してみる方が、時間が掛かって遠回り…なようでも理解が深まるのが早い事を実感できました。
分かりやすい解説のおかげで、慣れてくると結構サクサクと読み進めることができると思います。

本の初めから順に取り組んでいくのが一番だとは思いますが、「まずは重要な部分を優先的に学びたい」という人には著者による「ここはやっておくべき」という解説動画が YouTube で公開されていますのでチェックしてみてください。

「プロを目指す人のためのRuby入門」の効果的な読み方を動画で指南してみました - give IT a try

写経の環境

  • エディタ
    • Visual Studio Code (VS Code)
  • 実行環境
    • Windows 10 Pro
    • Windows Subsystem for Linux (WSL) + CentOS 7
    • Ruby Version Manager (RVM)
      • Ruby 2.7
      • Ruby 2.1
  • ソースコード管理
    • GitHub
      • クライアントは VS Code

Rubyのコードを書いて実行出来る環境があれば何でも良いと思います。

私の場合、Ruby の実行環境は WSL 上の CentOS にインストールしています。
PowerShell や VS Code のターミナルから wsl コマンド一発で Linux 環境に移動でき、Windows 上のディレクトリやファイルにもそのままアクセス出来るので快適です。

同じソースコードであっても、Ruby のバージョンによっては異なる挙動をする場合があり、RVM 等のツールで使用する Ruby のバージョンを切り替えられるようにしておくと便利です。

基本的に Ruby 2.7 でチェリー本の学習を進めましたが、Ruby ではある程度後方互換性が保たれているため、特に問題はありませんでした。
(チェリー本は Ruby 2.4、Ruby技術者認定試験 Silverは Ruby 2.1 に準拠しています)
Ruby 2.7 の irb ではキーワードが強調表示(文字色が変わる)されたり、複数行編集が可能で便利でした。

写経して動作を確認したソースコードやメモは GitHub へコミット。
連続して草が生やせると楽しいですよね。

写経をやってみて

写経って効果あるのかな…?とは思っていたのですが、最初にページを読んでよく分からなかったとしても、実際に手を動かしコードを走らせることで、次第に頭に入ってくるようになり理解することができました。

事前に試験勉強を経て「Ruby技術者認定試験 Silver」に合格していたこともあって、約450ページを8日間ほどで一通り写経を終えることができました。

新たな学び

「チェリー本」の写経を通しての新たな知識については、別途記事にまとめて公開する予定です。

写経に使用したGitHubのリポジトリは公開していますので、気になる方はどうぞ。
Github - egamasa/ruby-cherry-book