お知らせ
先日、技術評論社の編集者さんから「プロを目指す人のためのRuby入門(通称チェリー本)の4回目の増刷(第5刷)が決まりました」と連絡がありました!
増刷嬉しい〜😆これもひとえに今まで購入してくださったみなさんのおかげです。どうもありがとうございます!
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで Software Design plus
- 作者:伊藤 淳一
- 発売日: 2017/11/25
- メディア: Kindle版
ちなみに増刷というのは、出版社が在庫を補充するために、まとまった部数を追加で印刷することを言います(書籍の内容は同じです)。
言い換えると、「増刷される=在庫がなくなるぐらい順調に売れている」ということなので、著者や出版社にとってはとても嬉しい知らせになります。
まあ、普通の読者さんにとっては「ふーん」という話題ですよね😅
僕も自分で本を出すまでは増刷だとか刷り数(すりすう)とかは全然興味がありませんでした。
でも、自分で本を書くとまったく関心が変わってくるんですよね〜。
今だと、本の最後のページを見て「この本ってこんなに増刷してるのか、すごい!」みたいな独り言をつぶやいたりしています(苦笑)。
チェリー本は死にません!!
ところで、チェリー本を出すにあたって、僕の中では「紙の本だけど、死んだ本にはしたくない」という目標がありました。
「死んだ本」というのは、「発行した瞬間にすべてが止まってしまう本」もしくは「出したら終わり。以上!みたいな本」のことです。
とくに技術書というのは、すぐに情報が古くなってしまうので、時間が経つとすぐに「情報が古くて使えない」という扱いを受けやすいです。
もちろん、紙の本なのでソフトウェアのようにみなさんが持っている本にパッチを当てに行くわけにはいきません。
その代わりにネット上でなるべく頻繁に追加情報を発信しようと心がけています。
というわけで、このエントリでは今までに僕が書いたチェリー本のサポート記事をまとめておこうと思います。
【もくじ】
Ruby 2.5〜2.7で発生する本書との差異
チェリー本はRuby 2.4を対象としています。
Ruby自体は後方互換性を重視しているため、バージョンが上がってもそこまで大きく変化することはないのですが、それでも多少は仕様が変わったり、新しい記法が追加されたりということはあります。
そこで、Ruby 2.5から現時点の最新版であるRuby 2.7まで、本書の記述とどれくらいの差異が発生するのかをそれぞれQiitaに内容をまとめています。
なお、Ruby 2.4はすでに公式サポートが終了していますが、学習用途で使うのであれば大きな問題はありません。
チェリー本に収録できなかった記事のまとめ
チェリー本はとても分厚い技術書ですが、最初に僕が書いた原稿はもっとボリュームがありました。
ページ数の関係で泣く泣く100ページ以上の原稿をカットしたので、そのカットした記事をアドベントカレンダー形式でQiitaにまとめています。
各記事のリンクは以下のとおりです。(全25記事)
- 変数名やブロックパラメーターをアンダースコア1文字にするイディオム
- メソッドの引数をアスタリスク1文字にするイディオム
- 代入なしでローカル変数を宣言するトリビア
- 自分が書いたRubyプログラムをirb上で読み込む方法
- Minitestで特定のテストをスキップする方法
- テストメソッドの粒度について
- 配列を使ったキューとスタック
- 配列の便利メソッドあれこれ
- *と変数の代入の関係
- 範囲式を使ったフリップフロップ
- ハッシュの便利メソッドあれこれ
- 配列リテラルで最後の要素をハッシュにする場合のTips
- 文字列をfreezeさせるいくつかの方法
- 正規表現関連の便利メソッド
- privateメソッドとインデントのスタイル
- メソッド定義と同時に公開レベルを設定するトリビア
- privateメソッドをレシーバ付きで呼び出せるケース
- self.classの形でクラスメソッドを呼び出すときの注意点
- Structクラスで単純なクラスを手軽に定義する
- 特異メソッドが定義されているクラスはどこ?
- 正規表現チェッカープログラムのテストを自動化する
- Hash#to_proc と Method#to_proc
- Procのカリー化と部分適用
- 【初心者向け・動画付き】Railsチュートリアルのサンプルコードを文法解析してみる
- Ruby 2.5で発生する「プロを目指す人のためのRuby入門」との差異について
上記のアドベントカレンダー内の記事ではありませんが、以下のQiita記事もチェリー本の番外編として役に立つかもしれません。
読者のみなさんが悩みがちな問題を解決する記事
Twitter等を見ていると、ときどき「チェリー本の○○がよくわからない」というような反応を見かけることがあります。
以下はそんなみなさんの「なぜ?どうして?」に回答した記事です。
- Rubyのキーワード引数はシンボルっぽく定義するけど、シンボルそのものではない、という話 - Qiita
- Re: Rubyの関数とメソッドの違いってなんだろ! - Qiita
- Rubyでメソッド呼び出しのかっこの手前にスペースが入るとエラーになる理由 - Qiita
- 文字列の大小比較をもう少し詳しく調べてみる(チェリー本の補足として) - Qiita
Teratailでチェリー本に関する質問を見かけると、著者自ら回答を書き込むこともありますw
Minitestの代わりにRSpecでテストを書く方法
チェリー本ではMinitestを使ってテストコードを書いていますが、これをRSpecで書くとどうなるか?を解説した記事です。
- 【動画付き】「プロを目指す人のためのRuby入門」のテストコードをRSpecに書き換える・その1 - Qiita
- 【動画付き】「プロを目指す人のためのRuby入門」のテストコードをRSpecに書き換える・その2 - Qiita
- 【動画付き】「プロを目指す人のためのRuby入門」のテストコードをRSpecに書き換える・その3(最終回) - Qiita
上記記事のタイトルにもあるように、YouTubeに解説動画も載せています。
もっとRubyのプログラミング問題をやりたい!という方へ
「プロを目指す人のためのRuby入門」を読み終わって、もう少し骨のあるプログラミング問題を解いてみたい!という方はこちらの記事に載せたプログラミング問題にチャレンジしてみてください。
ただし、その場合は"puts病"にかからないように注意してくださいね↓
チェリー本の読み方や読むタイミングについて
チェリー本は第7章から急に難しくなります。
プログラミング経験がないと「わからん!難しい!もう無理!!」と挫折しそうになるかもしれませんが、そういう場合は「わからなくてもとりあえず頭の中にインデックスを作っていく」という読書法をお勧めしています。
「そもそも、チェリー本ってどういうタイミングで読むのがベストなの?Railsチュートリアルよりも前?後?」みたいな話が気になる方は、以下のブログ記事をご覧ください。
「チェリー本、欲しいんだけどちょっと高いんだよなあ」という人は、こちらの記事が役に立つかもしれません。
その他のサポート情報
その他、チェリー本に関するサポート情報は以下のようなサイトでも収集可能です。
技術評論社の正誤表
本書の正誤表は以下のページに記載しています。(増刷のタイミングですでに修正されている場合もあります)
また、本書を読んでいて「あれ、これ記述ミスじゃない?」と思った内容があれば、技術評論社のサポートページからご連絡ください。
チェリー本のポータルサイトやFacebookページ
あまり知られていないかもしれませんが、チェリー本には僕自身が運営しているポータルサイトがあります。
チェリー本に関するアップデートがあれば、ここにまとめるようにしています。
また、Facebookページもあります。「いいね!」してもらえると、チェリー本に関する情報がいち早くキャッチできるかもしれません。
僕のTwitterアカウント
チェリー本に関するネタをキャッチするには、僕のTwitterアカウントをフォローしてもらうのも有効です!
(ただし、チェリー本以外の話も多数つぶやきますw)
まとめ
というわけで、このエントリでは「プロを目指す人のためのRuby入門(チェリー本)」増刷のお知らせと、これまでに書いたサポート記事をまとめてみました。
「まだまだ使えるRubyの入門書」として、「プロを目指す人のためのRuby入門」をご愛顧いただけると嬉しいです。
これからもみなさん、よろしくお願いします!😆
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで Software Design plus
- 作者:伊藤 淳一
- 発売日: 2017/11/25
- メディア: Kindle版