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
ryufuta
September 06, 2025
Programming
54
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
メタプログラミングRuby 輪読会 etc.の紹介/fbc-event-expo-2025
ryufuta
September 06, 2025
More Decks by ryufuta
See All by ryufuta
迷ってたけど行って良かったRubyKaigi/rubykaigi-fbc-event
ryufuta
1
25
Other Decks in Programming
See All in Programming
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.5k
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
180
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
180
Oxcを導入して開発体験が向上した話
yug1224
4
340
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
7k
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.5k
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
560
Lessons from Spec-Driven Development
simas
PRO
0
220
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
230
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
360
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
300
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
770
Featured
See All Featured
Between Models and Reality
mayunak
4
350
Site-Speed That Sticks
csswizardry
13
1.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
400
Code Review Best Practice
trishagee
74
20k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
Producing Creativity
orderedlist
PRO
348
40k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
300
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
310
Test your architecture with Archunit
thirion
1
2.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
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 の計算だけで動いて いることを実感でき て楽しいです •
ひとりで読むにはと ても難しい本なので 助かってます
ご清聴ありがとうございました