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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Masafumi Okura
May 14, 2022
Programming
1.7k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
A technique to implement DSL in Ruby
https://techfeed.io/events/techfeed-conference-2022
Masafumi Okura
May 14, 2022
More Decks by Masafumi Okura
See All by Masafumi Okura
Ruby for complete beginners
okuramasafumi
0
30
Conference as a communication hub for all of us
okuramasafumi
0
82
Metaprogramming isn't real, it can't hurt you
okuramasafumi
0
180
Developing static sites with Ruby
okuramasafumi
1
460
Why doesn't Ruby have Boolean class - final version
okuramasafumi
0
420
Reading Rails 1.0 Source Code
okuramasafumi
0
390
RDoc meets YARD
okuramasafumi
4
290
Why doesn't Ruby have Boolean class?
okuramasafumi
0
78
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
1
120
Other Decks in Programming
See All in Programming
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
160
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
400
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
120
仕様駆動開発の消費期限
watany
20
8.9k
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
110
Go 1.27 における memory allocation の高速化
andpad
0
300
Dockerfile CMD for Node.js
grazie1999
0
120
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1k
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
270
MySQLとPostgreSQLって何が違うの?
akagami
0
130
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
150
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
370
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
250
Google's AI Overviews - The New Search
badams
0
1.1k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
480
For a Future-Friendly Web
brad_frost
183
10k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
490
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
480
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
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