メタプログラミングRuby 第2版
Paolo Perrotta, 角 征典オライリー・ジャパン292ページISBN 9784873117430
Rubyタグで2位(23冊中)。Zenn・Qiitaなどの12記事で紹介され、全期間では同率64位(言及のある1,753冊中、時点)。
- 紹介記事
- 12件
- 媒体別
- Qiita 2・企業テックブログ 10
- 初めての紹介
- 最新の紹介
この本を選ぶ前に
- 出版年
- ・第2版(約11年前)
- タグ内の順位
- Rubyタグで2位(23冊中・紹介記事数の順)
- 代わりの本
Rubyタグで、この本より新しく紹介記事の多い本
紹介の推移
2017年上期から2026年上期までの19期のうち10期で紹介されています。直近の2026年上期は紹介がありませんでした(本を紹介した記事は93記事)。
数値を表で見る
| 期間 | この本 | 全体 | 割合 |
|---|---|---|---|
| 2026年上期 | 0記事 | 93記事 | 0% |
| 2025年下期 | 1記事 | 137記事 | 1%未満 |
| 2025年上期 | 0記事 | 127記事 | 0% |
| 2024年下期 | 0記事 | 160記事 | 0% |
| 2024年上期 | 1記事 | 120記事 | 1%未満 |
| 2023年下期 | 0記事 | 132記事 | 0% |
| 2023年上期 | 1記事 | 93記事 | 1% |
| 2022年下期 | 0記事 | 95記事 | 0% |
| 2022年上期 | 1記事 | 71記事 | 1% |
| 2021年下期 | 1記事 | 68記事 | 1% |
| 2021年上期 | 1記事 | 47記事 | 2% |
| 2020年下期 | 0記事 | 67記事 | 0% |
| 2020年上期 | 1記事 | 37記事 | 3% |
| 2019年下期 | 1記事 | 40記事 | 3% |
| 2019年上期 | 0記事 | 27記事 | 0% |
| 2018年下期 | 2記事 | 14記事 | 14% |
| 2018年上期 | 0記事 | 9記事 | 0% |
| 2017年下期 | 0記事 | 14記事 | 0% |
| 2017年上期 | 2記事 | 9記事 | 22% |
「全体」は、その期に公開され、いずれかの本を紹介した記事の数(ZennとQiitaへの同時投稿は1本と数える)。
紹介している記事
いいね数順 · 12件記事ごとの説明は、記事本文のうちこの本に触れた部分をAIが要約したもので、筆者の原文ではありません。
- Ruby、Rails を学ぶ上でのおすすめの本まとめ Qiita · longtime1116 · · いいね 4
メタプログラミングという切り口からRubyの言語仕様を学べる本として紹介している。特に、継承ツリーや特異クラス、include/extendを扱うクラス定義の説明が最も分かりやすかったと評価する。また、「ブロックがクロージャである」という表現を直感的に理解できるようになったとしている。
- メタプログラミングRuby クラス定義について Qiita · 石田 佳介 · · いいね 3
「木曜日:クラス定義」の章を取り上げ、クラス定義内ではクラスがカレントオブジェクトとなることや、クラスインスタンス変数の振る舞いをコード例で説明している。さらに、特異メソッドと特異クラス、継承時のメソッド探索を解説し、特異クラスのスーパークラスがスーパークラスの特異クラスとなる配置によって、子クラスからクラスメソッドを呼び出せると述べている。この章は本の中で最も難しく、抽象的な話が多いため自身にはとても難しく感じられたとしている。
- 【エンジニアの日常】エンジニア達の人生を変えた一冊 Part5 企業テックブログ · Findy ·
前職で、gemやRailsの挙動を理解するには必要だと上司に勧められて読んだ。オブジェクトモデルや動的メソッド定義、Railsでの事例を扱い、gemのコードリーディングへの抵抗がなくなり、自作gemのリリースにもつながったという。第3章を柱と位置づけ、2章あたりで挫折した人にも3章までは読むよう勧めている。
- Rubyに慣れてきたので、メタプログラミングRuby第2版を読んでみた 企業テックブログ · YOUTRUST ·
Rubyに慣れてきた段階で読み、メタプログラミングを「言語要素を実行時に操作するコードを記述すること」とする定義をActive Recordの例で紹介している。自社コードでdefine_methodを使った箇所も取り上げた。メソッド呼び出し時に何が起きるかが丁寧に説明され、Rubyの仕組みが理解できたとし、Rubyに慣れてさらに深く理解したい人に向くとしている。
- Rubyのメタプログラミング問題集をブラッシュアップした話 企業テックブログ · SmartHR ·
社内の読書会で毎週問題を作り参加者に解いてもらう形にしたところ、通読だけより内容が身についたと感じている。この問題集をRuby 3.2対応にし、章ごとの入門問題と解答例・解説を加えて、一人でも解ける教材に整えた。問題は章に対応するが、一部は後の章の知識が必要なため、6章まで通読してから取り組むよう勧めている。
- 技術書・OSSの輪読会 "junior_workshop" を1年続けたのでふりかえる 企業テックブログ · エニグモ ·
筆者の社内の若手勉強会では1週に1章ずつ輪読した。各週で内容をまとめるドキュメントの担当者を決め、分からなかった点や気づいた点を質疑応答で話し合う形式で進めた。参加者からは、疑問点を質問し合うことで一人で読むより理解度が上がったという声があったとしている。
- メドピアで開催している社内読書会と社内読書分科会について 企業テックブログ · メドピア ·
筆者の社内では、この本を題材にした読書会をすでに開催している。筆者は良い本だと考えており、最近入社したエンジニアにも読んでほしいが、読了済みの人が多く次の題材選定で優先順位が下がってしまうという。そこで通常の読書会とは別に、予習を前提に30分で感想を話す分科会でも取り上げ、書いたコードを比べ合ったとしている。
- SmartHRでのメタプログラミングRuby読書会と、その成果物 企業テックブログ · SmartHR ·
- 現役エンジニアが選ぶ・Rubyを使った開発業務に役立つ書籍4冊 企業テックブログ · paiza ·
Rubyエンジニアに一度は読んでほしい本として挙げている。Rubyにとってメタプログラミングは当たり前の機能なので、Rubyに慣れてきた人なら理解しやすい内容で、難しい話は多くなく、ストーリー形式でテンポよく学べるとしている。メタプログラミングは難しそうと感じている人ほど読んでほしいと述べている。
- 新人エンジニア達がメタプログラミング Ruby の読書感想会をやった話 企業テックブログ · フィードフォース ·
筆者ら新人エンジニア3名は、研修の一環としてこの本を読んだ。初心者にはかなり難しい内容のため、理解度の確認も兼ねて社内で読書感想会を開き、5日に分けて毎日1時間、1章ずつ進めた。言語化することで曖昧な理解が明確になり、他のメンバーの視点や先輩の補足も得られたという。筆者は、メタプログラミングというものは存在しない、すべてただのプログラミングだという一文に感銘を受けたと述べている。
- 2017新卒に捧ぐ!俺のお勧め技術書!! 企業テックブログ · Adways ·
サーバーサイドエンジニアのKさんは、実践ではほぼ使えないテクニックが満載で避ける人が多い本だとしつつ、そのテクニックを知るとRubyがどう動いているかを垣間見られると述べている。何度もうなずかされ、プログラミングがより楽しくなるとし、読了後にはRubyの定数ツリーがそびえ立っているはずだとしている。
- 「メタプログラミング Ruby」ことはじめ〜開発本部・ TechLunch〜 企業テックブログ · メドレー ·
社内勉強会でこの本をベースに、メタプログラミング入門として発表した。RubyやRailsの内部を理解するには言語仕様の知識が重要だという背景から、本が示すオブジェクトモデルのルールと、メソッド探索でメソッドが見つからない場合に呼ばれるBasicObject#method_missingの仕組みを紹介している。発表の裏テーマはRubyが得意でない人にこの本を読みたくさせることで、発表後に本の話題が出たと述べている。
この本について
Rubyで、コードを生成・操作するメタプログラミングの仕組みと使い方を学ぶ書籍である。前半はオブジェクトモデル、動的メソッド、ゴーストメソッド、ブロックとクロージャ、DSL、クラス定義、特異メソッド、特異クラス、eval、フックメソッドを扱う。クラス定義内ではクラスがカレントオブジェクトとなり、クラスインスタンス変数はそのクラスオブジェクトに属する。特異クラスが特異メソッドを置く場所であることや、継承時のメソッド探索も説明する。後半はRailsを題材に、Active Recordの構成やオートローディング、Validations、ActiveSupport::Concernの仕組みを追い、Rubyのメタプログラミングがフレームワークでどう使われるかを示す。
出版社の内容紹介・目次と紹介記事をもとにAIが要約したものです。原文の転載ではありません。
目次(主な章)
出典: 出版社の書籍ページ (章の見出しのみ)
- 1章 頭文字M
- 2章 月曜日:オブジェクトモデル
- 3章 火曜日:メソッド
- 4章 水曜日:ブロック
- 5章 木曜日:クラス定義
- 6章 金曜日:コードを記述するコード
- 7章 エピローグ
- 8章 Railsツアーの準備
- 9章 Active Recordの設計
- 10章 Active SupportのConcernモジュール
- 11章 alias_method_chainの盛衰
- 12章 アトリビュートメソッドの進化
- 13章 最後の教訓
- 付録A よくあるイディオム
- 付録B ドメイン特化言語
- 付録C 魔術書
- 付録D から騒ぎ