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
1
45
Writing documentation can be fun with plugin system
okuramasafumi
0
190
Alba: Why, How and What's So Interesting
okuramasafumi
0
390
Why did my proposals get rejected?
okuramasafumi
1
690
A suggestion for the future of RDoc
okuramasafumi
1
340
15 JSON serializers for Ruby
okuramasafumi
2
390
Tech Events, Should We See Them from the Outside or the Inside?
okuramasafumi
1
71
Creating gems 101
okuramasafumi
2
140
How NOT to make your DSL terrible
okuramasafumi
0
590
Other Decks in Programming
See All in Programming
フロントエンドのパフォーマンスチューニング
koukimiura
6
2.3k
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
6
1k
NEWT Backend Evolution
xpromx
1
160
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
18
9.5k
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
300
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
2
200
[SRE NEXT] 複雑なシステムにおけるUser Journey SLOの導入
yakenji
0
810
AIコーディングエージェント全社導入とセキュリティ対策
hikaruegashira
15
8.4k
Prompt Engineeringの再定義「Context Engineering」とは
htsuruo
0
110
Android 16KBページサイズ対応をはじめからていねいに
mine2424
0
730
Gemini CLI のはじめ方
ttnyt8701
1
110
Advanced Micro Frontends: Multi Version/ Framework Scenarios
manfredsteyer
PRO
0
110
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
695
190k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
760
Facilitating Awesome Meetings
lara
54
6.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Building Applications with DynamoDB
mza
95
6.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Designing for humans not robots
tammielis
253
25k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
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