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
DSLについて語るときに僕の語ること
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Tomohiro Nishimura
June 01, 2014
Technology
3.2k
8
Share
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
430
まだ見ぬAPIに思いを馳せて
sixeight
0
160
復習OptionSet
sixeight
0
310
今年読んだまんが
sixeight
0
250
べんりな検索ワード
sixeight
0
270
Readable Width in action
sixeight
0
190
UIPreviewInteraction: Overview
sixeight
1
650
Accessing the Music Library
sixeight
1
2.9k
Other Decks in Technology
See All in Technology
既存プロダクトQAから新規プロダクトQAへ
ryotakahashi
0
200
A Harness for Behaviour: how to get AI to generate code that does what we intend, or "TDD in the age of AI"
xpmatteo
0
410
Amazon CloudFrontにおけるAIボットアクセス制御のポイント
kizawa2020
4
270
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
4
480
TSKaigi 2026 - 10秒のビルドを1秒へ:tsdownが切り拓く2026年のTypeScriptライブラリ開発
teamlab
PRO
2
260
生成AIに振り回されない 〜確率論と決定論の使い分け〜
shukob
0
110
TypeScriptとAngular Signal で実現する保守性の高いアプリケーション設計 - 3層アーキテクチャによる責務分離の実践(たつかわ) https://2026.tskaigi.org/talks/10
nealle
1
340
TypeScriptで実現する既存APIを活用したリモートMCPサーバー構築 / TSKaigi 2026
soarteclab
1
280
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
120
大規模環境でどのように監視を実現する?
yuobayashi
1
140
[みん強]AIの価値を最大化するデータ基盤戦略:Self-Service型Data Meshへの転換とAgentic AI Meshに向けた取り組み with Snowflake他
y_matsubara
1
180
はじめてのAI-DLC
yoshidashingo
2
520
Featured
See All Featured
The Curse of the Amulet
leimatthew05
1
12k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
370
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
360
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
140
Design in an AI World
tapps
1
210
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
190
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
140
Crafting Experiences
bethany
1
160
Unsuck your backbone
ammeep
672
58k
The SEO identity crisis: Don't let AI make you average
varn
0
470
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
͋Γ͕ͱ͏ ͍͟͝·ͨ͠