Ruby association推薦書のうちの一冊。
ついでに非常に優秀な先輩が教えてくれた、為になる技術書のうちの一冊です。
私はRubyに関わる仕事はできていませんが、1つでも、言語仕様をある程度把握したと言える言語が欲しいと思い、Goldの試験にチャレンジ中です。
ここに書かれている内容は、正直私の知っていたプログラミングとは次元が違うのではないかというのが感想です。
世のライブラリやフレームワークを作り上げる大先輩の皆さんや、職務上お世話になる尊敬している先輩方は多分これが自然と身についているのでしょう。
私とは生産性が段違いでしたし、身につければ格段のレベルアップになると確信しています。
発行年が古く、きっとRubyそのものの言語仕様もある程度変わってしまっているだろうことが一抹の不安として残りますが、試験対策としては十分なのではないかと感じています。
世にこのような書籍が出ていることに感謝します。
また、私と同じようにGoldの資格に挑戦しようと考えている人がいたら、この書籍を強くお勧めします。

無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません。
ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
メタプログラミングRuby 第2版 大型本 – 2015/10/10
Paolo Perrotta
(著),
角 征典
(翻訳)
本書はRubyを使ったメタプログラミングについて解説する書籍です。
メタプログラミングとは、「プログラミングコードを記述するコード」を記述することを意味します。
前半では、メタプログラミングの背景にある基本的な考えを紹介しながら、動的ディスパッチ、ゴーストメソッド、フラットスコープといったさまざまな「魔術」を紹介します。
後半では、ケーススタディとしてRailsを使ったメタプログラミングの実例を紹介します。
今回の改訂では、Ruby 2とRails 4に対応し、ほぼすべての内容を刷新。
Rubyを使ったメタプログラミングの魔術をマスターし、自由自在にプログラミングをしたい開発者必携の一冊です。
メタプログラミングとは、「プログラミングコードを記述するコード」を記述することを意味します。
前半では、メタプログラミングの背景にある基本的な考えを紹介しながら、動的ディスパッチ、ゴーストメソッド、フラットスコープといったさまざまな「魔術」を紹介します。
後半では、ケーススタディとしてRailsを使ったメタプログラミングの実例を紹介します。
今回の改訂では、Ruby 2とRails 4に対応し、ほぼすべての内容を刷新。
Rubyを使ったメタプログラミングの魔術をマスターし、自由自在にプログラミングをしたい開発者必携の一冊です。
- 本の長さ292ページ
- 言語日本語
- 出版社オライリージャパン
- 発売日2015/10/10
- 寸法18.3 x 1.5 x 23.4 cm
- ISBN-104873117437
- ISBN-13978-4873117430
この商品をチェックした人はこんな商品もチェックしています
ページ 1 以下のうち 1 最初から観るページ 1 以下のうち 1
商品の説明
出版社からのコメント
「訳者あとがき」より
本書は、Paolo Perrotta. Metaprogramming Ruby 2: Program Like the Ruby Pros. The Pragmatic Programmers, LLC, 2014. の全訳である。底本にはPDFファイル(P1.0版)を使用しているが、著者と話し合いながらいくつかの修正を加えている。また、日本語版の特典として、著者がオンライン雑誌『PragPub』に寄稿した記事を「付録D から騒ぎ」に収録している。
第2版になって大きく変わったのは、Ruby 2.xに対応したところだろう。新しく導入された機能を利用することで、メタプログラミングの魔術がより優雅で簡潔なものとなっている。第1版を読んだ人であっても、新しい発見があるはずだ。
第II部については、Rails のバージョンが2から4になったこともあり、ほとんどの内容が書き換えられている。すでにメタプログラミングを理解している人は、その確認の意味も込めてこちらを読んでみるといいだろう。
それから、第1版のような会話中心の楽しい本ではなく、より技術的な説明に重点を置いた内容になったところも大きな違いだ。著者によれば、登場人物であるビルのことを大嫌いな人たちがいて、そのせいで書籍の評価がよくなかったために、第2版から構成を考え直したそうだ。個人的にはビルのことが大好きだったので、彼の出番が少なくなってとてもさびしい。もし第3版があれば、もっと出番を増やしてほしいと願っている。
本書は、Paolo Perrotta. Metaprogramming Ruby 2: Program Like the Ruby Pros. The Pragmatic Programmers, LLC, 2014. の全訳である。底本にはPDFファイル(P1.0版)を使用しているが、著者と話し合いながらいくつかの修正を加えている。また、日本語版の特典として、著者がオンライン雑誌『PragPub』に寄稿した記事を「付録D から騒ぎ」に収録している。
第2版になって大きく変わったのは、Ruby 2.xに対応したところだろう。新しく導入された機能を利用することで、メタプログラミングの魔術がより優雅で簡潔なものとなっている。第1版を読んだ人であっても、新しい発見があるはずだ。
第II部については、Rails のバージョンが2から4になったこともあり、ほとんどの内容が書き換えられている。すでにメタプログラミングを理解している人は、その確認の意味も込めてこちらを読んでみるといいだろう。
それから、第1版のような会話中心の楽しい本ではなく、より技術的な説明に重点を置いた内容になったところも大きな違いだ。著者によれば、登場人物であるビルのことを大嫌いな人たちがいて、そのせいで書籍の評価がよくなかったために、第2版から構成を考え直したそうだ。個人的にはビルのことが大好きだったので、彼の出番が少なくなってとてもさびしい。もし第3版があれば、もっと出番を増やしてほしいと願っている。
著者について
Paolo Perrotta(パウロ・ペロッタ):Paolo Perrotta は、15年以上の経験がある開発者であり、ライターである。開発経験は、組み込みソフトウェア、エンタープライズソフトウェア、コンピュータゲーム、ウェブアプリケーションと幅広い。現在、ヨーロッパでアジャイルチームをメンタリングしながらノマドな生活を送っている。拠点はイタリアのボローニャ。Rubyをこよなく愛している。
登録情報
- 出版社 : オライリージャパン; 第2版 (2015/10/10)
- 発売日 : 2015/10/10
- 言語 : 日本語
- 大型本 : 292ページ
- ISBN-10 : 4873117437
- ISBN-13 : 978-4873117430
- 寸法 : 18.3 x 1.5 x 23.4 cm
- Amazon 売れ筋ランキング: - 209,481位本 (本の売れ筋ランキングを見る)
- - 704位ソフトウェア開発・言語
- カスタマーレビュー:
著者について
著者をフォローして、新作のアップデートや改善されたおすすめを入手してください。

