パーフェクトシリーズ改訂2版 パーフェクトRuby

書籍の概要

この本の概要

『パーフェクトRuby』の改訂版になります。前版はRuby1.9および2.0対応版として企画しましたが,Ruby2.0のサポートが終了したこともあり,2017年1月リリースのRuby2.4の最新版に対応した改訂になります。改訂にあたり,前版になかったテスト関連なども追加しより充実させています。

こんな方におすすめ

  • 最近のRubyを学びたい人
著者プロフィール

すがわらまさのり

1982年生まれ。大学卒業後,Sierに就職。開発に関わったプロダクトを育てていきたいという思いと,BtoCでの仕事に就きたくて現職へ至る。普段は主にRubyでデーモンやアプリケーションを書いたりしている。sugamasaoというアカウントで活動中。

寺田玄太郎(てらだげんたろう)

1985年生まれ。2008年にRubyと出会い,2010年に株式会社永和システムマネジメントに転職し現在に至る。2013年に帝京大学理工学部情報科学科へ入学し,まだ在学中。奥さんと子供と3人暮らし。インターネット上のアカウント名はだいたいhibariya。

三村益隆(みむらみつたか)

株式会社永和システムマネジメントで働くRubyプログラマ。Asakusa.rb所属。1983年生まれ。大学生時代に,偶然Rubyと出会う。入社当時はLinuxのディバイスドライバのプロジェクトでしたが,今ではRubyをメインで仕事している。

橋立友宏(はしだてともひろ)

1984年生まれ。神戸大学法学部卒。数年のフリーランス活動を経て,現在はRepro株式会社でCTOをやっている。TwitterやGitHubではjoker1007というアカウントで活動している。浅草在住。

関口亮一(せきぐちりょういち)

1982年生まれ。仕事外での名前はryopeko。Kaizen Platform, Inc.所属。Rubyに出会ったことをきっかけとして,現在はたくさんの優秀な同僚たちに囲まれて全力疾走する毎日。

近藤宇智朗(こんどううちお)

1984年生まれ,愛知県三河地域出身。各所のIDはudzura。ECサービス,オンラインゲームなどを経て,2017年現在GMOペパボ所属。Ruby暦はかれこれ8年ほどになるが,今夢中なのはシステムプログラミングとmruby。すっかり低レイヤの人に?
好きなgemは相変わらずrack,好きなシステムコールはptrace(2)。

この書籍に関連する記事があります!

身の回りにあるRuby製のオープンソースなソフトウェア
Rubyで作られたオープンソースソフトウェア(以下OSS)といえば,フルスタックなWebアプリケーションフレームワークのRuby on Railsが有名です。

目次

Part1 Ruby~overview
1章 Rubyの概要

  • 1-1 Rubyについて
  • 1-2 本書の読み方
  • 1-3 Rubyドキュメントの歩き方
  • 1-4 Ruby処理系の入手方法
  • 1-5 Rubyを使ってみよう
  • 1-6 コーディングスタイル
  • 1-7 複数のRuby実装
  • 1-8 Rubyのコミュニティとの関わり方
  • 1-9 Rubyの開発について知る

Part2 Ruby言語仕様
2章 Rubyの基礎

  • 2-1 Hello, Ruby
  • 2-2 変数と定数
  • 2-3 条件分岐と真偽値
  • 2-4 式
  • 2-5 クラス
  • 2-6 モジュール
  • 2-7 主な組み込みクラス
  • 2-8 様々な代入式
  • 2-9 例外
  • 2-10 外部ファイルの読み込み
  • 2-11 予約語
  • 2-12 組み込みの変数/定数

3章 制御構造/メソッド/組み込み関数

  • 3-1 演算子
  • 3-2 基本的な制御構造
  • 3-3 例外処理
  • 3-4 大域脱出
  • 3-5 メソッドの定義と呼び出し
  • 3-6 基本的な組み込み関数

4章 クラスとモジュール

  • 4-1 クラス
  • 4-2 モジュール
  • 4-3 オブジェクト

5章 主な組み込みクラス/モジュール

  • 5-1 Numeric
  • 5-2 String
  • 5-3 Regexp
  • 5-4 Comparable
  • 5-5 Enumerable
  • 5-6 Time
  • 5-7 IO/File
  • 5-8 Dir
  • 5-9 Thread
  • 5-10 Fiber
  • 5-11 Process
  • 5-12 Struct
  • 5-13 Marshal
  • 5-14 ObjectSpace

Part3 メタプログラミング
6章 Rubyのクラスオブジェクト

  • 6-1 Classクラスからクラスを作る
  • 6-2 クラスオブジェクト
  • 6-3 特異クラス
  • 6-4 メソッド探索方法
  • 6-5 Module#prepend

7章 動的なプログラミング

  • 7-1 オープンなクラス
  • 7-2 Refinements
  • 7-3 BasicObject#method_missing
  • 7-4 eval

8章 Procオブジェクト

  • 8-1 Procクラス
  • 8-2 Proc#new以外のProcオブジェクトの作り方
  • 8-3 Proc.new/Kernel.proc/Kernel.lambda
  • 8-4 Rubyでのクロージャ

9章 Methodクラス

  • 9-1 Methodオブジェクト
  • 9-2 MethodクラスとUnboundMethodクラス
  • 9-3 MethodオブジェクトとProcオブジェクト

10章 Rubyでのリフレクションプログラミング

  • 10-1 オブジェクトについて調べる
  • 10-2 クラスについて調べる
  • 10-3 Bindingに含まれる変数について調べる
  • 10-4 イベントをフックする

Part4 標準添付ライブラリ
11章 ライブラリ

  • 11-1 手軽な非同期プログラミング(fiber)
  • 11-2 ファイル/ディレクトリ操作を極める(pathname/fileutils/tmpdir/tempfile)
  • 11-3 特定のフォーマットのテキストデータを手軽に扱う(yaml/json/csv)
  • 11-4 上級者のための文字列オブジェクト(stringio)
  • 11-5 集合で遊ぶ(set)
  • 11-6 もっと詳しく,日付と時刻(time/date)
  • 11-7 シンプルなHTTPクライアント(net/http)
  • 11-8 最も基本的なテンプレートライブラリ(erb)
  • 11-9 Rubyのベンチマークを簡単に(benchmark)
  • 11-10 ログファイルを取り扱う(logger)

12章 組み込みツール

  • 12-1 irb
  • 12-2 RDoc
  • 12-3 Rake
  • 12-4 RubyGems

Part5 実践プログラミング
13章 gemパッケージの作り方

  • 13-1 雛形の生成
  • 13-2 gemspecについて
  • 13-3 gemパッケージの作成
  • 13-4 Rakeタスク
  • 13-5 C言語でライブラリの作成

14章 よく使われる標準外のツール

  • 14-1 Bundler
  • 14-2 YARD
  • 14-3 Pry
  • 14-4 Webアプリケーションを支えるライブラリ

15章 コマンドラインアプリケーション開発

  • 15-1 作成するTodo管理アプリケーションについて
  • 15-2 Todo管理アプリケーションを作成する前に
  • 15-3 CLIアプリケーションの作成
  • 15-4 データベースアクセス処理とCommandクラス
  • 15-5 コマンドラインからの引数解析
  • 15-6 Commandクラスとの結合
  • 15-7 Todo管理アプリケーションの完成とgemパッケージ化

16章 テストコード

  • 16-1 テストコードとは
  • 16-2 テスティングフレームワーク
  • 16-3 test-unitをより使いこなす
  • 16-4 まとめ