Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Tomohiro Nishimura
1,788 views
DSLについて語るときに僕の語ること
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 116
2
/ 116
3
/ 116
4
/ 116
5
/ 116
6
/ 116
7
/ 116
8
/ 116
9
/ 116
10
/ 116
11
/ 116
12
/ 116
13
/ 116
14
/ 116
15
/ 116
16
/ 116
17
/ 116
18
/ 116
19
/ 116
20
/ 116
21
/ 116
22
/ 116
23
/ 116
24
/ 116
25
/ 116
26
/ 116
27
/ 116
28
/ 116
29
/ 116
30
/ 116
31
/ 116
32
/ 116
33
/ 116
34
/ 116
35
/ 116
36
/ 116
37
/ 116
38
/ 116
39
/ 116
40
/ 116
41
/ 116
42
/ 116
43
/ 116
44
/ 116
45
/ 116
46
/ 116
47
/ 116
48
/ 116
49
/ 116
50
/ 116
51
/ 116
52
/ 116
53
/ 116
54
/ 116
55
/ 116
56
/ 116
57
/ 116
58
/ 116
59
/ 116
60
/ 116
61
/ 116
62
/ 116
63
/ 116
64
/ 116
65
/ 116
66
/ 116
67
/ 116
68
/ 116
69
/ 116
70
/ 116
71
/ 116
72
/ 116
73
/ 116
74
/ 116
75
/ 116
76
/ 116
77
/ 116
78
/ 116
79
/ 116
80
/ 116
81
/ 116
82
/ 116
83
/ 116
84
/ 116
85
/ 116
86
/ 116
87
/ 116
88
/ 116
89
/ 116
90
/ 116
91
/ 116
92
/ 116
93
/ 116
94
/ 116
95
/ 116
96
/ 116
97
/ 116
98
/ 116
99
/ 116
100
/ 116
101
/ 116
102
/ 116
103
/ 116
104
/ 116
105
/ 116
106
/ 116
107
/ 116
108
/ 116
109
/ 116
110
/ 116
111
/ 116
112
/ 116
113
/ 116
114
/ 116
115
/ 116
116
/ 116
More Related Content
PDF
Sprocketsを捨てたい
by
Masato Noguchi
PDF
RubyとRailsのおいしい使い方
by
Satomi Tsujita
PDF
Rails あるある
by
Ryunosuke SATO
PDF
JSFとJAX-RSで作る Thin Server Architecture #glassfishjp
by
Toshiaki Maki
PDF
Reudy on Ruby1.9
by
Glass_saga
PDF
岡山のRuby勉強会(OSC広島2013)
by
Makoto Henmi
PDF
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
by
Nao Minami
PDF
僕はどうしてもLibsassが使いたかったんだ!
by
Masato Noguchi
Sprocketsを捨てたい
by
Masato Noguchi
RubyとRailsのおいしい使い方
by
Satomi Tsujita
Rails あるある
by
Ryunosuke SATO
JSFとJAX-RSで作る Thin Server Architecture #glassfishjp
by
Toshiaki Maki
Reudy on Ruby1.9
by
Glass_saga
岡山のRuby勉強会(OSC広島2013)
by
Makoto Henmi
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
by
Nao Minami
僕はどうしてもLibsassが使いたかったんだ!
by
Masato Noguchi
What's hot
PPTX
RubyとRのおいしい関係
by
sady_nitro
PDF
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
by
ShogoOkazaki
PDF
Railsチュートリアル(second)を終えて
by
Hirata Tomoko
PPTX
Railsのフロントエンド開発を考える
by
Hirata Tomoko
PPTX
Spring boot劇的ビフォーアフター
by
orekyuu
PPTX
bootsnapはどれくらい早くなるのか
by
ota42y
PPTX
CSSから国民を守る党ver2
by
akatsuki 1910
PDF
Ruby on Rails の特徴とそのエコシステム
by
Tomoya Kawanishi
PPTX
使ってみたAssets系gemの紹介
by
Takeuchi Yuichi
KEY
Yokohama.rb Kaja推薦
by
joker1007
PDF
RailsのRailから解放される始めの一歩
by
Masato Noguchi
PDF
MF GeeksNight pplogの話
by
Naoto Koshikawa
PPTX
Rails+Markdownでなにかつくる
by
Hirata Tomoko
PDF
Riot.jsと仲良くなるための僕的tips
by
Keisuke Imai
PPTX
WindowsユーザのためのRails環境構築
by
Hirata Tomoko
PDF
Rubyビジネスセミナー大阪2015
by
Satomi Tsujita
PPT
第2回モヤLT_マニモト_なかおくん
by
Norihiko Matsumoto
PDF
さわってみよう Couchbase Lite
by
ssd kfk
RubyとRのおいしい関係
by
sady_nitro
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
by
ShogoOkazaki
Railsチュートリアル(second)を終えて
by
Hirata Tomoko
Railsのフロントエンド開発を考える
by
Hirata Tomoko
Spring boot劇的ビフォーアフター
by
orekyuu
bootsnapはどれくらい早くなるのか
by
ota42y
CSSから国民を守る党ver2
by
akatsuki 1910
Ruby on Rails の特徴とそのエコシステム
by
Tomoya Kawanishi
使ってみたAssets系gemの紹介
by
Takeuchi Yuichi
Yokohama.rb Kaja推薦
by
joker1007
RailsのRailから解放される始めの一歩
by
Masato Noguchi
MF GeeksNight pplogの話
by
Naoto Koshikawa
Rails+Markdownでなにかつくる
by
Hirata Tomoko
Riot.jsと仲良くなるための僕的tips
by
Keisuke Imai
WindowsユーザのためのRails環境構築
by
Hirata Tomoko
Rubyビジネスセミナー大阪2015
by
Satomi Tsujita
第2回モヤLT_マニモト_なかおくん
by
Norihiko Matsumoto
さわってみよう Couchbase Lite
by
ssd kfk
Viewers also liked
PDF
ノベルゲーム動的演出の考え方
by
tuna cook
PDF
SimpleModeler
by
Tomoharu ASAMI
PDF
プロの無職についての考察:序
by
Koichi ITO
PDF
ORと経済学の「結婚」問題
by
Yosuke YASUDA
PDF
モテない男のソリューション -万葉恋愛メソッド-
by
sukopun
PDF
MMOGで考えるゲームデザイン
by
Katsumi Mizushima
DOC
(10)昇進管理
by
Kenta Funaki
PDF
Dslからのコードジェネレーションで楽々play開発
by
Yoshiteru Takeshita
PDF
高品質ノベルゲーム開発基盤の提案
by
Masaru Nagaku
PDF
文書をプログラムにする技術 - SimpleModeler + Mindmap & SmartDox
by
Tomoharu ASAMI
PPTX
C# linq入門 意図編
by
Fujio Kojima
PDF
「サウンドノベル」のゲーム体験
by
tuna cook
PPTX
女性にモテるためのIT系男子的部屋の片付け術
by
やまもと さをん
PDF
Leadership
by
Hisakazu Hirabayashi
PPTX
バーニングマンから考える組織論 20140223Co-Lab用
by
明弘 野村
PDF
0006
by
sts9ratm0624
PDF
Nwrノルウェースタディーツアー概要
by
nwrnet
PPTX
【Nwr】0417おしゃれな生き方
by
nwrnet
PPTX
収入と貯蓄の関係V1
by
Shimizu Hitoshi
PPT
マイケル・ポーターの『競争の戦略』を読んだら。
by
剛 大島
ノベルゲーム動的演出の考え方
by
tuna cook
SimpleModeler
by
Tomoharu ASAMI
プロの無職についての考察:序
by
Koichi ITO
ORと経済学の「結婚」問題
by
Yosuke YASUDA
モテない男のソリューション -万葉恋愛メソッド-
by
sukopun
MMOGで考えるゲームデザイン
by
Katsumi Mizushima
(10)昇進管理
by
Kenta Funaki
Dslからのコードジェネレーションで楽々play開発
by
Yoshiteru Takeshita
高品質ノベルゲーム開発基盤の提案
by
Masaru Nagaku
文書をプログラムにする技術 - SimpleModeler + Mindmap & SmartDox
by
Tomoharu ASAMI
C# linq入門 意図編
by
Fujio Kojima
「サウンドノベル」のゲーム体験
by
tuna cook
女性にモテるためのIT系男子的部屋の片付け術
by
やまもと さをん
Leadership
by
Hisakazu Hirabayashi
バーニングマンから考える組織論 20140223Co-Lab用
by
明弘 野村
0006
by
sts9ratm0624
Nwrノルウェースタディーツアー概要
by
nwrnet
【Nwr】0417おしゃれな生き方
by
nwrnet
収入と貯蓄の関係V1
by
Shimizu Hitoshi
マイケル・ポーターの『競争の戦略』を読んだら。
by
剛 大島
Similar to DSLについて語るときに僕の語ること
PPTX
Xtext入門
by
Shintaro Hosoai
PDF
Scala Daysに行ってみて - あるいはスイス旅行記 -
by
Kota Mizushima
PDF
Eclipse modeling 勉強会 dslについて
by
Akira Tanaka
PDF
Eclipse xtext 紹介
by
Akira Tanaka
PDF
Xtext 紹介
by
Akira Tanaka
PDF
RubyとDSLと メタプログラミングと
by
xiidec
PDF
DSLの使い所
by
disc99_
PDF
実践プログラミング DSL
by
Nemoto Yusuke
PDF
一口で何度もおいしい?DSL
by
You&I
PPTX
こんなGemつかってますよ話
by
Masato Mori
PDF
An engineer uses monads
by
Kousuke Ruichi
PDF
20110820 metaprogramming
by
Masanori Kado
PPT
Dsl&Builder
by
Uehara Junji
PPTX
Xtext practice
by
Shintaro Hosoai
PDF
Xtext And Grails20091218
by
Akira Tanaka
PDF
Inside of Asakusa DSL
by
Suguru ARAKAWA
PDF
『駅すぱあと』新しい開発基盤の研究 for DevLove関西
by
asatou
PDF
DSLを学ぶ - 設定式によるルールの表現を試す -
by
kumamidori
PPTX
DSLの過去と未来
by
Akio Tajima
Xtext入門
by
Shintaro Hosoai
Scala Daysに行ってみて - あるいはスイス旅行記 -
by
Kota Mizushima
Eclipse modeling 勉強会 dslについて
by
Akira Tanaka
Eclipse xtext 紹介
by
Akira Tanaka
Xtext 紹介
by
Akira Tanaka
RubyとDSLと メタプログラミングと
by
xiidec
DSLの使い所
by
disc99_
実践プログラミング DSL
by
Nemoto Yusuke
一口で何度もおいしい?DSL
by
You&I
こんなGemつかってますよ話
by
Masato Mori
An engineer uses monads
by
Kousuke Ruichi
20110820 metaprogramming
by
Masanori Kado
Dsl&Builder
by
Uehara Junji
Xtext practice
by
Shintaro Hosoai
Xtext And Grails20091218
by
Akira Tanaka
Inside of Asakusa DSL
by
Suguru ARAKAWA
『駅すぱあと』新しい開発基盤の研究 for DevLove関西
by
asatou
DSLを学ぶ - 設定式によるルールの表現を試す -
by
kumamidori
DSLの過去と未来
by
Akio Tajima
More from Tomohiro Nishimura
KEY
Rubyで始めるGTD
by
Tomohiro Nishimura
PDF
シュッとふりかえる Ruby 2.0 以降
by
Tomohiro Nishimura
PDF
逃げ道をなくすということについて、僕の持っている知見を話します。
by
Tomohiro Nishimura
KEY
Lazyselect
by
Tomohiro Nishimura
PDF
Atom ことはじめ
by
Tomohiro Nishimura
KEY
It's Mechanize for it. Ruby as a Finder.
by
Tomohiro Nishimura
KEY
2009年ふりかえり
by
Tomohiro Nishimura
KEY
Rubyist のための HTML5 入門 -Content Models-
by
Tomohiro Nishimura
KEY
Kyoto.rb
by
Tomohiro Nishimura
KEY
Introduce the Hacobu
by
Tomohiro Nishimura
KEY
Kyotorb Meetup #2
by
Tomohiro Nishimura
PDF
NoSQL を Ruby で実践するための n 個の方法
by
Tomohiro Nishimura
KEY
Vim Text Object
by
Tomohiro Nishimura
PDF
The way to the Kyoto.rb
by
Tomohiro Nishimura
PDF
Kyotorb#3
by
Tomohiro Nishimura
KEY
Boys, do LiveCoding
by
Tomohiro Nishimura
KEY
Introduce the LiveCoding
by
Tomohiro Nishimura
PDF
Kyotorb#4
by
Tomohiro Nishimura
KEY
2010年ふりかえる
by
Tomohiro Nishimura
PDF
KPTのすすめ
by
Tomohiro Nishimura
Rubyで始めるGTD
by
Tomohiro Nishimura
シュッとふりかえる Ruby 2.0 以降
by
Tomohiro Nishimura
逃げ道をなくすということについて、僕の持っている知見を話します。
by
Tomohiro Nishimura
Lazyselect
by
Tomohiro Nishimura
Atom ことはじめ
by
Tomohiro Nishimura
It's Mechanize for it. Ruby as a Finder.
by
Tomohiro Nishimura
2009年ふりかえり
by
Tomohiro Nishimura
Rubyist のための HTML5 入門 -Content Models-
by
Tomohiro Nishimura
Kyoto.rb
by
Tomohiro Nishimura
Introduce the Hacobu
by
Tomohiro Nishimura
Kyotorb Meetup #2
by
Tomohiro Nishimura
NoSQL を Ruby で実践するための n 個の方法
by
Tomohiro Nishimura
Vim Text Object
by
Tomohiro Nishimura
The way to the Kyoto.rb
by
Tomohiro Nishimura
Kyotorb#3
by
Tomohiro Nishimura
Boys, do LiveCoding
by
Tomohiro Nishimura
Introduce the LiveCoding
by
Tomohiro Nishimura
Kyotorb#4
by
Tomohiro Nishimura
2010年ふりかえる
by
Tomohiro Nishimura
KPTのすすめ
by
Tomohiro Nishimura
DSLについて語るときに僕の語ること
1.
DSLについて語るとき に僕の語ること @Sixeight 第61回 Ruby/Rails勉強会@関西
2.
まとめ • いまさら感があふれる話 • DSLで効率UP •
DSLはこわくない • やりすぎると駄目
4.
@Sixeight https://github.com/Sixeight
5.
@tomohi_ro https://twitter.com/tomohi_ro
6.
西村 友裕 にしむら ともひろ
7.
その他 • Happy Elements株式会社
(京都) • Rails (Ruby) / Unity (C#) • 鴨川シャボン玉の会 • Vim → Atom • Fragment <3
8.
その他 • Happy Elements株式会社
(京都) • Rails (Ruby) / Unity (C#) • 鴨川シャボン玉の会 • Vim → Atom • Fragment <3
10.
Instagram Mextures Tangsten & Fragment LoryStripes http://pixiteapps.com/
11.
つづきはブログで http://sixeight.hatenablog.com/ [壊しました] タグで土日以外毎日更新
12.
本題
13.
DSL
14.
Domain Specific Language
15.
–ウィキペディア ドメイン固有言語(ドメインこゆうげんご、 英: domain-specific language、DSL) とは、特定のタスク向けに設計されたコンピュー タ言語を意味する。
16.
例えば Rake
17.
desc "Install binaries" task
:install do cp FileList["bin/*"], "/usr/local/bin" end
18.
利点 • もっとも簡単な方法で記述できる • 出来ることが限定されているがゆえに安全 •
コード自体がドキュメントとしての役割を 果たすことが多い 特定の問題に特化しているから、 • • • • • • • • • • • • • •
19.
欠点 • 学習コストが高い • 応用が効かない •
問題の範囲を決めるのが難しく、特化でき ないことが多い 特定の問題に特化しているから、 • • • • • • • • • • • • • •
20.
外部?内部?
21.
外部DSL インタプリタを作るようなもの 全てが自作のDIY精神にあふれるDSL
22.
内部DSL 別の言語の構文を使って、 なんか別の言語っぽい感じにする
23.
たとえば Ruby で 内部DSLを作れば、 べんりな構文やライ ブラリが使い放題
24.
実例
25.
ActiveAdmin なんかいい感じで管理画面作ってくれるやつ
26.
ガチャを作るDSL アルバイトでも追加できるように最低限しか書けない ビジネスへの影響が大きいため内部を隠蔽するのは重要
27.
APIを定義するDSL サーバー(Ruby)側、クライアント(C#)側、ドキュメントを自動生 成する。通信不要のモックも作成し、バージョンにも対応。べんり。
28.
じ、自作…?
29.
なぜ作るのか • DSLにするとテンションが上がるから • 勉強会で自慢できるから •
そこに問題がある(ry
30.
利点を思い出そう
31.
利点 • もっとも簡単な方法で記述できる • 出来ることが限定されているがゆえに安全 •
コード自体がドキュメントとしての役割を 果たすことが多い 特定の問題に特化しているから、 • • • • • • • • • • • • • •
32.
なぜ作るのか • めんどうな業務を単純化 (簡単) •
誰がやっても同じ結果 (安全) • 読みやすく説明が不要 (ドキュメント)
33.
めんどうな業務を 単純化 新しいガチャを追加するのに Migration ファイルを作って データを追加して、Controller
と View をコピペして… 設定ファイル(DSL)を記述 簡単
34.
誰がやっても同じ結果 アルバイトにガチャの追加を頼んだら、フッターのリンクが以前の ガチャのものになっていてレアの詳細を見ることが出来なかった 設定ファイル(DSL)は本当に必要なことしか記述しなく てよいので、間違えにくいし、間違いに気づきやすい 安全
35.
誰がやっても同じ結果 アルバイトにガチャの追加を頼んだら、フッターのリンクが以前の ガチャのものになっていてレアの詳細を見ることが出来なかった 設定ファイル(DSL)は本当に必要なことしか記述しなく てよいので、間違えにくいし、間違いに気づきやすい 安全 レビューしようとい うのはまた別の問題
36.
読みやすく説明が不要 新人の人にガチャの追加方法を説明していたらお昼ごはんの時間 になっていて、戻ってきたらもう一度教えてほしいと言われる 設定ファイル(DSL)を読めばだいたい分かる コピペでもOK ドキュメント
37.
なぜ今さら 啓蒙するのか
38.
Ruby が仕事で使われるよう になって久しい今だからこそ DSLで業務を効率化しよう
39.
今だからこそ…? • 仕事で Ruby
を使うことが普通になった • 情報も参考になるコードもあふれている • 業界をリード(笑)するあの上司にも Ruby で DSL で DO すると言えば通りやすそう
40.
発表内容に困って主張を捏 造した。今は反省している。
41.
まとめ • いまさら感があふれる話 • DSLで効率UP •
DSLはこわくない • やりすぎると駄目
42.
先週も同じようなコード 書きませんでしたか
43.
それDSLでできるよ
44.
注意 例はめっちゃ適当です
45.
毎日のように似たような メソッドを書いている
46.
宣言系DSL そんなあなたに、
47.
つらい現実 人間のすることじゃない
48.
べんりな真実 そう、DSLならね
49.
宣言系DSL
50.
毎日同じ手順を 書いている
51.
操作系DSL そんなあなたに、
52.
つらい現実 エラーが起きる場所すべてにコピペ
53.
べんりな真実 そう、DSLならね
54.
操作系DSL
55.
クラスのインスタンスを組 み立てるのに苦労している
56.
設定系DSL そんなあなたに、
57.
つらい現実 めんどうだし読みにくい
58.
べんりな真実 そう、DSLならね
59.
設定系DSL
60.
routes.rb 編集して、 Controller 作って…
61.
定義系DSL そんなあなたに、
62.
つらい現実 あれをやってこれをやって
63.
べんりな真実 そう、DSLならね
64.
定義系DSL
65.
べんり
66.
まとめ • いまさら感があふれる話 • DSLで効率UP •
DSLはこわくない • やりすぎると駄目
67.
でもお高いんでしょ 開発コストが
68.
🙏
69.
作ってみましょう
70.
宣言系DSL
71.
宣言系DSL = ただのクラスメソッド
72.
オレオレattr_accessor 車輪の再発明から得られる知見もある
73.
やりたいことは インスタンス変数 を get/set するメソッドを いい感じで定義してくれる my_attr_accessor というクラスメソッドを 定義すること
74.
突然の黒魔術/ 逃げちゃ駄目だ、逃げちゃ駄目だ、逃げちゃ駄目だ
75.
define_method(name, method) define_method(name) {
… } name という名前のメソッドを定義する
76.
突然の黒魔術/ 逃げちゃ駄目だ、逃げちゃ駄目だ
77.
instance_variable_get(var) instance_variable_set(var, value) var という名前のインスタンス変数を
get/set 名前は @hoge である必要がある
78.
突然の黒魔術/ 逃げちゃ駄目だ
79.
宣言系ではけっこう使う べんり
80.
操作系DSL
81.
操作系DSL = メソッド切り出し
82.
なんかふつう ただのメソッド呼び出しなのに専用の命令に見える
83.
名前重要 見ただけで分かるメソッド名にしよう このへん
84.
設定系DSL
85.
設定系DSL = 代入
86.
config.hoge = piyo
87.
よく見るやつ いまからこのクラスを設定するんだ というのが良く伝わってよい
88.
たぶんこんな感じ .() がきもかわいい
89.
定義系DSL
90.
定義系DSL = instance_eval
91.
instance_eval {¦obj¦ …
} ブロック内の self をレシーバーに置き換える (ざっくり言うと)
92.
家にいる猫を管理したい いい例が浮かばなかった
93.
適当な実装 でもだいたいこんな感じで書きます
94.
このCatモデルを作ります ブロックの中で呼べるメソッドは Cat のインスタンスメソッド
95.
ここが本体 cat.instance_eval が全て
96.
ファイルから読み込めばそれっぽい 文字列なので instance_eval する…
97.
こういうのはどうするの method_missing で… ホワイトリストを作って undef_method
しておくと捗る
98.
🙇
99.
僕の場合
100.
手順 • 問題をみつける • 直感的に書けるまで擬似コードを書く •
擬似コード(受け入れテスト)が動くように 実装する • ユニットテストを書く
101.
テスト • DSLがバグってたら目も当てられない • 自分が安心するために書く •
黒魔術的なコードを書くのでTDDは足かせ • 完全に動作するDSLを受け入れテストとする
102.
まとめ • いまさら感があふれる話 • DSLで効率UP •
DSLはこわくない • やりすぎると駄目
103.
DSL作ってみたい いますぐ作ろう!
104.
ちょっと待って
105.
欠点を思い出そう
106.
欠点 • 学習コストが高い • 応用が効かない •
問題の範囲を決めるのが難しく、特化でき ないことが多い 特定の問題に特化しているから、 • • • • • • • • • • • • • •
107.
学習コストが高い プロジェクトのここもDSL、あっちもDSL。 ここは Rails のままで書く、ここもDSLだったわ。 べんり機能が知っている人にしか使われない。 むしろ普通に書くことも困難でプロジェクト炎上。
108.
応用が効かない たくさんの社内DSLをマスターして社内では神と呼ばれ て頼られているので、勘違いして転職してみた。 実は Rails はそんなに書けなかったので ついていこうと必死になり過労死
109.
問題の範囲があいまい べんりそうなDSLを作った。こっちもDSLにできそう なので作った。あっちも、そっちも、ここも作っとこう。 あっちとそっちのDSLの内容が微妙に被ってて どちらに書けば良いのか分からない
110.
何事も やりすぎはよくない
111.
まとめ • いまさら感があふれる話 • DSLで効率UP •
DSLはこわくない • やりすぎると駄目
112.
なんだこれ なんだこのオプション
113.
知見の共有 • 宣言系は相当すじがよくないと破綻する • よくわからん書き方が増えて混乱するだけ •
定義系は名前重要 • 学習コストを下げるには驚き最小の法則 • ドキュメント必須 • DSLの仕様は書いた本人しか知らないと思え
114.
まとめ • いまだからこそ仕事でDSL • DSLで業務を効率化 •
DSLは簡単に作れる • 用法用量をよく守りお使いください
115.
DSLとして切り出せる問題を見つけたら勝ち
116.
ありがとう ございました
Download