狠狠撸
Submit Search
顿厂尝の使い所
?
2 likes
?
2,526 views
disc99_
Follow
顿厂尝をどんなときに使うかという话
Read less
Read more
1 of 14
Download now
Download to read offline
More Related Content
顿厂尝の使い所
1.
顿厂尝の使い所 #ShinjukuLT @disc99
2.
もくじ ? DSLとは ? DSLの種類類 ?
DSLの利利?用例例 ? まとめ
3.
DSLとは ? ドメイン特化?言語(Domain Speci?c Language) ?
<=> 汎?用?言語(JavaやRubyなど) ? 特定の領域(ドメイン)の問題を解決 ? ミニ?言語
4.
なぜDSL? ? ドメイン特化?言語 > コードは当該分野の専?門 家にとって読みやすく理理解 しやすくなります
5.
DSLの種類類 ? 内部DSL ? 汎?用のプログラミング?言語の機能を利利?用 ?
外部DSL ? 汎?用のプログラミング?言語とは別の構?文
6.
内部DSL ? ホスト?言語(Java、Rubyなどの汎?用?言語) ? ?自由度が?高い?言語が便便利利(シンタックスシュ ガー、フォーマット、AST変換、マクロなど) ?
ホスト?言語の機能を呼び出せるものもある ? ホスト?言語の構?文の制約あり
7.
内部DSLの利利?用例例 ? Gradle: ビルドに特化(Groovy) ?
Vagrant: 仮想開発環境構築に特化(Ruby) ? Gatling: 負荷テストに特化(Scala) ? Apache Camel: 様々な処理理を連結に特化 (Java)
8.
外部DSL ? ホスト?言語の制約がほとんど無い ? 問題領域に対して最適な表現を選択できる ?
构?文解析机能が必要
9.
外部DSLの利利?用例例 ? make: ビルド?自動化に特化 ?
2Way-SQL: アプリ、ツール両?方からのSQLの 実?行行に特化 ? SQLそのものやCSSなど分類類される場合も
10.
My DSL ? Hogan ?
https://github.com/disc99/hogan ? DB操作を直感的に?行行うためのライブラリ ? DB操作に特化 ? Groovyの演算?子オーバーロードとAST変換を利利?用
11.
Hoganの利利?用例例 ? SQLテーブルっぽく構 造を定義 => INSERT実?行行
12.
コントリビュート?大歓迎!!?
13.
まとめ ? DSLは問題領域(ドメイン)に特化した?言語 ? DSLには内部DSLと外部DSLが存在する ?
どちらを使うかはドメインをどのように表現し たいか次第 ? DSLには?一定の学習コスト、メンテコストが発 ?生するので適切な使い所を考える
14.
参考 ? プログラマが知るべき97のこと:ドメイン特化?言語 ? http:// xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.co m/ %E3%82%A8%E3%83%83%E3%82%BB%E3% 82%A4/%E3%83%89%E3%83%A1%E3%82% A4%E3%83%B3%E7%89%B9%E5%8C%96%E 8%A8%80%E8%AA%9E
Download