タグ

dslに関するlizyのブックマーク (57)

  • Smashtest - スピードに特化した新たなWebアプリテスト用DSL

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Smashtest - スピードに特化した新たなWebアプリテスト用DSL
  • 第35回 Perlによる内部DSLの作り方(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはcpanクライアントApp::cpmの開発などで知られる鍛治匠一さんで、テーマは「Perlによる内部DSLの作り方」です。 DSLとは DSL(Domain Specific Language、ドメイン特化言語)とは、ある特定の問題領域に特化したコンピュータ言語のことで、汎用的なコンピュータ言語と対比されます。たとえば、 リレーショナルデータベースへの問い合わせに特化したSQL ビルド手順記述に特化したMakefile cpanモジュール依存記述に特化したcpanfile などがDSLです。 DSLの利点 ではDSLの利点は何でしょうか。次の点が挙げられると思います。 簡潔である 適切なDSLを用いれば、問題を簡潔に記述できます。その結果わかりやすくなり、その問題の重要な部分に集中できます。 クールである 簡潔

    第35回 Perlによる内部DSLの作り方(1) | gihyo.jp
  • http://codenize.tools/

    lizy
    lizy 2015/02/25
    いろいろなものをDSLで設定するプロジェクト?
  • DSLについて語るときに僕の語ること

    Rubyが社会に浸透したいまだからこそDSLについてもう一度考えてみた

    DSLについて語るときに僕の語ること
  • QuerydslでJPAが思ったよりも捗る - 水まんじゅう2

    先日、 [twitter:@seratch]さんから教えていただいたQuerydslがすごい良かったので記事として書きます。 http://www.querydsl.com/ JPAにおける課題 JPAではJPQLとCriteriaという二つのクエリ記述言語があります。 しかしながら、それぞれ使い勝手という意味では難のあるものでした。 JPQL JPQLは以下のような、SQLライクなクエリ記述言語です。 select new com.github.megascus.EmployeeBean(e.code, e.name, e.age) from Employee as e where name like 's%'SQLライクに記述することができるため、SQLが理解できる人にとっては理解しやすいという利点があります。 しかしながら、JPQL自体はただの文字列で定義する必要があります。 そのた

    QuerydslでJPAが思ったよりも捗る - 水まんじゅう2
    lizy
    lizy 2013/01/23
    LINQぽい?
  • 加速度的に生産性が向上!? 「DSL」によるアプローチ

    皆さん、こんにちは。前回「実録、MDDツールを“使わない”アプローチ」では、私たち富士ゼロックスから「ETソフトウェアデザインロボットコンテスト(以下、ETロボコン)」に出場した3チームのうちの1つ「Fusion&Futures」チームのMDDツールを“使わない”取り組みについて紹介しました。 連載4回目となる今回は「みんなとみらい1」チームの取り組みと、技術的チャレンジについて、チームリーダーの上江洲吉美が紹介します。 DSL(Domain Specific Language)とは? 私たちのチームでは、今回技術的チャレンジとして「DSL」を用いた開発を行いました。チーム活動の詳細を紹介する前に、DSLとはどのようなものかについて説明したいと思います。 DSLとは“Domain Specific Language”の略で、日語では「ドメイン特化言語」または「ドメイン固有言語」と呼ばれて

    加速度的に生産性が向上!? 「DSL」によるアプローチ
  • 本当のドキュメントと向き合えますか @ qpstudy 2011/04

    25. netdiagの例このテキストが…diagram { network dmz { address = "210.x.x.x/24” web01; web02; } network internal { address = "172.x.x.x/24” db01; db02; }dmz -- internal}

    本当のドキュメントと向き合えますか @ qpstudy 2011/04
    lizy
    lizy 2011/04/11
    modelとviewを分けましょう、ということ
  • 単位操作DSL - 2010-10-12 - marsのメモ

    前に見た記憶があるんだけど、どうにも思い出せず。ぶつぶつ言ってたらコメントいただきました。 びみょーに違ったけど、検索ワードに"DSL"入れりゃよかったんだ!と気付き、「さあ、検索を開始しよう。」で、見つかった。 → A Domain-Specific Language for unit manipulations - DZone Java (via http://www.warneronstine.com/2008/04/24/groovy-dsl-roundup/) JScience使うところまであってた(だからどうした)。実際に試そう思ったら、JSR-275のJarファイルをどっから入手していいかわからず、軽く挫折。その気があったら、あとで試す。

    単位操作DSL - 2010-10-12 - marsのメモ
  • Gremlin:グラフを扱う言語

    原文(投稿日:2010/01/15)へのリンク Gremlinはグラフを扱うのに便利なチューリング完全であるプログラミング言語だ。この言語はXPathを幅広く使って問い合わせや分析や操作ができるJava DSLだ。 Gremlinは多対多の関係のグラフを作成するのに使うことができる。グラフの要素や頂点やエッジには key-valueのペアの属性を持っているので、グラフは属性グラフと呼ばれている。例をあげると下記のようになる。 Gremlinには下記のような型がある。 graph:graphはvertexとedgeの集合で構成されている。 vertex:vertexは出て行くedgeと入ってくるedges、そして属性のmapで構成される。 edge:edgeは出発点となるvertexと、終着点となるvertex、そして属性のmapで構成される。 boolean:booleanはtrueまたは

    Gremlin:グラフを扱う言語
    lizy
    lizy 2010/01/24
  • 【レポート】Qtからの提案 - 開発者とデザイナーのギャップを埋めるUI記述言語「QML」 | エンタープライズ | マイコミジャーナル

    フィンランドNokiaのQt Development Framework部門によって、ドイツ・ミュンヘンで開催された「Qt Developer Days 2009」。Trolltech時代からのユーザーに混じって、会場ではQtを使い始めたばかりという開発者も多数見られた。UIへのフォーカスやクロスプラットフォーム開発へのニーズが高まっているようだ。 Matthias Ettrich氏 会期中、参加者の関心を集めたのが、最新のUI記述言語「QML(Qt Markup Language)」だ(QMLは開発コード名)。KDEの設立者としても知られるMatthias Ettrich氏(Nokia Qt Development Frameworksの研究開発部門)が初日の基調講演で、「開発者とデザイナーのギャップを埋める」として披露した拡張機能だ。 15年前と比べると、PCをはじめとしたグラフィック

  • Scripting IDE for DSL awareness - 2009-10-21 - marsのメモ

    http://www.jetbrains.net/confluence/display/GRVY/Scripting+IDE+for+DSL+awareness IntelliJ, SUGEEEEEEEEEE!!!!! 何がスゴいかって言うと,GroovyDSLと呼ばれるスクリプトをIntelliJに読み込ませることで,特定のDSLやダイナミックなメソッドやプロパティを,IntelliJに把握させることができるんだって。つまり,コード補完やら型推論なんかができるようになるってこと。あ,そうそう。こっちも参照してね。 → Use GroovyDSL in IntelliJ IDEA Community Edition - Messages from mrhaki 冒頭のリンク先にあった例を取ると。下記のようなDayCounter.groovyってスクリプトがあるとする。 Integer.me

    Scripting IDE for DSL awareness - 2009-10-21 - marsのメモ
    lizy
    lizy 2009/10/22
    設定ファイルは手動で作る必要があるのか
  • Couldaを紹介する- 進化的振る舞い駆動開発をRubyで

    原文(投稿日:2009/09/17)へのリンク 往々にして、新しいソフトウェアは、既存の製品に残された空間を埋める必要がある誰かにより開発されるものである。使っているツールがわれわれのニーズに添わない場合、ソフトウェアは更なる発展を遂げる。Evan Light氏によって開発された振る舞い駆動開発(BDD) ツール Couldaはこれに当てはまるだろう。 アナウンスによると、Couldaは以下のように説明されている。 名前からも推測できるように、couldaのコンセプトはCucumberとshouldaから拝借したものです。 ただしおまけとしてthorを付け加えました。couldaは、Cucumberと同じ情報を扱うシンプルな内部DSLですが、Gherkinを含みません。Cucumberから極限まで機能を削減したので、コンシューマよりの開発者にはあまり役に立たないかもしれません。coulda

    Couldaを紹介する- 進化的振る舞い駆動開発をRubyで
  • matfyz.sk

    gscerbak2.blog.matfyz.sk is not available The site gscerbak2.blog.matfyz.sk is not available at the moment. Please check The Internet Archive for the archived versions of the requested page: https://web.archive.org/web/*/http://gscerbak2.blog.matfyz.sk/p12438-internal-dsls-patterns-in-java About This site is a part of the matfyz.sk portal. gscerbak2.blog.matfyz.sk © team matfyz.sk and content auth

    lizy
    lizy 2009/09/16
  • 第3回 流暢なインターフェース | gihyo.jp

    最終回となる今回は、文章を書くようにプログラムを記述する流暢なインターフェースについて解説します。 レビュー:内部DSLと外部DSL 内部DSLを採用したDSLは、とても親しみやすいと言えます。なぜなら、ホスト言語のパワーと今まで使っていたツールをそのまま使うことができるということと、内部DSLは、文章のように書かれていることが多いので、処理の結果を容易に想像することができるからです。しかし良いことばかりではなく、良く設計されていない内部DSLは、処理の結果を想像することが難しくなる、という問題点もあります。 外部DSLは、その構文やルールを新たに学ばなければなりません。そして、決して読みやすいとは言えません。Eclipseプラグインのようなツールを提供しなければならなくケースが非常に多くあります。しかしその反面、外部DSLの開発者が自由にDSLのフォーマットを決めることができます。 内部

    第3回 流暢なインターフェース | gihyo.jp
    lizy
    lizy 2009/06/07
  • 第2回 内部DSLへの道 | gihyo.jp

    今回は内部DSLの詳細、またその実践としてRubyを例にした実装について解説します。 内部DSLに適した言語 - Ruby 2005年12月にRuby on Railsの正式版のリリース以降、そのフレームワークのみならず、プログラミング言語Rubyを支持、採用するプログラマーが増えてきました。 そのことを端的に表しているのが、達人クラスのプログラマー、そしてアーキテクトの存在です。一人は『達人プログラマー[1]⁠』⁠『⁠プログラミングRuby[2]⁠』などの著書で知られているDave Thomas氏です。もう一人は『エンタープライズ アプリケーションアーキテクチャパターン[3]⁠』などで著名なアーキテクト Martin Fowler氏です。Fowler氏が属している会社 - ThoughtWorks社[4]の多くのプロジェクトは、Rubyで開発していると聞いてます。 なぜ、彼等は、Ruby

    第2回 内部DSLへの道 | gihyo.jp
  • 第1回 DSLとは? | gihyo.jp

    第1回目は、DSLの基的な概念について説明します。 DSL概要 DSL(Domain Specific Language)は、ドメイン固有言語と訳されてます。DSLは、Java、C#などの汎用言語とは違い、ある特定の種類の問題に特化したコンピュータ言語です。 今回の連載では、DSLの世界を解き明かします。そして、実際にDSLをつくることで、よりDSLの理解を深め、「⁠用法・用量を守って使える」ようになるのが、今回のゴールです。 DSLの必要性 なぜ、DSLを学ぶ必要があるのでしょうか。 Ruby on Railsの登場以降、メタプログラミングという言葉を良く聞くようになりました。メタプログラミングというと、マクロ、コードの自動生成、テンプレートを上げることができます。 DSLは、メタプログラミングで使われます。メタプログラミングは、一般的なプログラムとはまったく違った方法をとっているので

    第1回 DSLとは? | gihyo.jp
    lizy
    lizy 2009/05/26
  • Tumblr

    Tumblr is a place to express yourself, discover yourself, and bond over the stuff you love. It's where your interests connect you with your people.

    lizy
    lizy 2009/05/22
    強まったDSLはプログラミング言語と変わりない
  • なぜプロトコル記述言語はDSLでなければならないのか - .mjtの日記復帰計画

    http://shinh.skr.jp/m/?date=20081006#p02 とおもったけど elf.py とか見ると結構コード入ってていまいち DSL ぽくないな… ですよねー  という引用は全く関係なく自分の研究の話(我田引水) そもそもプロトコル記述言語とは何か 世間的に流行しているものでは無い(と思う)ので、いろいろな解釈が渦巻く。 C言語のstructに相当するものが記述できる XCB - http://xcb.freedesktop.org/ - XMLでX11のプロトコルを記述。 テンプレートマッチなどによりプロトコルの動作を記述できる prolac Preccs プロトコルそのものを記述する Sun-RPCのXDR ASN.1 pretty-printer Wiresharkのdissector 個人的に研究しているのは最初。 XCBはX11プロトコル専用なので、汎用化

    なぜプロトコル記述言語はDSLでなければならないのか - .mjtの日記復帰計画
  • パネル:DSL:DSLの良い点、悪い点、酷い点

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    パネル:DSL:DSLの良い点、悪い点、酷い点
    lizy
    lizy 2009/05/01
  • 第5回 メタプログラミング―Excelを使ったDSLを作ろう―その3 Step2:メタ情報をExcelに移動する | gihyo.jp

    リスト2 Step2:メタ情報をExcelに移動したコード public static void main(String[] args) throws Exception { byte[] bytes = FileUtils.readFileToByteArray( new File("data.txt")); DataTable config = new XlsReader(                ┓ new File("config.xls")).read().getTable(0);  ┛① MessageParser parser = new MessageParser(bytes, config); parser.parse(); } private static class MessageParser { ... private DataTable config; pu

    第5回 メタプログラミング―Excelを使ったDSLを作ろう―その3 Step2:メタ情報をExcelに移動する | gihyo.jp