#import "@preview/touying:0.6.1": * #import "@preview/codly:1.3.0": * #import "@preview/cjk-unbreak:0.2.0": remove-cjk-break-space, transform-childs #import "setoka.typ": * #show: codly-init.with() #show: remove-cjk-break-space #show: setoka-theme.with( aspect-ratio: "16-9", config-info( title: [ Ruby ソースコード完全解説 ], subtitle: [PHPerKaigi 2026 PHPer Book Revue], author: [nsfisis (いまむら)], date: datetime(year: 2026, month: 3, day: 21), ), config-common(preamble: { codly( fill: rgb("#eee"), lang-format: none, number-format: none, zebra-fill: none, ) }) ) #set text(font: "Noto Sans CJK JP", lang: "ja") #title-slide() --- #[ #set align(center + horizon) Ruby の言語処理系を \ ソースコードレベルで \ 詳細に解説する ] #show "完全解説": set text(font: "Noto Serif CJK JP", weight: "bold", fill: rgb("#8b0000")) #show "完全読破": set text(font: "Noto Serif CJK JP", weight: "bold", fill: rgb("#8b0000")) #show "完全理解": set text(font: "Noto Serif CJK JP", weight: "bold", fill: rgb("#8b0000")) --- #[ #set text(size: 0.75em) - 2002年出版#pause - Ruby 1.7#pause → 4.0#pause - 構文解析器: yacc → Prism#pause - 評価器: 構文木を直接評価 → YARV・JIT#pause - Fiber、Ractor、GC、Box、etc ] --- #[ #set align(center + horizon) #set text(size: 1.3em) なぜ今読むのか? ] --- #[ #set align(center + horizon) #set text(size: 0.8em) 『Rubyソースコード完全解説』は#pause \ コードリーディング完全解説だから ] --- #[ #set align(center + horizon) 初見のコードをどう読むか \ \ #pause 効率的に探し・読み・理解 ] --- #[ #set align(center + horizon) #set text(size: 0.8em) 経験豊富なプログラマが#pause \ どのようなツールで、#pause\ どのような思考過程で、#pause\ どのような仮説を立てながら\ コードを読むのか ] --- #[ #set text(size: 0.8em) == 入手方法 - 紙の書籍は絶版 - Web 上で全文公開されている https://i.loveruby.net/ja/rhg/book/ ] --- #[ #set align(center + horizon) #set text(size: 0.9em) 『Rubyソースコード完全解説』を#pause \ 完全読破して#pause \ 完全理解しよう ]