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
8
3.1k
DSLについて語るときに僕の語ること
Rubyが社会に浸透したいまだからこそDSLについてもう一度考えてみた
Tomohiro Nishimura
June 01, 2014
Tweet
Share
More Decks by Tomohiro Nishimura
See All by Tomohiro Nishimura
レガシーシステム洗い出し大作戦
sixeight
0
1.5k
我々のRealmはどこからやってくるのか
sixeight
1
380
まだ見ぬAPIに思いを馳せて
sixeight
0
120
復習OptionSet
sixeight
0
250
今年読んだまんが
sixeight
0
220
べんりな検索ワード
sixeight
0
230
Readable Width in action
sixeight
0
160
UIPreviewInteraction: Overview
sixeight
1
610
Accessing the Music Library
sixeight
1
2.7k
Other Decks in Technology
See All in Technology
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
540
エンジニア主導の企画立案を可能にする組織とは?
recruitengineers
PRO
1
270
技術スタックだけじゃない、業務ドメイン知識のオンボーディングも同じくらいの量が必要な話
niftycorp
PRO
0
120
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
11k
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
OPENLOGI Company Profile
hr01
0
60k
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
200
Introduction to OpenSearch Project - Search Engineering Tech Talk 2025 Winter
tkykenmt
2
140
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
170
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
1
120
Two Blades, One Journey: Engineering While Managing
ohbarye
4
2.3k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
19k
Featured
See All Featured
Bash Introduction
62gerente
611
210k
Building Adaptive Systems
keathley
40
2.4k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
KATA
mclloyd
29
14k
Typedesign – Prime Four
hannesfritz
41
2.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
580
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
A Tale of Four Properties
chriscoyier
158
23k
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
͋Γ͕ͱ͏ ͍͟͝·ͨ͠