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
Comment that actually works
Search
Masafumi Okura
November 16, 2022
Programming
1
170
Comment that actually works
https://icare.connpass.com/event/261601/
【iCARE Dev Meetup #36】Rejected CFP 供養会 2022
での発表資料です。
Masafumi Okura
November 16, 2022
Tweet
Share
More Decks by Masafumi Okura
See All by Masafumi Okura
Why doesn't Ruby have Boolean class - final version
okuramasafumi
0
330
Reading Rails 1.0 Source Code
okuramasafumi
0
300
RDoc meets YARD
okuramasafumi
4
180
Why doesn't Ruby have Boolean class?
okuramasafumi
0
24
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
1
58
Writing documentation can be fun with plugin system
okuramasafumi
0
210
Alba: Why, How and What's So Interesting
okuramasafumi
0
420
Why did my proposals get rejected?
okuramasafumi
1
750
A suggestion for the future of RDoc
okuramasafumi
1
440
Other Decks in Programming
See All in Programming
CSC509 Lecture 03
javiergs
PRO
0
340
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
260
Introduce Hono CLI
yusukebe
6
2.9k
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
410
理論と実務のギャップを超える
eycjur
0
140
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
15
6k
One Enishi After Another
snoozer05
PRO
0
130
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
250
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
120
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
290
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
130
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
200
Featured
See All Featured
A designer walks into a library…
pauljervisheath
209
24k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
35
6.1k
Making Projects Easy
brettharned
120
6.4k
Become a Pro
speakerdeck
PRO
29
5.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
YesSQL, Process and Tooling at Scale
rocio
173
14k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Into the Great Unknown - MozCon
thekraken
40
2.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Transcript
ಈ࡞͠ͳ͍ίϝϯτ ͨͩͷίϝϯτͳͷͰ ಈ࡞͢ΔίϝϯτΛ࡞ͬͨ ʲiCARE Dev Meetup #36ʳRejected CFP ڙཆձ 2022
OKURA Masafumi, 2022-11-16
RubyKaigi
ϓϩϙʔβϧ
མͪͨʘ(^o^)ʗ
༨ஊ
ϓϩϙʔβϧ બͿଆେม
མͪΔʹѱ͍ Ͱͳ͍
ؓٳ
ࣗݾհ • ໊લɿେխ࢙ʢ͓͓͘Β·͞;Έʣ • ॴଐɿϑϦʔϥϯε • ՝֎׆ಈɿKaigi on RailsɺAlbaɺGrow.rbͳͲ •
झຯɿᘖᘣɺOSSɺొஃɺίϛϡχςΟࢀՃͳͲ
͓ɿಈ࡞͢ΔίϝϯτΛ࡞ͬͨ 1.ͳͥ࡞Ζ͏ͱࢥͬͨͷ͔ʁ 2.ͲͷΑ͏ʹ࣮ͨ͠ͷ͔ʁ 3.ΞΠσΞΛࢥ͍͖ͭɺ࣮ݱ͢Δ·Ͱ
ಈ࡞͢Δίϝϯτ
Xa https://github.com/ okuramasafumi/xa
eXecutable annotation
1. ͳͥ࡞Ζ͏ͱ ࢥͬͨͷ͔
ͦΕɺίϝϯτ ͡Όͳͯ͘ Α͘ͳ͍ʁ
ྫɿ ʮ͜ͷΫϥεΛܧঝͨ͠ αϒΫϥεfooϝιουΛ ΦʔόʔϥΠυ͢Δ͜ͱʯ
ίϝϯτ͕ ͋ͬͯ ಡ·ΕΔͱ ݶΒͳ͍
ίϝϯτͷࢦࣔ ಈ࡞͠ͳ͍
ಈ࡞͢Δίϝϯτ ͱʁ
DSLͱͯ͠ͷ ίϝϯτ
Rubyͷදݱྗ ͳΒՄೳͰʁ
2. ͲͷΑ͏ʹ ࣮ͨ͠ͷ͔
ΤσΟλ
3. ΞΠσΞΛ ࢥ͍͖ͭɺ ࣮ݱ͢Δ·Ͱ
ΞΠσΞΛ࣮ݱ͢ΔͨΊͷώϯτ I.ࠣࡉͳಈػΛେʹ͢Δ II.ݴޠΛΑ͘ཧղ͢Δ III.࡞Γଓ͚Δ
ⅰ. ࠣࡉͳಈػΛ େʹ͢Δ
ࢥ͍͖ͭ
ཱͪ
ࣗҰਓͰ ͳ͍ͷ͔ʁ
PoC (Proof of Concept)
࣌ؒͰ ࡞ͬͯΈΔ
ⅱ. ݴޠΛΑ͘ ཧղ͢Δ
ݴޠ࠷ جຊతͳπʔϧ
XaʹඞཁͩͬͨRubyͷࣝ • ϒϩοΫͷதΛઐ༻ͷධՁΦϒδΣΫτͰinstance_eval͢Δ͜ͱ ͰɺͦͷΦϒδΣΫτͷதʹཁૉΛด͡ࠐΊΔ͜ͱ͕Ͱ͖Δ • ϝιουݺͼग़ׅ͠ހ͕লུͰ͖Δ • ฏจͬΆ͍ݟ࣮ͨݱͰ͖Δ • TracePointΛ͑DSLͷ༰Λޙ͔ΒݕূͰ͖Δ
Ruby͍͢͝
ݴޠΛΑ͘ཧղ ͍ͯ͠ͳ͍ͱ ࡞Εͳ͍ͷ͋Δ
ⅲ. ࡞Γଓ͚Δ
Xa͕ࣗ࡞ͬͨ ͍͍ͩͨ7ݸ ͘Β͍ͷgem
࡞͖ͬͯͨgemͷҰ෦ • YusoɿӡૹྉۚσʔλϕʔεɺॳΊͯ࡞͕ͬͨϝϯς͞Εͯͳ͍ • AlbaɿJSONγϦΞϥΠβɺද࡞ • rubocop-sensibleɿRuboCopͷطఆͷઃఆΛஔ͖͑Δ • necoɿίϚϯυύλʔϯͷ࣮ɺվमத •
tiny_hooksɿίʔϧόοΫ࣮ɺActiveSupportΑΓ͔ͳΓ͍
౷Ұੑͳ͍
͋Ε͜Εࢼ͢
ද࡞ͷAlba ଟ4ͭ ͘Β͍ͷgem
࡞Γଓ͚Δ
·ͱΊ
ΞΠσΞΛܗʹ ͢ΔͨΊʹඞཁͳ ͷ
ΞΠσΞͦͷͷ
ٕज़
ҙࢥ
ͬͯΈΑ͏ʂ
Happy hacking!