Rubyを学び始めるプログラミング経験者が最初に手に取るべき本「プロを目指す人のためのRuby入門」

来月から新しい案件が始まるにあたって、経験しているPHPだけでなく全く経験がないRubyも開発に携わることになりました。

そんな中いち早くRubyについて学ぶべく「プロを目指す人のためのRuby入門(通称・チェリー本)」を手に取ることに。

この選択がぼくにとって大正解

Rubyを学び始めるプログラミング経験者が最初に手に取るべき本としてオススメする理由を紹介します。

これまでの経歴

はじめにぼくのこれまでの経歴、技術スタックについて。

  • エンジニア歴 : 4年
  • 業界 : Web系(特にEC)
  • 得意な言語 : PHP

詳しいプロフィール・実績についてはこちら → ポートフォリオサイト

本書で学べる内容

本書の目次を紹介します。

第1章 本書を読み進める前に
1.1 イントロダクション
1.2 本書の概要
1.3 Rubyについて
1.4 Rubyのインストール
1.5 エディタ/ IDEについて
1.6 Rubyを動かしてみる
1.7 本書のサンプルコードがうまく動かない場合
1.8 この章のまとめ

第2章 Rubyの基礎を理解する
2.1 イントロダクション
2.2 Rubyに関する基礎知識
2.3 文字列
2.4 数値
2.5 真偽値と条件分岐
2.6 メソッドの定義
2.7 例題:FizzBuzzプログラムを作成する
2.8 文字列についてもっと詳しく
2.9 数値についてもっと詳しく
2.10 真偽値と条件分岐についてもっと詳しく
2.11 メソッド定義についてもっと詳しく
2.12 その他の基礎知識
2.13 この章のまとめ

第3章 テストを自動化する
3.1 イントロダクション
3.2 Minitestの基本
3.3 FizzBuzzプログラムのテスト自動化
3.4 この章のまとめ

第4章 配列や繰り返し処理を理解する
4.1 イントロダクション
4.2 配列
4.3 ブロック
4.4 ブロックを使う配列のメソッド
4.5 範囲(Range)
4.6 例題:RGB変換プログラムを作成する
4.7 配列についてもっと詳しく
4.8 ブロックについてもっと詳しく
4.9 さまざまな繰り返し処理
4.10 繰り返し処理用の制御構造
4.11 この章のまとめ

第5章 ハッシュやシンボルを理解する
5.1 イントロダクション
5.2 ハッシュ
5.3 シンボル
5.4 続・ハッシュについて
5.5 例題:長さの単位変換プログラムを作成する
5.6 ハッシュについてもっと詳しく
5.7 シンボルについてもっと詳しく
5.8 この章のまとめ

第6章 正規表現を理解する
6.1 イントロダクション
6.2 正規表現って何?
6.3 Rubyにおける正規表現オブジェクト
6.4 例題:Rubyのハッシュ記法を変換する
6.5 正規表現オブジェクトについてもっと詳しく
6.6 この章のまとめ

第7章 クラスの作成を理解する
7.1 イントロダクション
7.2 オブジェクト指向プログラミングの基礎知識
7.3 クラスの定義
7.4 例題:改札機プログラムの作成
7.5 selfキーワード
7.6 クラスの継承
7.7 メソッドの公開レベル
7.8 定数についてもっと詳しく
7.9 さまざまな種類の変数
7.10 クラス定義やRubyの言語仕様に関する高度な話題
7.11 この章のまとめ

第8章 モジュールを理解する
8.1 イントロダクション
8.2 モジュールの概要
8.3 モジュールのミックスイン(includeとextend)
8.4 例題:deep_freezeメソッドの作成
8.5 ミックスインについてもっと詳しく
8.6 モジュールを利用した名前空間の作成
8.7 関数や定数を提供するモジュールの作成
8.8 状態を保持するモジュールの作成
8.9 モジュールに関する高度な話題
8.10 この章のまとめ

第9章 例外処理を理解する
9.1 イントロダクション
9.2 例外の捕捉
9.3 意図的に例外を発生させる
9.4 例外処理のベストプラクティス
9.5 例題:正規表現チェッカープログラムの作成
9.6 例外処理についてもっと詳しく
9.7 この章のまとめ

第10章 yieldとProcを理解する
10.1 イントロダクション
10.2 ブロックを利用するメソッドの定義とyield
10.3 Procオブジェクト
10.4 例題:ワードシンセサイザーの作成
10.5 Procオブジェクトについてもっと詳しく
10.6 この章のまとめ

第11章 Rubyのデバッグ技法を身につける
11.1 イントロダクション
11.2 バックトレースの読み方
11.3 よく発生する例外クラスとその原因
11.4 プログラムの途中経過を確認する
11.5 汎用的なトラブルシューティング方法
11.6 この章のまとめ

第12章 Rubyに関するその他のトピック
12.1 イントロダクション
12.2 日付や時刻の扱い
12.3 ファイルやディレクトリの扱い
12.4 特定の形式のファイルを読み書きする
12.5 環境変数や起動時引数の取得
12.6 eval,バッククオートリテラル,sendメソッド
12.7 Rake
12.8 gemとBundler
12.9 この章のまとめ

付録 Ruby on Railsの習得に向けた予備知識
A.1 イントロダクション
A.2 Railsの独自拡張になっている機能を理解する
A.3 フレームワークの変化の速さに追従する
A.4 アプリケーション設計に関する知識
A.5 Web技術に関する知識
A.6 データベースに関する知識
A.7 セキュリティに関する知識
A.8 テストの自動化に関する知識
A.9 GitやGitHubに関する知識
A.10 サーバや運用に関する知識
A.11 gemに関する知識と定期的なアップデート

読了後の感想

総ページは450ページほどになりますが、読了時間は10時間ほどでした。

著者の伊藤淳一さん(@jnchito)も前書きに書いていますが、プログラミング経験者向けに書かれており、随所で他の言語とRubyを比較して説明が展開されます。

そのため、プログラミング経験者にとっては冗長に感じる部分は皆無で、非常に理解しやすい内容にまとまっています。

また、各章で例題問題が出題され理解度を確認できるようになっています。

問題の解説も非常に丁寧で、読者が迷わないようにどこを読み直せば良いかまで示されるので詰まることはなかったです。

サポートサイトも用意されており、本当に至れり尽くせりです。

プロを目指す人のためのRuby入門 – サポートサイト

おわりに

本書で学んだ内容がどこまで実践で通用するかは現場によると思いますが、少なからず最低限の知識は十分に身についていると実感できました。

Rubyをこれから学ぶ方だけでなく、Rubyを扱うことが多い方も手元に置いておいて損はない1冊ではないでしょうか。

ではまた。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ABOUTこの記事をかいた人

Yusuke Ito

■25歳時に異業種からWeb系ベンチャー企業に転職。 ■ECサイトの保守・開発から始め、要件定義、設計、開発、テスト、運用と一通り経験。 ■3年でチーフ→スペシャリスト職に昇格し、その後フリーランスに転身(今夏予定) 。 ■ブログではエンジニアとしてのキャリア、仕事術等をメインに発信しています。 詳しいプロフィール・経歴を見る