Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DSLについて語るときに僕の語ること
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tomohiro Nishimura
June 01, 2014
Technology
3.3k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DSLについて語るときに僕の語ること
Rubyが社会に浸透したいまだからこそDSLについてもう一度考えてみた
Tomohiro Nishimura
June 01, 2014
More Decks by Tomohiro Nishimura
See All by Tomohiro Nishimura
レガシーシステム洗い出し大作戦
sixeight
0
1.7k
我々のRealmはどこからやってくるのか
sixeight
1
460
まだ見ぬAPIに思いを馳せて
sixeight
0
160
復習OptionSet
sixeight
0
330
今年読んだまんが
sixeight
0
270
べんりな検索ワード
sixeight
0
280
Readable Width in action
sixeight
0
200
UIPreviewInteraction: Overview
sixeight
1
670
Accessing the Music Library
sixeight
1
3k
Other Decks in Technology
See All in Technology
Gifu WordPress Meetup #200 に向けて、私たちには何ができるだろうか?/ 2026-11-07 Gifu WordPress Meetup
torounit
0
240
超⼩型・多⾔語検索モデル Bekko Embedding
hotchpotch
1
140
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
200
大江戸Ruby会議でデータベース クライアントの話をするのは 間違っているだろうか
yahonda
1
110
cdkd (CDK Direct)
gotok365
4
280
eBPF 簡介 2026 版
shunghsiyu
0
190
re:Invent2026 事前勉強会 歴史と愉しみ方10分LT編
toshi_atsumi
0
170
プロダクションコードにおける encoding/json から encoding/json/v2 へのスムーズな移行
sansantech
PRO
1
230
なぜ東京にいる私が、新潟の技術コミュニティを運営するのか by 八雲慎之助
yakumo
0
230
In-Context Learning再入門。ICLの勾配降下的解釈の研究動向を追ってみる。
dai08srhg
1
780
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
0
220
AWSを利用する上で知っておきたい名前解決の話 2026
nagisa53
5
3.3k
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.4k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
470
We Have a Design System, Now What?
morganepeng
55
8.4k
How to make the Groovebox
asonas
2
2.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.8k
Ruling the World: When Life Gets Gamed
codingconduct
0
440
Large-scale JavaScript Application Architecture
addyosmani
516
110k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
121
130k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
470
Joys of Absence: A Defence of Solitary Play
codingconduct
1
570
エンジニアに許された特別な時間の終わり
watany
109
250k
Transcript
%4-ʹ͍ͭͯޠΔͱ͖ ʹͷޠΔ͜ͱ !4JYFJHIU ୈճ3VCZ3BJMTษڧձ!ؔ
·ͱΊ w ͍·͞Βײ͕͋;ΕΔ w %4-Ͱޮ61 w %4-͜Θ͘ͳ͍ w Γ͗͢Δͱବ
None
!4JYFJHIU IUUQTHJUIVCDPN4JYFJHIU
!UPNPIJ@SP IUUQTUXJUUFSDPNUPNPIJ@SP
ଜ༑༟ ʹ͠ΉΒͱͻΖ
ͦͷଞ w )BQQZ&MFNFOUTגࣜձࣾ ژ w 3BJMT 3VCZ 6OJUZ $
w יγϟϘϯۄͷձ w 7JNˠ"UPN w 'SBHNFOU
ͦͷଞ w )BQQZ&MFNFOUTגࣜձࣾ ژ w 3BJMT 3VCZ 6OJUZ $
w יγϟϘϯۄͷձ w 7JNˠ"UPN w 'SBHNFOU
None
*OTUBHSBN .FYUVSFT 5BOHTUFO 'SBHNFOU -PSZ4USJQFT IUUQQJYJUFBQQTDPN
͖ͭͮϒϩάͰ IUUQTJYFJHIUIBUFOBCMPHDPN <յ͠·ͨ͠>λάͰҎ֎ຖߋ৽
ຊ
%4-
%PNBJO 4QFDJpD -BOHVBHF
–ΟΩϖσΟΞ lυϝΠϯݻ༗ݴޠʢυϝΠϯ͜Ώ͏͛Μ͝ɺ ӳEPNBJOTQFDJpDMBOHVBHFɺ%4-ʣ ͱɺಛఆͷλεΫ͚ʹઃܭ͞Εͨίϯϐϡʔ λݴޠΛҙຯ͢Δɻz
ྫ͑3BLF
EFTD*OTUBMMCJOBSJFT UBTLJOTUBMMEP DQ'JMF-JTU<CJO > VTSMPDBMCJO FOE
ར w ͬͱ؆୯ͳํ๏Ͱهड़Ͱ͖Δ w ग़དྷΔ͜ͱ͕ݶఆ͞Ε͍ͯΔ͕Ώ͑ʹ҆શ w ίʔυࣗମ͕υΩϡϝϯτͱͯ͠ͷׂΛ Ռͨ͢͜ͱ͕ଟ͍ ಛఆͷʹಛԽ͍ͯ͠Δ͔Βɺ w
w w w w w w w w w w w w w
ܽ w ֶशίετ͕ߴ͍ w Ԡ༻͕ޮ͔ͳ͍ w ͷൣғΛܾΊΔͷ͕͘͠ɺಛԽͰ͖ ͳ͍͜ͱ͕ଟ͍ ಛఆͷʹಛԽ͍ͯ͠Δ͔Βɺ w
w w w w w w w w w w w w w
֎෦ʁ෦ʁ
֎෦%4- ΠϯλϓϦλΛ࡞ΔΑ͏ͳͷ શ͕ͯࣗ࡞ͷ%*:ਫ਼ਆʹ͋;ΕΔ%4-
෦%4- ผͷݴޠͷߏจΛͬͯɺ ͳΜ͔ผͷݴޠͬΆ͍ײ͡ʹ͢Δ
ͨͱ͑3VCZͰ ෦%4-Λ࡞Εɺ ΜΓͳߏจϥΠ ϒϥϦ͕͍์
࣮ྫ
"DUJWF"ENJO ͳΜ͔͍͍ײ͡Ͱཧը໘࡞ͬͯ͘ΕΔͭ
ΨνϟΛ࡞Δ%4- ΞϧόΠτͰՃͰ͖ΔΑ͏ʹ࠷ݶ͔͠ॻ͚ͳ͍ ϏδωεͷӨڹ͕େ͖͍ͨΊ෦ΛӅณ͢Δͷॏཁ
"1*Λఆٛ͢Δ%4- αʔόʔ 3VCZ ଆɺΫϥΠΞϯτ $ ଆɺυΩϡϝϯτΛࣗಈੜ ͢Δɻ௨৴ෆཁͷϞοΫ࡞͠ɺόʔδϣϯʹରԠɻΜΓɻ
͡ɺࣗ࡞ʜʁ
ͳͥ࡞Δͷ͔ w %4-ʹ͢Δͱςϯγϣϯ্͕͕Δ͔Β w ษڧձͰࣗຫͰ͖Δ͔Β w ͦ͜ʹ͕͋Δ SZ
རΛࢥ͍ग़ͦ͏
ར w ͬͱ؆୯ͳํ๏Ͱهड़Ͱ͖Δ w ग़དྷΔ͜ͱ͕ݶఆ͞Ε͍ͯΔ͕Ώ͑ʹ҆શ w ίʔυࣗମ͕υΩϡϝϯτͱͯ͠ͷׂΛ Ռͨ͢͜ͱ͕ଟ͍ ಛఆͷʹಛԽ͍ͯ͠Δ͔Βɺ w
w w w w w w w w w w w w w
ͳͥ࡞Δͷ͔ w ΊΜͲ͏ͳۀΛ୯७Խ ؆୯ w ୭͕ͬͯಉ݁͡Ռ ҆શ w
ಡΈ͘͢આ໌͕ෆཁ υΩϡϝϯτ
ΊΜͲ͏ͳۀΛ ୯७Խ ৽͍͠ΨνϟΛՃ͢Δͷʹ.JHSBUJPOϑΝΠϧΛ࡞ͬͯ σʔλΛՃͯ͠ɺ$POUSPMMFSͱ7JFXΛίϐϖͯ͠ʜ ઃఆϑΝΠϧ %4- Λهड़ ؆୯
୭͕ͬͯಉ݁͡Ռ ΞϧόΠτʹΨνϟͷՃΛཔΜͩΒɺϑολʔͷϦϯΫ͕Ҏલͷ Ψνϟͷͷʹͳ͍ͬͯͯϨΞͷৄࡉΛݟΔ͜ͱ͕ग़དྷͳ͔ͬͨ ઃఆϑΝΠϧ %4- ຊʹඞཁͳ͜ͱ͔͠هड़͠ͳ͘ ͯΑ͍ͷͰɺؒҧ͑ʹ͍͘͠ɺؒҧ͍ʹؾ͖͍ͮ͢ ҆શ
୭͕ͬͯಉ݁͡Ռ ΞϧόΠτʹΨνϟͷՃΛཔΜͩΒɺϑολʔͷϦϯΫ͕Ҏલͷ Ψνϟͷͷʹͳ͍ͬͯͯϨΞͷৄࡉΛݟΔ͜ͱ͕ग़དྷͳ͔ͬͨ ઃఆϑΝΠϧ %4- ຊʹඞཁͳ͜ͱ͔͠هड़͠ͳ͘ ͯΑ͍ͷͰɺؒҧ͑ʹ͍͘͠ɺؒҧ͍ʹؾ͖͍ͮ͢ ҆શ ϨϏϡʔ͠Α͏ͱ͍ ͏ͷ·ͨผͷ
ಡΈ͘͢આ໌͕ෆཁ ৽ਓͷਓʹΨνϟͷՃํ๏Λઆ໌͍ͯͨ͠Β͓ன͝Μͷ࣌ؒ ʹͳ͍ͬͯͯɺ͖ͬͯͨΒ͏Ұڭ͑ͯ΄͍͠ͱݴΘΕΔ ઃఆϑΝΠϧ %4- ΛಡΊ͍͍͔ͩͨΔ ίϐϖͰ0, υΩϡϝϯτ
ͳͥࠓ͞Β ܒ͢Δͷ͔
3VCZ͕ࣄͰΘΕΔΑ͏ ʹͳͬͯٱ͍͠ࠓ͔ͩΒͦ͜ %4-ͰۀΛޮԽ͠Α͏
ࠓ͔ͩΒͦ͜ʜʁ w ࣄͰ3VCZΛ͏͜ͱ͕ී௨ʹͳͬͨ w ใࢀߟʹͳΔίʔυ͋;Ε͍ͯΔ w ۀքΛϦʔυ স ͢Δ͋ͷ্࢘ʹ3VCZ Ͱ%4-Ͱ%0͢Δͱݴ͑௨Γͦ͢͏
ൃද༰ʹࠔͬͯओுΛ፻ ͨ͠ɻࠓল͍ͯ͠Δɻ
·ͱΊ w ͍·͞Βײ͕͋;ΕΔ w %4-Ͱޮ61 w %4-͜Θ͘ͳ͍ w Γ͗͢Δͱବ
ઌिಉ͡Α͏ͳίʔυ ॻ͖·ͤΜͰ͔ͨ͠
ͦΕ%4-ͰͰ͖ΔΑ
ҙ ྫΊͬͪΌదͰ͢
ຖͷΑ͏ʹࣅͨΑ͏ͳ ϝιουΛॻ͍͍ͯΔ
એݴܥ%4- ͦΜͳ͋ͳͨʹɺ
ͭΒ͍ݱ࣮ ਓؒͷ͢Δ͜ͱ͡Όͳ͍
ΜΓͳਅ࣮ ͦ͏ɺ%4-ͳΒͶ
એݴܥ%4-
ຖಉ͡खॱΛ ॻ͍͍ͯΔ
ૢ࡞ܥ%4- ͦΜͳ͋ͳͨʹɺ
ͭΒ͍ݱ࣮ Τϥʔ͕ى͖Δॴͯ͢ʹίϐϖ
ΜΓͳਅ࣮ ͦ͏ɺ%4-ͳΒͶ
ૢ࡞ܥ%4-
ΫϥεͷΠϯελϯεΛ ΈཱͯΔͷʹۤ࿑͍ͯ͠Δ
ઃఆܥ%4- ͦΜͳ͋ͳͨʹɺ
ͭΒ͍ݱ࣮ ΊΜͲ͏ͩ͠ಡΈʹ͍͘
ΜΓͳਅ࣮ ͦ͏ɺ%4-ͳΒͶ
ઃఆܥ%4-
SPVUFTSCฤूͯ͠ɺ $POUSPMMFS࡞ͬͯʜ
ఆٛܥ%4- ͦΜͳ͋ͳͨʹɺ
ͭΒ͍ݱ࣮ ͋ΕΛͬͯ͜ΕΛͬͯ
ΜΓͳਅ࣮ ͦ͏ɺ%4-ͳΒͶ
ఆٛܥ%4-
ΜΓ
·ͱΊ w ͍·͞Βײ͕͋;ΕΔ w %4-Ͱޮ61 w %4-͜Θ͘ͳ͍ w Γ͗͢Δͱବ
Ͱ͓ߴ͍ΜͰ͠ΐ ։ൃίετ͕
None
࡞ͬͯΈ·͠ΐ͏
એݴܥ%4-
એݴܥ%4- ͨͩͷΫϥεϝιου
ΦϨΦϨBUUS@BDDFTTPS ंྠͷ࠶ൃ໌͔ΒಘΒΕΔݟ͋Δ
Γ͍ͨ͜ͱ ΠϯελϯεมΛ HFUTFU͢ΔϝιουΛ ͍͍ײ͡Ͱఆٛͯ͘͠ΕΔ NZ@BUUS@BDDFTTPS ͱ͍͏ΫϥεϝιουΛ ఆٛ͢Δ͜ͱ
aಥવͷࠇຐज़ ಀ͛ͪΌବͩɺಀ͛ͪΌବͩɺಀ͛ͪΌବͩ
EFpOF@NFUIPE OBNF NFUIPE EFpOF@NFUIPE OBNF \ʜ^ OBNFͱ͍͏໊લͷϝιουΛఆٛ͢Δ
aಥવͷࠇຐज़ ಀ͛ͪΌବͩɺಀ͛ͪΌବͩ
JOTUBODF@WBSJBCMF@HFU WBS JOTUBODF@WBSJBCMF@TFU WBS WBMVF WBSͱ͍͏໊લͷΠϯελϯεมΛHFUTFU ໊લl!IPHFzͰ͋Δඞཁ͕͋Δ
aಥવͷࠇຐज़ ಀ͛ͪΌବͩ
એݴܥͰ͚ͬ͜͏͏ ΜΓ
ૢ࡞ܥ%4-
ૢ࡞ܥ%4- ϝιουΓग़͠
ͳΜ͔;ͭ͏ ͨͩͷϝιουݺͼग़͠ͳͷʹઐ༻ͷ໋ྩʹݟ͑Δ
໊લॏཁ ݟ͚ͨͩͰ͔Δϝιου໊ʹ͠Α͏ ͜ͷΜ
ઃఆܥ%4-
ઃఆܥ%4- ೖ
DPOpHIPHFlQJZPz
Α͘ݟΔͭ ͍·͔Β͜ͷΫϥεΛઃఆ͢ΔΜͩ ͱ͍͏ͷ͕ྑ͘ΘͬͯΑ͍
ͨͿΜ͜Μͳײ͡ ͕͖͔Θ͍͍
ఆٛܥ%4-
ఆٛܥ%4- JOTUBODF@FWBM
JOTUBODF@FWBM\cPCKcʜ^ ϒϩοΫͷTFMGΛϨγʔόʔʹஔ͖͑Δ ͬ͘͟Γݴ͏ͱ
Ոʹ͍ΔೣΛཧ͍ͨ͠ ͍͍ྫ͕ු͔ͳ͔ͬͨ
దͳ࣮ Ͱ͍͍ͩͨ͜Μͳײ͡Ͱॻ͖·͢
͜ͷ$BUΫϥεΛ࡞Γ·͢ ϒϩοΫͷதͰݺΔϝιου $BUͷΠϯελϯεϝιου
͕͜͜ຊମ DBUJOTUBODF@FWBM͕શͯ
ϑΝΠϧ͔ΒಡΈࠐΊͦΕͬΆ͍ จࣈྻͳͷͰJOTUBODF@FWBM͢Δʜ
͜͏͍͏ͷͲ͏͢Δͷ NFUIPE@NJTTJOHͰʜ ϗϫΠτϦετΛ࡞ͬͯVOEFG@NFUIPE͓ͯ͘͠ͱΔ
None
ͷ߹
खॱ w ΛΈ͚ͭΔ w ײతʹॻ͚Δ·ͰٖࣅίʔυΛॻ͘ w ٖࣅίʔυ ड͚ೖΕςετ ͕ಈ͘Α͏ʹ ࣮͢Δ
w ϢχοτςετΛॻ͘
ςετ w %4-͕όάͬͯͨΒͯΒΕͳ͍ w ͕ࣗ҆৺͢ΔͨΊʹॻ͘ w ࠇຐज़తͳίʔυΛॻ͘ͷͰ5%%͔ͤ w શʹಈ࡞͢Δ%4-Λड͚ೖΕςετͱ͢Δ
·ͱΊ w ͍·͞Βײ͕͋;ΕΔ w %4-Ͱޮ61 w %4-͜Θ͘ͳ͍ w Γ͗͢Δͱବ
%4-࡞ͬͯΈ͍ͨ ͍·͙͢࡞Ζ͏ʂ
ͪΐͬͱͬͯ
ܽΛࢥ͍ग़ͦ͏
ܽ w ֶशίετ͕ߴ͍ w Ԡ༻͕ޮ͔ͳ͍ w ͷൣғΛܾΊΔͷ͕͘͠ɺಛԽͰ͖ ͳ͍͜ͱ͕ଟ͍ ಛఆͷʹಛԽ͍ͯ͠Δ͔Βɺ w
w w w w w w w w w w w w w
ֶशίετ͕ߴ͍ ϓϩδΣΫτͷ͜͜%4-ɺ͋ͬͪ%4-ɻ ͜͜3BJMTͷ··Ͱॻ͘ɺ͜͜%4-ͩͬͨΘɻ ΜΓػೳ͕͍ͬͯΔਓʹ͔͠ΘΕͳ͍ɻ Ή͠Ζී௨ʹॻ͘͜ͱࠔͰϓϩδΣΫτԌ্ɻ
Ԡ༻͕ޮ͔ͳ͍ ͨ͘͞Μͷࣾ%4-ΛϚελʔͯࣾ͠ͰਆͱݺΕ ͯཔΒΕ͍ͯΔͷͰɺצҧ͍ͯ͠స৬ͯ͠Έͨɻ ࣮3BJMTͦΜͳʹॻ͚ͳ͔ͬͨͷͰ ͍͍ͭͯ͜͏ͱඞࢮʹͳΓա࿑ࢮ
ͷൣғ͕͍͋·͍ ΜΓͦ͏ͳ%4-Λ࡞ͬͨɻͬͪ͜%4-ʹͰ͖ͦ͏ ͳͷͰ࡞ͬͨɻ͋ͬͪɺͦͬͪɺ͜͜࡞ͬͱ͜͏ɻ ͋ͬͪͱͦͬͪͷ%4-ͷ༰͕ඍົʹඃͬͯͯ ͲͪΒʹॻ͚ྑ͍ͷ͔͔Βͳ͍
Կࣄ Γ͗͢Α͘ͳ͍
·ͱΊ w ͍·͞Βײ͕͋;ΕΔ w %4-Ͱޮ61 w %4-͜Θ͘ͳ͍ w Γ͗͢Δͱବ
ͳΜͩ͜Ε ͳΜͩ͜ͷΦϓγϣϯ
ݟͷڞ༗ w એݴܥ૬͕͢͡Α͘ͳ͍ͱഁ͢Δ w Α͘Θ͔ΒΜॻ͖ํ͕૿͑ͯࠞཚ͢Δ͚ͩ w ఆٛܥ໊લॏཁ w ֶशίετΛԼ͛Δʹڻ͖࠷খͷ๏ଇ w
υΩϡϝϯτඞਢ w %4-ͷ༷ॻ͍ͨຊਓ͔͠Βͳ͍ͱࢥ͑
·ͱΊ w ͍·͔ͩΒͦ͜ࣄͰ%4- w %4-ͰۀΛޮԽ w %4-؆୯ʹ࡞ΕΔ w ༻๏༻ྔΛΑ͘कΓ͓͍͍ͩ͘͞
l%4-ͱͯ͠Γग़ͤΔΛݟ͚ͭͨΒউͪz
͋Γ͕ͱ͏ ͍͟͝·ͨ͠