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
Tomohiro Nishimura
June 01, 2014
Technology
3.2k
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
440
まだ見ぬAPIに思いを馳せて
sixeight
0
160
復習OptionSet
sixeight
0
310
今年読んだまんが
sixeight
0
260
べんりな検索ワード
sixeight
0
270
Readable Width in action
sixeight
0
200
UIPreviewInteraction: Overview
sixeight
1
650
Accessing the Music Library
sixeight
1
2.9k
Other Decks in Technology
See All in Technology
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
1
110
しくみを学んで使いこなそう GitHub Copilot app
torumakabe
2
240
ローカルLLMとLINE Botの組み合わせ その3 / LINE DC Generative AI Meetup #8
you
PRO
0
130
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
3
180
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
3
3.7k
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
300
LLMやAIエージェントをソフトウェアに組み込むプラクティス
shibuiwilliam
1
370
あなたの『Site』はどこですか? — xREという考え方
miyamu
0
1.2k
Databricks 生成AIガバナンス実践ワークショップ / LLMOps-workshop
databricksjapan
0
110
はじめてのWDM
miyukichi_ospf
1
140
シンガポールで登壇してきます
yama3133
0
130
Foxgloveについて 実際にExtensionを開発して公開するまでの話 / About Foxglove: The Story of Developing and Releasing an Extension
ry0_ka
0
240
Featured
See All Featured
New Earth Scene 8
popppiees
3
2.4k
What's in a price? How to price your products and services
michaelherold
247
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building AI with AI
inesmontani
PRO
1
1.1k
Speed Design
sergeychernyshev
33
1.9k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
410
Optimizing for Happiness
mojombo
378
71k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
630
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
It's Worth the Effort
3n
188
29k
Technical Leadership for Architectural Decision Making
baasie
3
440
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
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
͋Γ͕ͱ͏ ͍͟͝·ͨ͠