Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
メタプログラミングRuby輪読会etc.の紹介/fbc-event-expo-2025
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ryufuta
September 06, 2025
Programming
1
47
メタプログラミングRuby 輪読会 etc.の紹介/fbc-event-expo-2025
ryufuta
September 06, 2025
Tweet
Share
More Decks by ryufuta
See All by ryufuta
迷ってたけど行って良かったRubyKaigi/rubykaigi-fbc-event
ryufuta
1
23
Other Decks in Programming
See All in Programming
CSC307 Lecture 15
javiergs
PRO
0
260
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
610
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
290
Understanding Apache Lucene - More than just full-text search
spinscale
0
140
Ruby and LLM Ecosystem 2nd
koic
1
1.3k
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
150
20260320登壇資料
pharct
0
120
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
300
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
790
The free-lunch guide to idea circularity
hollycummins
0
340
How to stabilize UI tests using XCTest
akkeylab
0
140
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
220
Featured
See All Featured
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
300
Are puppies a ranking factor?
jonoalderson
1
3.1k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
160
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
150
Making Projects Easy
brettharned
120
6.6k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
240
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Building AI with AI
inesmontani
PRO
1
820
Utilizing Notion as your number one productivity tool
mfonobong
4
270
Optimizing for Happiness
mojombo
378
71k
WENDY [Excerpt]
tessaabrams
9
37k
Transcript
メタプログラミングRuby 輪読会 etc.の紹介 フィヨルドブートキャンプ 定期イベントEXPO 2025 @ryufuta
自己紹介 • リュウ(@ryufuta) • FBC入会2年 • 現在のプラクティス:チーム開発 • 前職:SIerの研究員(コードは書かず、ほぼコンサル) •
趣味:技術書や数学書を読むこと(輪読会も趣味でやってます)
紹介する輪読会 • メタプログラミングRuby輪読会 ← これがメイン • Good Code, Bad Code輪読会
← 共同主催 • Nand2Tetris本輪読会 ← @kitarouさん主催(私はサブ)
はじめに • どれも初心者向きではないです • 現在の参加者はプラクティス終盤の人・実務経験者ばかり • 初心者お断りではないので、1回だけ覗きにくるのでも全然OK • すぐプログラミングに役立つタイプの本ではないかも •
積んでしまうのでそういう本こそ輪読会で読みたいという思いがあり ます • 予習・復習は不要 • 私はしっかり復習・深掘りするタイプですが、取り組み方は参加者そ れぞれなのでご安心ください
メタプログラミングRuby輪読会 • Rubyの「魔術」を紹介する本 • 毎週木曜日15:00~16:00 • 進捗 • 2025/7/10に開始して来週9回目 •
全13章のうち2章の中盤 • 想定読者 • チェリー本はだいたい理解しているというレ ベルでないとついていけないかも。。。 • 後半はRailsを学んでいる前提
メタプログラミングとは? 当初の自分の浅い理解 • コードを記述するコードを記述すること • Railsとかのgemで使われている上級者向けテクニック
メタプログラミングの例 メタプログラミング不使用 メタプログラミング(ActiveRecord)使用 ※コードは書籍から引用
選書理由 • Railsがブラックボックスで辛いのを何とかしたい • メタプロが使われてるらしいのでそこを理解すればわかるかも • メタプログラミングへの憧れ • 巷で「魔術」と呼ばれるものがどんなものなのか知りたい •
『ハッカーと画家』に「メタプログラミングが生産性を上げる」的な ことが書いてあった • その後、「実務でメタプロを使ってはいけない」と学んだ。。。 • 中上級者向けの書籍を読むための準備 • 『Rubyのしくみ』、『研鑽Rubyプログラミング』
序盤まで読んだ感想 • メタプログラミングは意外と身近にあった • 厳密な定義は「言語要素を実行時に操作するコードを記述すること」 • `”hello”.class` (=> `String`) みたいなのもメタプロ
• RubyとRailsを「楽に」理解できるようになりそう • 「メタプログラミングを学習すると、いくつかの簡単なルールでRuby の複雑な動作が実現されていることがわかる」的なことが書いてある • 本の語り口は易しいので読みやすい
これからのご参加も歓迎 • まだ序盤なので追いつけます • RubyやRailsを学んだけどわかった気になれない人、仕組みから 学びたい人におすすめ(たぶん) • Ruby Gold試験対策にもなります
Good Code, Bad Code輪読会 • 『リーダブルコード』の現代版・発展版 といった感じの本 • 毎週日曜日9:00~10:30 •
進捗 • 2024/11/17に開始して明日34回目 • 全11章のうち8章の序盤 • 想定読者 • オブジェクト指向プログラミングのプラクテ ィスを修了した人なら何とかついていけるか • 静的型付け言語を全く知らないと難しいかも
進め方 • FBC内の一般的な輪読会と同じ • 毎回進行役を決める • 参加者が分担して音読する • 疑問点・意見があれば共有する •
コード例が静的型付け言語なので適宜Rubyに翻訳しながら読む のが特徴的
輪読会の雰囲気・参加メリット • 会の終了後に30分~1時間雑談することが多いです • 本の内容はハードでも、雰囲気はゆるい? • 休日に早起きして勉強できます
Nand2Tetris本輪読会 • コンピュータをシミュレータ上で一から 作って理解しようという本 • 毎週土曜日8:00~9:00 • 進捗 • 2025/3/22に開始して来週13回目
• 全13章のうち2章の終盤 • 想定読者 • プログラミング経験は少しあれば十分 • 『プログラマの数学』レベルの数学(特に 論理学)を理解していないと難しいかも
• 実装パートはモブプ ロ形式でワイワイ進 めています • コンピュータが0と1 の計算だけで動いて いることを実感でき て楽しいです •
ひとりで読むにはと ても難しい本なので 助かってます
ご清聴ありがとうございました