1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
#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 \
完全理解しよう
]
|