2009年4月27日のブックマーク (14件)

  • Martin Fowler's Bliki in Japanese - 内部DSLスタイル

    http://martinfowler.com/bliki/InternalDslStyle.html 2006/10/24 内部DSL(組込みDSLとも呼ばれる)は、ホスト言語内に書かれたドメイン特化言語である。 これは多くのプログラミング言語コミュニティでは一般的な考え方だ――特にLispコミュニティではそうだ。 だが最近では、急速に成長を遂げているRubyコミュニティでのDSLの扱いに、多くの注目が集まっている。 私は、内部DSLには二つのスタイルがあると思っている。 ひとつは、内部ミニ言語。 もうひとつは、言語エンハンスメント(強化)だ。 内部ミニ言語というのは、外部DSLでやるようなことを内部言語で行うことだ。 汎用言語のサブセットを意図的に自分のミニ言語として取り出す。 たとえば、以下のようになる(言語ワークベンチから引用した)。 mapping('SVCL', Service

  • Martin Fowler's Bliki in Japanese - DSLの境界線

    http://www.martinfowler.com/bliki/DslBoundary.html 2006/8/1 ドメイン特化言語が表れたときに疑問として挙がったのが、 「DSLは何なのか」そして「DSLは何でないか」だった。 混乱の元はDSLに厳密な定義が存在しないためであり、 DSLとその他とを区別するグレーゾーンが広大だったためである。 私にとっては、「スコープ」と「能力」が限定されている点がDSLの重要な要素である(特定のドメイン向けであり、汎用言語にとって基的な機能が欠けている)。 つまり、良いDSLというのは、小さくてシンプルなものなのだ。 だからこそ「リトル言語」や「ミニ言語」と表現されるのである。 内部DSLではAPIとDSLの境界があいまいである。 基的に両者に違いはない。 内部DSLとは、単なるイイ感じの名前のついたAPIなのだ(「ライブラリ設計は言語設計(l

  • Martin Fowler's Bliki in Japanese - ドメイン特化言語

    http://martinfowler.com/bliki/DomainSpecificLanguage.html ドメイン特化言語(DSL:Domain Specific Language)とは、 ある特定の種類の問題に特化したコンピュータ言語のことです。 様々な問題に対応できる汎用的な言語のことではありません。 ドメイン特化言語についてはこれまでも議論されてきましたし、 コンピュータが使われてきたのと同じくらい長い間使われてきました。 DSLを頻繁に使用しているコミュニティにUnixコミュニティがあります。 そこでは、DSLは「リトル言語」や「ミニ言語」などと呼ばれています (この伝統について、Eric Raymondが素晴らしい議論を提供してくれています)。 最も一般的なUnixスタイルのやり方は、 言語の文法を定義し、コード生成機能を使ってDSLから汎用的な言語を生成する、 あるい

  • Martin Fowler's Bliki in Japanese - 言語ワークベンチ

    以下の文章は、Martin Fowler による 「Language Workbenches: The Killer-App for Domain Specific Languages?」 の日語訳である。 ソフトウェア開発における新しい考えの多くは、実は古い考えの新しい組み合わせ方です。この記事では、その新しい組み合わせ方のひとつ、私が「言語ワークベンチ(Language Workbenches)」と呼んでいるツールについて説明します。これは、現在広まりつつある考え方で、たとえば、Intentional Software、JetBrainsのMeta Programming SystemMicrosoftのSoftware Factoriesなどが例として挙げられます。これらのツールは古い開発スタイルを採用しており、私はこれを「言語指向プログラミング(language oriente

    masakanou
    masakanou 2009/04/27
  • Martin Fowler's Bliki in Japanese - 流れるようなインターフェース

    http://www.martinfowler.com/bliki/FluentInterface.html 2005/12/20 数ヶ月前、Eric Evansと一緒にあるワークショップに参加した。 そこで彼がとあるインターフェースのスタイルについて語ったのだが、 我々はそれを「流れるようなインターフェース(fluent interface)」と名づけることにした。 一般的なスタイルではないが、もっと評価されるべき代物だ。 おそらく例を示したほうがいいだろうから、そうしてみることにする。 一番簡単な例は、EricのtimeAndMoneyライブラリだろう。 時間の間隔を作るには、通常は、以下のようにする。 TimePoint fiveOClock, sixOClock; ... TimeInterval meetingTime = new TimeInterval(fiveOClock,

  • Domain-specific language - Wikipedia

    A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging from widely used languages for common domains, such as HTML for web pages, down to languages used by only one or a few pieces of software, such as MUSH s

  • Microsoft – クラウド、コンピューター、アプリ & ゲーム

    期間限定で Surface Pro 8 ご購入で対象のキーボードが無料になり、体にも特別価格が適用されます。

  • スケーラビリティの構築とパフォーマンスの達成:バーチャルパネル

    Q1: 多くの人々が、パフォーマンスとテクノロジーを同じ問題だとひとくくりにしています。この誤解に対してどう応えますか? Randy: どんな特定の言語やフレームワークにも依存せずに、スケーラビリティの問題を論じる事には多くの価値がある、と言う意見に私は賛成です -- そうしたパターンは同様に、実装の戦略とも無関係です。とはいえまずは、パフォーマンスとスケーラビリティを私たちは区別していると言う事を確かめておきましょう。パフォーマンスは、単一のリクエストを捌くのに使われるリソースの事です。スケーラビリティとは、より多くのリクエストを捌く必要が生じたときにリソース消費量をどのように増やしていくか、についてのものです。 それらは関連していますが、同じ物ではありません :-)。幸運にも、一方を改善するための多くのアプローチが、もう一方をも改善する事がしばしばです。しかし極端な場合、非常に高速なシ

    スケーラビリティの構築とパフォーマンスの達成:バーチャルパネル
  • スケーラビリティに関するベストプラクティス:eBayからの教訓

    データベース層でもほぼ同様のアプローチに従っています。eBayにはモノリシックデータベースはひとつもありません。その代わり、ユーザーデータ用のデータベースホストセット、アイテムデータ用セット、購入データ用セットなど、計1000個の論理データベースが400個の物理ホストに存在します。繰り返しますが、このアプローチによって、データタイプごとに個別にデータベースインフラがスケーリングできるのです。 ベストプラクティス#2:水平分割 機能の区分化によって光明が見えてきたわけですが、完全にスケーラブルなアーキテクチャにとってそれだけでは十分ではありません。ある機能は他の機能から分離されるかもしれませんが、1つの機能エリアの需要は時間とともに肥大し、どのような単独システムよりも大きくなってしまいます。私たちが好んで自身に言い聞かせていることですが、「分割できないなら、スケーリングもできない」のです。特

    スケーラビリティに関するベストプラクティス:eBayからの教訓
  • バリューストリーム・マップ(ばりゅーすとりーむ・まっぷ)

    リーン生産方式やリーンソフトウェア開発において、生産や物流、ソフトウェア開発などの工程を改善する際に、現状を把握し将来のあるべき姿を明確にするために作成されるプロセス図のこと。もともとはトヨタ生産方式における手法で、トヨタ自動車では「物と情報の流れ図」という。 バリューストリーム・マップは、特定の製品(製品ファミリー)が原材料が加工されて顧客の手に渡るまでの全工程の経路と、各工程がどこからの指示で実施されるのかを示したものである。描く場合は改善対象となる工程だけでなく、前後のつながりが分かるように1次仕入先から納入先(顧客)までのすべてを工程順に左から右に並べる。工程はボックス状に表し、工程名とその稼働時間、および生産リードタイムを付記する。そして、それら工程に対する引き取りや仕掛け指示の情報発生源を示し、同時に情報伝達手段や頻度を記載する。 バリューストリーム・マップを作成することによっ

    バリューストリーム・マップ(ばりゅーすとりーむ・まっぷ)
  • QCon Tokyo 2009 - スケジュール

    QCon Tokyo Day 1 Opening 長尾達也(コンポーネントスクエア) Floyd Marinescu(C4Media) ホスト:細川努、角谷信太郎、中台高宏

    masakanou
    masakanou 2009/04/27
    資料公開
  • Doblogが学ばなかったこと - 雑種路線でいこう

    長期的には皆死ぬように、どんなサービスもいつか終わる。会社ごと終わるときもあれば、採算に合わず事業から撤退することもある。だから企業が経営判断でコミュニティ・サービスから撤退すること自体は仕方がない。だがDoblogは今からでも遅くないから、グループへの風評リスクを最小限に抑えた撤退戦略を考えた方がいい。 復旧作業の終了を受け、今後のDoblogについて検討した結果、Doblog開設時の目的である、ブログシステムを構築するための技術的知見、およびコミュニティサービスを運用・運営するためのノウハウの蓄積については十分に達成できたものと考え、サービスを終了するという判断をいたしました。 無償だから、実験だから、データが消えても構わない、リンクが死んでも構わない、登録していたRSSフィードが死んでも構わないと考えたのだろうか。これから企業情報システムでもSaaSやクラウドの隆盛で課金モデルが多様

    Doblogが学ばなかったこと - 雑種路線でいこう
  • トップページ/トピックス一覧/暮らし・住まい/プレミアムサポート商品券を販売します

  • Engadget | Technology News & Reviews

    Anker's 3-in-1 MagSafe foldable charging station drops back down to its Prime Day price

    masakanou
    masakanou 2009/04/27
    >CAPTCHAといえばバリアフリーの観点から聴覚版も用意するのが当然。9種類の啼き声からねこだけを選ぶシステムの開発が待たれます