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
A technique to implement DSL in Ruby
Search
Masafumi Okura
May 14, 2022
Programming
0
1.6k
A technique to implement DSL in Ruby
https://techfeed.io/events/techfeed-conference-2022
Masafumi Okura
May 14, 2022
Tweet
Share
More Decks by Masafumi Okura
See All by Masafumi Okura
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
0
16
Writing documentation can be fun with plugin system
okuramasafumi
0
160
Alba: Why, How and What's So Interesting
okuramasafumi
0
330
Why did my proposals get rejected?
okuramasafumi
1
610
A suggestion for the future of RDoc
okuramasafumi
1
250
15 JSON serializers for Ruby
okuramasafumi
2
310
Tech Events, Should We See Them from the Outside or the Inside?
okuramasafumi
1
60
Creating gems 101
okuramasafumi
1
120
How NOT to make your DSL terrible
okuramasafumi
0
500
Other Decks in Programming
See All in Programming
新しいPHP拡張モジュールインストール方法「PHP Installer for Extensions (PIE)」を使ってみよう!
cocoeyes02
0
440
Optimizing JRuby 10
headius
0
520
個人開発の学生アプリが企業譲渡されるまで
akidon0000
0
1.1k
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
200
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
520
The Nature of Complexity in John Ousterhout’s Philosophy of Software Design
philipschwarz
PRO
0
150
fieldalignmentから見るGoの構造体
kuro_kurorrr
0
120
Thank you <💅>, What's the Next?
ahoxa
1
570
AIコーディングエージェントを 「使いこなす」ための実践知と現在地 in ログラス / How to Use AI Coding Agent in Loglass
rkaga
4
1.1k
エンジニアが挑む、限界までの越境
nealle
1
290
「理解」を重視したAI活用開発
fast_doctor
0
220
Make Parsers Compatible Using Automata Learning
makenowjust
2
6.1k
Featured
See All Featured
Embracing the Ebb and Flow
colly
85
4.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.4k
Navigating Team Friction
lara
185
15k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
119
51k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Six Lessons from altMBA
skipperchong
28
3.7k
BBQ
matthewcrist
88
9.6k
Site-Speed That Sticks
csswizardry
6
510
Product Roadmaps are Hard
iamctodd
PRO
52
11k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
770
Transcript
0,63".BTBGVNJ %4-Λ࡞Δͱ͖ʹศརͳςΫχ οΫ!3VCZ 3VCZͷ্ڃςΫχοΫ
ҙɿૣޱͰ͢ɻ εϥΠυޙͰ্͛·͢ɻ ͝ҙݟ͝ײνϟοτ͔5XJUUFSͰɻ
ࣗݾհ !PLVSBNBTBGVNJ w ໊લɿେխ࢙ w ॴଐɿϑϦʔϥϯε w ׆ಈɿ,BJHJPO3BJMTͱ͍͏ΧϯϑΝϨϯεͷνʔϑΦʔΨφΠβʔͳͲ w 044ɿ"MCBʢ+40/γϦΞϥΠβ࣮ʣͳͲ
w ৄࡉIUUQTUFDIGFFEJPQFPQMF!PLVSBNBTBGVNJ
3VCZͱ͍͑ɺ%4-
3BLF 34QFD 4JOBUSB FUD
%4-Λศརʹॻ͘ํ๏Λ͝հ
ࠓճऔΓ্͛Δͷͪ͜Β
ࣗ࡞ͷΫϥεʹϚΫϩͬΆ͘ॻ ͍͍ͯ͘λΠϓʢΫϥεϚΫϩʣ
͍ํ
ಈ͖ͷ֓ཁ Ϣʔβʔઢ w Ϟδϡʔϧʢ͜͜ͰA"MCB3FTPVSDFAʣΛJODMVEF͢ΔͱΫϥε ϝιουʢΫϥεϚΫϩʣ͕Ճ͞ΕΔ w Ճ͞ΕͨΫϥεϝιουʢ͜͜ͰABUUSJCVUFTAͳͲʣΛݺͿ͜ ͱͰΫϥε෦ʹใ͕ੵ͞ΕΔ w Πϯελϯεϝιουʢ͜͜ͰATFSJBMJ[FAʣΛݺͿ͜ͱͰɺੵ
͞ΕͨใͱҾͷΦϒδΣΫτʢ͜͜ͰAVTFSAʣ͔ΒಘΒΕ ͨใͱ߹Θͤͯతͷ+40/Λऔಘ͢Δ
෦ͷಈ࡞ ࣮ࡍͷίʔυޙͰڞ༗͢ΔࢀߟࢿྉΛݟͯͶ w ϞδϡʔϧAJODMVEFEAϑοΫΛఆٛ͠ɺͦͷதͰΠϯελϯεϝιο υͱΫϥεϝιουΛಉ࣌ʹՃ͠͞ΒʹԼهͷΫϥεΠϯελϯεม ͷॳظΛઃఆ͢Δ w Ճ͞ΕͨΫϥεϝιουΛݺͿͱΫϥεΠϯελϯεมʢ3VCZͰ ΫϥεΦϒδΣΫτͳͷͰΠϯελϯεมΛ࣋ͯΔʣ͕ઃఆ͞ΕΔ w
ΫϥεͷAJOJUJBMJ[FAϝιουͰࣗͷΫϥεʹઃఆ͞Ε͍ͯΔΫϥε ΠϯελϯεมΛऔΓग़͠ɺΠϯελϯεͷΠϯελϯεมʹઃఆ ͢Δ
՝
ઃఆ͢Δ͖ΫϥεΠϯελϯε มͷ߲ͱॳظ͕ࢄΒΔ
ΫϥεͷܧঝΛߟ͑Δͱ͞Βʹ ͍͜͠
ΫϥεΠϯελϯεม͕ؔΘΔՕॴ w "MCB3FTPVSDF͕JODMVEF͞Εͨͱ͖ʹݩΫϥεʹΫϥεΠϯελ ϯεมΛॳظͱͱʹઃఆ w "MCB3FTPVSDFΛJODMVEFͨ͠Ϋϥε͕ΠϯελϯεԽ͞Εͨͱ͖ ʹΫϥεͷΫϥεΠϯελϯεมΛΠϯελϯεͷΠϯελϯε มʹઃఆ w "MCB3FTPVSDFΛJODMVEFͨ͠ΫϥεΛܧঝͨ͠ͱ͖ɺΫϥεͷ
ΫϥεΠϯελϯεมΛࢠΫϥεʹίϐʔ
ղܾࡦ
ࠓͷςΫχοΫ ఆΛ͓͏ฤ w ࢄΒͬͨใΛू͢ΔͷʹఆΛ͏ w 3VCZͷఆൣғ͔ΒࢀরՄೳͰɺωετͨ͠ϋογϡͷΑ͏ͳ ෳࡶͳߏΛอ࣋Ͱ͖ΔͷͰศར w ఆʹ֨ೲ͞ΕͨॳظΛઃఆ͍ͨ͠߹ɺADMPOFA·ͨAEVQAΛ Θͳ͍ͱෳͷΦϒδΣΫτ͕ಉҰͷϝϞϦྖҬΛࢀরͨ͠Γมߋ
ͨ͠Γͯ͠όάʹͳΔͷͰؾΛ͚ͭΑ͏ w
ࠓͷςΫχοΫʢʣ ϝλϓϩάϥϛϯάฤ w େྔͷΠϯελϯεมΛઃఆ͍ͨ͠ͱ͖ϧʔϓͷதͰ AJOTUBODF@WBSJBCMF@TFUA͢Δͱศར w AJODMVEFEAͱAJOIFSJUFEAϑοΫΛΈ߹ΘͤΔ͜ͱͰ͍উखͷ ྑ͍%4-ΛఏڙͰ͖Δ
3VCZͰָ͍͠%4-ϥΠϑΛʂ
ࢀߟࢿྉ w IUUQTHJUIVCDPNPLVSBNBTBGVNJBMCB