ワイクル株式会社 代表取締役
https://www.waicrew.com
東京工業大学環境・社会理工学院 特任講師
アジャイル開発やリーンスタートアップに関する翻訳書を数多く担当し、それらの手法を企業に導入するコンサルティングに従事。東工大では、2015年度よりデザイン思考をベースにした起業家育成講義「エンジニアリングデザインプロジェクト」を共同で担当。
-
トップレビュー
上位レビュー、対象国: 日本
レビューのフィルタリング中に問題が発生しました。後でもう一度試してください。
2020年10月5日に日本でレビュー済み
Amazonで購入
初心者向けのRuby書籍はいくつかありますが、それで不足な方にはこの書籍をぜひ。
タイトルのとおりコアな部分の動作原理について書かれており、理解を深めることができます。
タイトルのとおりコアな部分の動作原理について書かれており、理解を深めることができます。
2016年5月28日に日本でレビュー済み
Amazonで購入
メタプログラミングというのが何かよく分からず購入しましたが、
ざっと読む限り、どうやら単に動的言語の性質を利用したプログラミングのことのようです。
プログラムの処理中に、定義されてたクラスに手をくわえたり、メソッドを動的に定義したり。
本書はそのようなスキルを高める入門書です。
ざっと読む限り、どうやら単に動的言語の性質を利用したプログラミングのことのようです。
プログラムの処理中に、定義されてたクラスに手をくわえたり、メソッドを動的に定義したり。
本書はそのようなスキルを高める入門書です。
2016年6月20日に日本でレビュー済み
Amazonで購入
先輩、上司、部下というストーリー仕立てが、中身がなく、こじつけが多く
必要性に首をかしげてしまうときがあります。
それでも内容は良かった
・singleton
・method_missing
・binding
・unbound
・__send__
・define_method
・メソッド実行時のブロック渡し
・eval, instance_eval, class_eval
・prepend
・refine
・self.included などのフックメソッド
これらの使いどころを主に解説してあり、
refineやprependなど比較的最近のものについても理解が得られるとおもう
必要性に首をかしげてしまうときがあります。
それでも内容は良かった
・singleton
・method_missing
・binding
・unbound
・__send__
・define_method
・メソッド実行時のブロック渡し
・eval, instance_eval, class_eval
・prepend
・refine
・self.included などのフックメソッド
これらの使いどころを主に解説してあり、
refineやprependなど比較的最近のものについても理解が得られるとおもう
2020年9月9日に日本でレビュー済み
多少、予備知識あったからだとは思うが読みやすかった。難しいと思っていたが、3日くらいで読めた。
この手のプログラミングパターン本は使いどころがよく分からないことが多い。しかし、この書籍ではビルとボブや彼らのボスとのコミュニケーションによって、コード改変前後を見比べることができる。このことによって、何よりも先にあるべき「メタプログラミングを何の問題解決に使うのか」(例:コードの反復、複雑性など)ということが頭に入ってきやすかった。Railsコミュニティがその初期バージョンから後々のバージョンに至るまでに、メタプログラミングによる解決策をどのように改善してきたかということも解説してあり、それらは好例だ。また、以前から不思議に思っていたRailsのマジックのいくつかも謎が解けた。
原著と和訳のどちらを購入するか迷ったが、和訳を買ってよかったと思う。用語の正確な和訳よりも、プログラミングイディオムの伝わりやすさを重視、よく意識して日本語訳されているようだった。そのおかげで、すらすらと読むことができた。
読みづらいと感じた方はある程度RubyでのOOPに慣れ親しんで、メタプログラミングがない世界でコーディングをする課題意識を蓄積しておくと良いと思う。また、各種Gemを利用するときに、それらが提供してくれるマジックの不思議な感覚を蓄積しておくと良いと思う。それらのコンテキストが、十分蓄積されたなと思ってから再読すると、本書の知識がすんなりと頭の中に入ってくるのではないか。
読めば間違いなく、プログラマとしての自分のキャリアアップにつながると思う。知識を固めるために復読するつもりだ。
この手のプログラミングパターン本は使いどころがよく分からないことが多い。しかし、この書籍ではビルとボブや彼らのボスとのコミュニケーションによって、コード改変前後を見比べることができる。このことによって、何よりも先にあるべき「メタプログラミングを何の問題解決に使うのか」(例:コードの反復、複雑性など)ということが頭に入ってきやすかった。Railsコミュニティがその初期バージョンから後々のバージョンに至るまでに、メタプログラミングによる解決策をどのように改善してきたかということも解説してあり、それらは好例だ。また、以前から不思議に思っていたRailsのマジックのいくつかも謎が解けた。
原著と和訳のどちらを購入するか迷ったが、和訳を買ってよかったと思う。用語の正確な和訳よりも、プログラミングイディオムの伝わりやすさを重視、よく意識して日本語訳されているようだった。そのおかげで、すらすらと読むことができた。
読みづらいと感じた方はある程度RubyでのOOPに慣れ親しんで、メタプログラミングがない世界でコーディングをする課題意識を蓄積しておくと良いと思う。また、各種Gemを利用するときに、それらが提供してくれるマジックの不思議な感覚を蓄積しておくと良いと思う。それらのコンテキストが、十分蓄積されたなと思ってから再読すると、本書の知識がすんなりと頭の中に入ってくるのではないか。
読めば間違いなく、プログラマとしての自分のキャリアアップにつながると思う。知識を固めるために復読するつもりだ。
2020年6月5日に日本でレビュー済み
Amazonで購入
初級を乗り越えたかなという程度のレベルだったので難しく感じました。
2020年12月31日に日本でレビュー済み
基本的なクラス・オブジェクトの構造、継承した時の振る舞い、メソッド参照の流れ、どのようにプログラミングを作り込むか・・・ということがライトな文体ながらかなり踏み込んで書かれた本で、Rubyの原理原則的なところから学ぶことができてよかったです。
古いバージョンですが、Ruby on Railsの基本的なところがどうやってメタプログラミングで作り込まれているかがわかって感動しました。
この本を読んでからRuby技術者認定試験のGoldの試験を受けましたが、テキストもメタプログラミングの知識がないと理解できないことが多く、この本を読んだことが大変役に立ちました。
古いバージョンですが、Ruby on Railsの基本的なところがどうやってメタプログラミングで作り込まれているかがわかって感動しました。
この本を読んでからRuby技術者認定試験のGoldの試験を受けましたが、テキストもメタプログラミングの知識がないと理解できないことが多く、この本を読んだことが大変役に立ちました。
2019年6月14日に日本でレビュー済み
メタプログラミングとは何か、どういうときに使えばいいのかの参考になります。
学ぶタイミングとしては、Rubyに限らず”プログラミング自体”に慣れ親しんでおり、Rubyをある程度知っている頃が適切かと思います。
学ぶタイミングとしては、Rubyに限らず”プログラミング自体”に慣れ親しんでおり、Rubyをある程度知っている頃が適切かと思います。