パーフェクトシリーズパーフェクトRuby

書籍の概要

この本の概要

本書は1冊でRubyの言語仕様から最新の技術までを網羅した内容となっています。また,網羅的に解説されているだけでなく各技術に関しては基本からしっかり解説しており,体系的に知りたい初心者はもちろん中級者以上の方にもRubyを書く際に手元に置いておくと重宝する内容です。

Ruby 1.9.3とRuby 2.0対応。

こんな方におすすめ

  • 他のプログラミング言語を触ったことがあり,これからRubyを始めようとしている人
  • 過去にRubyは触っていたが,しばらく触っておらず,最近のRubyを学び直したい人
  • なんとなくRubyを使っているけれど,網羅的にライブラリの使い方等を確認したい人
  • 「Ruby - A Programmer's Best Friend」にグッときた人
著者プロフィール

すがわらまさのり

1982年生まれ。大学卒業後,主にBtoB向けのソフトウェア開発を行うシステムインテグレーターに就職。開発に関わったプロダクトを育てていきたいという思いと,BtoCでの仕事に就きたくて現職へ至る。
普段は主にRubyでデーモンを書いたりRuby on RailsでWebアプリケーションを書いたりしている。GitHubやTwitterではsugamasaoというアカウントで活動中。あと犬が好き。

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

1985年生まれ。2006年からプログラミングで生活している。2008年にRubyと出会い,仕事でも使いたくなる。2010年に株式会社永和システムマネジメントに転職し現在に至る。2013年に帝京大学理工学部情報科学科へ入学,学生をしつつ働いている。最近は形式言語に興味津々。好きなモジュールはComparable。GitHubアカウントはhibariya。

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

株式会社永和システムマネジメントで働くRubyプログラマ。Asakusa.rb所属。1983年生まれ。大学生時代に,偶然Rubyと出会う。入社当時はLinuxのディバイスドライバのプロジェクトでしたが,今ではRubyをメインで仕事している。コミュニティ活動ではAsakusa.rbの案内係やRails勉強会@東京のオーガナイザ,RubyistMagazineの編集をしている。GitHub上ではtakkanmで活動しており,細々と使っているライブラリのバグを見つけ,修正したりしている。

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

1984年生まれ,愛知県三河地域出身。各所のIDはudzura。業務システム→ECサイト→オンラインゲームな雑食プログラマ。Ruby暦はかれこれ5年ほどになる。
2013年現在,技術評論社WEB+DB PRESS誌にも「一歩先行くRuby」と言う連載を持っている。そちらも是非よろしくお願いしたい。好きなgem?もちろんrack,sinatra,padrinoでしょ!

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

1984年生まれ。神戸大学法学部卒。新卒で大手SI企業に就職するが,Yokohama.rbと出会いRubyコミュニティの世界に積極的に関わるようになり,もっと自分の手を動かしてシステム開発がしたいと考え転職。現在はRailsを利用した受託開発を生業としている。
関東近郊のRubyコミュニティの他,TDDやアジャイル開発の勉強会等によく参加している。TwitterやGitHubではjoker1007というアカウントで活動している。浅草在住。

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

1982年生まれ。仕事外での名前はryopeko。大学卒業後,2回の転職を経て2011年に株式会社ディー・エヌ・エーに入社し現在に至る。仕事では世界に名を馳せるPerlハッカー達に囲まれPerlのコードを書いている。Perlを知ることでRubyを知り,Rubyを知ることでPerlを知る毎日。Rubyを用いて日々の仕事を少しでも楽しく便利にするための工夫は怠らない。

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

今ホットなRubyに触れてみる
長い間,メインバージョンとしてRuby 1.8系が2013年待望のRuby 2.0をリリースしました。本稿では,今ホットなRubyについて触れていきます。

目次

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
  • 6-6 Refinements

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

  • 7-1 オープンなクラス
  • 7-2 BasicObject#method_missing
  • 7-3 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 イベントをフックする

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

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

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

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

16章 Webアプリケーション開発

  • 16-1 Webアプリケーションを取り巻く環境
  • 16-2 Todoアプリケーション 2.0.0で利用するライブラリ
  • 16-3 Webインターフェースの追加
  • 16-4 再び todoコマンド
  • 16-5 Todoアプリケーション 2.0.0 の完成