Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

DSLに関するsyuu256のブックマーク (13)

  • Sinatra: README (Japanese)

    This page is also available in English. 始めよう SinatraはRubyで下記のような最小労力で手早くウェブアプリケーションを作成するためのDSLです。 # myapp.rb require 'rubygems' require 'sinatra' get '/' do 'Hello world!' end gemをインストールして動かしてみる。 sudo gem install sinatra ruby myapp.rb localhost:4567 を見る。 ルート Sinatraでは、ルートはHTTPメソッドとURLマッチングパターンがペアになっています。 ルートはブロックに結び付けられています。 get '/' do .. 何か見せる .. end post '/' do .. 何か生成する .. end put '/' do .. 何か更

  • Apache 2.4系でのモダンなアクセス制御の書き方

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでのApache2.2系以前でのアクセス制御の書き方は賛否両論でした。僕はあまり好きじゃありませんでした。 過去のアクセス制御に関しては、以下の記事がとてもわかりやすくまとめられていると思います。 こせきの技術日記 – Apacheのアクセス制御をちゃんと理解する。 ここで、以下のように言及されています。 こんなバッドノウハウ、当はどうでもいいと思う。Apache 3.0では、かっこいいDSL(VCL)で書けるようにする構想があるらしいのでがんばってほしい。 ということで、2.4系ではDSLとはいかないまでも、Require*というディレクティブを使ったモダンな書き方ができるようになったので、それを2.2系以前のアクセス制御の記述と比

    Apache 2.4系でのモダンなアクセス制御の書き方
  • 設計と実装の狭間で - 急がば回れ、選ぶなら近道

    ・現状 ・・・相変わらず溝は埋まっていません。希望の星と目されたDSLは現時点ではかなりの不発弾に近い感じで、設計系クラスターはあまり元気がないですね。翻って見れば、設計と実装が最も近かった時代は、なんのことはなくて、自分も含めて(懐古趣味の老人を除いた)皆さんが毛嫌いするCOBOL+汎用機の時代だったかもしれないという意見すら出る惨状です。あの時代以降、 UMLが登場し、まさに銀の弾丸状態で、それ以降Unified Processやら何やらが、インフルエンザの如く流行りました。ま、その延長上に今のアジャイルまでの流れがあるわけですが、気がついてみれば、これほど設計と実装が離れてしまった時代もないという状態になってしまっています。・・・設計と実装の狭間は、相変わらず埋まっていない気がします。 ここへ来て、実装技術の多様化は、カンブリア紀を思わせる拡大の一途になっています。開発環境のみならず

    設計と実装の狭間で - 急がば回れ、選ぶなら近道
  • Amazon.co.jp: ドメイン特化言語 パターンで学ぶDSLのベストプラクティス46項目: マーチンファウラー (著), Martin Fowler (著), レベッカパーソンズ (その他), Rebecca Parsons (その他), 角征典 (はしがき), 平澤章 (翻訳), 大塚庸史 (翻訳), 坂本直紀 (翻訳), ウルシステムズ株式会社 (監修): 本

    Amazon.co.jp: ドメイン特化言語 パターンで学ぶDSLのベストプラクティス46項目: マーチンファウラー (著), Martin Fowler (著), レベッカパーソンズ (その他), Rebecca Parsons (その他), 角征典 (はしがき), 平澤章 (翻訳), 大塚庸史 (翻訳), 坂本直紀 (翻訳), ウルシステムズ株式会社 (監修): 本
    syuu256
    syuu256 2012/07/09
    久々に凶器を買ったけどとりあえず積んでいる・・・
  • 仮想パネル: JavaScriptで非同期プログラミングを乗り切る方法

    これに対して、CommonJSグループはPromiseという形でこれに答えている。これは任意の時点で、完了しているかもしれないし完了していないかもしれない、非同期に実行されるアクションの結果を表現したオブジェクトとのインターフェイスを提供する。この方法では、さまざまなコンポーネントが非同期アクションのためのpromiseを返すことができ、コンシューマは予測可能な形でそのpromiseを利用できる。また、Promiseは非同期性を支援するために構文上便利な言語レベル拡張のために利用される基エンティティを提供することもできる。 Stratified JavaScriptはこれとは別のアプローチをとっており、JavaScript言語のスーパーセットを提供することで、この問題を解決している。しかし、使う言語を切り替えられないのなら、とるべき道はシーケンシャルなコードをエミュレート可能な、柔軟なA

    仮想パネル: JavaScriptで非同期プログラミングを乗り切る方法
  • SQLとJSONをNode.js上で組み合わせた新言語「ql.io」をeBayが公開

    eBayが、JavaScriptアプリケーションからSQL文のような形式でデータベースへの問い合わせを記述できるDSL(ドメイン固有言語)のql.ioを発表。オープンソースとして公開しました。 現在、多くのWebアプリケーションが、バックエンドとのデータのやりとりにHTTPをベースにしたAPIを用いています。しかし、WebベースのAPIによってデータを取り出すのは、プログラマにとって実は手間のかかることです。 例えば、キーワードを入力すると関連する商品の名前、詳細、購入者の評価をユーザーに表示する、というWebアプリケーションでは、まずキーワードでデータベースを検索して商品IDを取得し、今度はその商品IDをキーにして名前や概要、評価の情報を取得する、といったように、APIを繰り返し呼び出す必要があります。 ql.ioはこうした内容をSQLのように分かりやすい記述で実現するだけでなく、複数の

    SQLとJSONをNode.js上で組み合わせた新言語「ql.io」をeBayが公開
  • Javaにおける言語内ドメイン特化言語へのアプローチ

    序説 ドメイン特化言語(DSL)は一般に、特定の種類の問題を対象としたコンピュータ言語といわれ、ドメイン外での問題解決は意図していません。DSLは何年もかけて正式に研究されてきました。しかし最近まで、最も読みやすく、簡潔な方法で単に問題解決を図ろうとしていたプログラマーが、幸運にも偶然プログラムに書き込んでいたのが言語内DSLです。Rubyや他の動的言語の到来により、最近ではプログラマーの間でDSLに対する興味が増大しています。こうした緩い構造の言語は、最小限の文法が許容されるDSLへのアプローチを提供し、そのため、特定の言語の最も直接的な表現として現れます。しかしながら、コンパイラと、Eclipseなどの最強かつ近代的なIDEの利用能力を放棄してしまうことは、このアプローチの明らかな欠点であります。著者はこの2つのアプローチの妥協策に成功し、Javaのような構造化言語で、DSLの方向から

    Javaにおける言語内ドメイン特化言語へのアプローチ
  • 言語内 DSL を考える。

    kmizu @kmizu いきなりだけど言語語り。自分の理想とする言語は、ユーザによる抽象化の試みを可能な限り邪魔しないと同時に、「破れにくい」抽象化層を簡単に構築できる言語であって欲しい。 kmizu @kmizu 「破れにくい」というのはどういうことかというと、いわゆるマクロを持っている言語の多くに共通する話だと思うのだけど、定義されたマクロを間違った、あるいは想定外の使い方をした場合に、その中身、つまり展開結果がユーザに漏れてしまうのは駄目だと思うのだ。

    言語内 DSL を考える。
    syuu256
    syuu256 2011/08/30
  • この1年の優れたIT系書籍はどれか?「Jolt Awards 2011」が6冊を発表。

    デベロッパー向けに情報発信をしている「Dr. Dobb's Journal」が、この1年(昨年7月1日から今年の6月30日まで)に出版されたIT系書籍の中から優れたを選ぶ「Jolt Awards」が今年も発表されました。 発表記事では選考理由などが紹介されていますが、以下では選ばれた6冊がどんななのかを紹介しましょう(当然ながらすべて洋書です)。DSL(ドメイン固有言語)やClojure、Continuous Deliveryなど、新鮮な話題を提供しているが並んでいます。また、マーチン・ファウラー氏の著作が2冊(「Domain-Specific Languages」「Continuous Delivery」)選ばれている点にも目を見張ります。 タイトルに目を通すだけでも、いま何が開発者のあいだで話題になっているのかが伝わってきますが、もし興味を持たれたら実際に中身を読んでみてはいかが

    この1年の優れたIT系書籍はどれか?「Jolt Awards 2011」が6冊を発表。
  • DSL Patterns

    List of DSL Patterns My book on Domain Specific Languages uses a pattern structure to organize the concepts that I use to describe DSLs. Here is a list of the patterns in that book. Each is linked to a page for each pattern. The pages don’t contain very much detail, little more than an indication of the relevant chapter in the book. My main purpose for these is to provide a reference URI for each

  • Rubyの魔術 数々の“スペル”で高度なプログラミング − @IT

    2010/09/13 元JavaプログラマのPaolo Perrotta氏は、Rubyを使い始めた頃のことを振り返り、こう話す。 「私はJavaの世界からRubyに来た当初、とてもハッピーなプログラマでした。Rubyっていいね、かっこいいじゃん! と。ところが、最先端のイケてるライブラリの中を覗いてみたら、分からないところだらけだったんです……」。 RubyKaigi2010で「A Metaprogramming Spell Book」(あるメタプログラミング魔術の書)と題した講演を行ったイタリア人プログラマのPerrotta氏は、Ruby on Railsのソースコードを覗いてみたときの驚きをこう表現する。 「例えばalias_method_chainというメソッドは、一体どこにあるんだと探しました。どこにあるか分からないんです。こんなことJavaではあり得ません。結局、テキスト検索で発

  • 银娱优越会·(中国)网站登陆

    银娱优越会·(中国)网站登陆 404 Not Found 网站银娱优越会-公司简介-公司产品-新闻动态-银娱geg优越会7171156-留言板 温馨提示:您可能输入了错误的网址或页面已被删除或移动! XML 地图 | Sitemap 地图

  • DSL 概要 (DSL (Domain Specific Language))

    最近は、互いの利点・欠点を補うために、 両者を混在させた開発というのがはやりつつあります。 言語といっても・・・ まあ、専用言語といっても、そんなたいした話ではないんですね。 そりゃ、中には、コンパイラ作りからやるような格的な人もいますけど。 多くの場合は、「設定ファイル」とか「ライブラリ」程度のものです。 有名なところでは、Apache の設定ファイルなんかは結構立派な構文を持っていますし、 emacs の設定にいたっては LISP 言語で書きます。 ああいうのも、一種の DSL です。 ということで、 まず、「設定ファイル」とか「ライブラリ」が DSL の第1歩という話から始めてみたいと思います。 抽象定義と具象定義 DSL と設定ファイル、ライブラリの関係性を話す前に、 ちょっと補足的な説明をしておきます。 まあ、アプリケーションの設定を外部ファイルに持ったりすることは結構あるわけ

    syuu256
    syuu256 2010/04/21
  • 1