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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
1.1k
How to stabilize UI tests using XCTest
akkeylab
0
140
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
320
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
170
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
180
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
980
Understanding Apache Lucene - More than just full-text search
spinscale
0
140
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
180
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
120
Nuxt Server Components
wattanx
0
110
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
400
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
130
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Rails Girls Zürich Keynote
gr2m
96
14k
Fireside Chat
paigeccino
42
3.8k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
220
BBQ
matthewcrist
89
10k
30 Presentation Tips
portentint
PRO
1
260
Site-Speed That Sticks
csswizardry
13
1.1k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
220
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Facilitating Awesome Meetings
lara
57
6.8k
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 の計算だけで動いて いることを実感でき て楽しいです •
ひとりで読むにはと ても難しい本なので 助かってます
ご清聴ありがとうございました