タグ

ブックマーク / www.infoq.com (44)

  • WebDSL:DSL作成から学んだ教訓

    Eelco Visser氏(source)はオランダのDelft University of Technologyの准教授で、「プログラム変換と生成」(source)を教えている。 Visser氏は「WebDSL: A Case Study in Domain-Specific Language Engineering」(WebDSL:ドメイン固有言語エンジニアリングにおけるケーススタディ)という論文(PDF英語)を書き終えたばかりだが、この論文ではWebDSLの設計ならびに実装を調べ直している。 この論文には「ドメイン固有言語エンジニアリング」プロセスに関する導入部分が2つと、WebエンジニアリングのソリューションとしてWebDSLを評価し、関連するDSLエンジニアリング・アプローチや言語エンジニアリングの研究課題を論じる考察部分が3つあります 。 WebDSL(source)は、リッ

    WebDSL:DSL作成から学んだ教訓
  • 議論: アーキテクチャの書き直しは避けるべきか?

    ソフトウェアを新しい需要や要件に適合させることが困難になるほど、アーキテクチャを更新するためにソフトウェアを再構築するという誘惑は強くなる。その取り組みはむしろリスクが高く、適切な戦略を採用することが不可欠である。Andy Singelton氏の最近のブログ記事(source)では、あれこれ戦略を選びながら、考慮すべきコスト、技術的な複雑さ、および潜在的な商業リスクに関してさまざまな妥協点の検討を行っている。彼は、3つの可能なアプローチを特定し、それぞれの利点と不利点を簡単に紹介している。 - 完全に新しいソフトウェアを記述することを示す「プロトタイプと拡張」という選択肢 - コンポーネントの更新と、コードベースを使用し続けたままリファクタリングすることに基づいた「増分」という選択肢 - 新しい要件を満たす既存のソフトウェアを入手することに基づく「購入」という選択肢。 しかし、ブログスペー

    議論: アーキテクチャの書き直しは避けるべきか?
    tekehiko
    tekehiko 2008/05/25
    『ソフトウェアの書き直しの必要性として認知されていることが多くの場合は非常に主観的であり、たいていコードの再利用に内在する困難さに関連している』
  • Domain Driven Design Quickly

    InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architect. View an example

    tekehiko
    tekehiko 2008/05/06
  • ドメインモデル管理のあらゆる側面

    はじめに 『Domain Driven Design (ドメイン駆動設計)』 [Evans DDD] や『Applying Domain Driven Design and Patterns (ドメイン駆動設計とパターンの適用)』 [Nilsson ADDDP]などのから学ぶことができるように、ドメインモデルパターン (『Domain Model pattern (Patterns of Enterprise Application Architecture (エンタープライズアプリケーションアーキテクチャのパターン) 』 [Fowler PoEAA]) をアプリケーションアーキテクチャに導入すると、数多くのメリットが約束されるが、何もせずに手に入れることはできない。 ドメインモデルの使用は、ドメインモデルクラスを作成してそれらを使用するのと同じくらい簡単だということは、めったにない。ド

    tekehiko
    tekehiko 2008/05/06
    "Aspect"を”あらゆる側面”と訳したのはどうかと思う。/『インフラストラクチャコードをドメインモデルクラス自体に散らかすことなく、ドメインモデル上に必要なインフラストラクチャコードを分散させる方法』
  • ドメインドリブンデザインはDIやAOPなしでも十分な実装可能か?

    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が最近リリースされ、重要な変...

    ドメインドリブンデザインはDIやAOPなしでも十分な実装可能か?
    tekehiko
    tekehiko 2008/05/06
    『ドメインエンティティのライフサイクルがモデルにおいて中枢的意味を持つ場合、その責任をオーケストレーションに任せれば結果としてドメインオブジェクトは骨抜きにされ貧血症ドメインモデルになるでしょう。』
  • ドメイン特化言語は英語のように書くべきではない

    良いドメイン特化言語 (DSL) とは、プログラマ以外でも読むことができる英語のようなものだと広く言われている。Dave Thomas氏は、DSLは自然言語にできる限り近づくものではない(source)と主張し、そのような考え方に反対する。 さらに、これをDSL設計の指針とすることがむしろ有害であると主張する。また、彼が信じていることがDSL設計では重要であることを強調し、必ずしも英語らしくなくてもうまくいくDSLの例を紹介している。 Dave氏によると、DSLは英語や他の自然言語に近づく必要はない。なぜなら、それは実際に自然言語を話さないドメイン専門家など、かなり特別なカテゴリやユーザを対象にするからだ。 ドメイン専門家 [中略] は業界内の専門用語を話します。それは、彼らが仲間同士で効率的にコミュニケーションするための簡単な表現として発明した特別な言葉です。専門用語は英語を使うかもしれ

    ドメイン特化言語は英語のように書くべきではない
    tekehiko
    tekehiko 2008/05/02
    『流暢なインターフェースの概念は誤解されることが多いと考える。「ここで言う流暢さはプログラマの流暢さであって、英語の流暢さではありません。簡潔で表現に富むコードを書くことです。」』
  • 今日のDDDの重要性についてEric Evans氏に聞く

    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が最近リリースされ、重要な変...

    tekehiko
    tekehiko 2008/05/02
    『最も重要なことはドメインについて理解し、そのドメインのエキスパートと協力してドメインを概念的な形にし、それを使用して強力かつ柔軟なソフトウェアを構築することです。』
  • 汎用言語とドメイン特化言語を組み合わせたモデルドリブンエンジニアリング

    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が最近リリースされ、重要な変...

    汎用言語とドメイン特化言語を組み合わせたモデルドリブンエンジニアリング
  • Spring Web Flow 2.0.0.RC1リリース:Ajax、JSF、セキュリティの統合を追加

    InfoQはSpring WebチームのKeith Donald、Jeremy Grelleの両氏と会談し、Web Flowの次期メジャーリリースの最初の製品候補リリースである、Web Flow 2.0.0.RC1(source)について話を聞いた。Web FlowはSpring MVCの機能拡張であり、Webアプリケーションのフロー(source)の実装を行うためのものである。 Web Flow 2.0の新機能は何か? Web Flow 2には、以下のようなたくさんの重要な新機能がある。 革新的なAjax まず最初に、Web Flow 2ではAjaxのイベント処理機能が導入された。Ajaxのイベントを他のWebフローのイベントと同じように処理するだけで、処理が終わると、あなたの フローは更新されたUIの特定の断片、あるいは一部分をリクエストすることができるのである。この部分的なレンダリン

    Spring Web Flow 2.0.0.RC1リリース:Ajax、JSF、セキュリティの統合を追加
  • JMeterとAntによる自動負荷テスト

    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が最近リリースされ、重要な変...

    JMeterとAntによる自動負荷テスト
  • Hypertable のリード開発者が Hadoop と分散データベースを語る

    最近、データベース関連の話題が盛り上がっている。IBM はこのほど(source)、Amazon EC2 上で動作するクラウドエディションをサポートする EnterpriseDB (source)に出資したし、Amazon は去年の終わりごろに独自のクラウドデータベースをリリースした。Google の BigTable(source) も、オープンソースではないにもかかわらず、コミュニティによる学習や研究の対象となっている。このような流れの中(source)、ふたつのオープンソースプロジェクト HBase(source) と Hypertable (source)が、 BigTable にインスパイアされたスケーラブルなデータベースを実装するために Map/Reduce プラットフォームである Hadoop (source)を活用している。InfoQ は Hypertable 産みの親で、

    Hypertable のリード開発者が Hadoop と分散データベースを語る
    tekehiko
    tekehiko 2008/04/25
    『データとデータ駆動エンジニアリングの価値』
  • Flexを使ったオンライン語学アプリのスタートアップ企業がその内部を語る

    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が最近リリースされ、重要な変...

    Flexを使ったオンライン語学アプリのスタートアップ企業がその内部を語る
  • Gavin KingがGuiceから端を発したDIをフィーチャーしたWeb Beans Preview(JSR 299)を提供

    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が最近リリースされ、重要な変...

    Gavin KingがGuiceから端を発したDIをフィーチャーしたWeb Beans Preview(JSR 299)を提供
  • Hypertable Lead Discusses Hadoop and Distributed Databases

    InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architect. View an example

    Hypertable Lead Discusses Hadoop and Distributed Databases
  • エンタープライズのためのリアルタイムJava

    リアルタイム・コンピューティングと聞くと、高速なシステムでなければならないと思ったり、機械装置の制御に使われることがほとんどだと思ってしまいがちですが、これは誤りです。ほとんどの場合、要求される応答時間が速いのは確かですが、リアルタイム・システムを定義するものは処理速度ではありません。リアルタイム環境の真の中核をなすものは、システムの振る舞いが完全に決定的になるように、システムがあらかじめ設定された時間内にタスクを行うことを保証することです。 エンタープライズのレベルのアプリケーションにとって、リアルタイム・システムに配備することのメリット(そしてことによるとデメリット)は何でしょう?多くの場合、大きなメリットはありません。システムの非機能的要件(負荷容量、平均応答時間、最大負荷時の応答時間など)が満たされた時点で、アプリケーションの配置が可能になり、顧客は満足します。要求したくなるような

    エンタープライズのためのリアルタイムJava
  • David Pollak氏 lift と Scala を語る

    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が最近リリースされ、重要な変...

    David Pollak氏 lift と Scala を語る
  • ボックス--パフォーマンス・ボトルネックを探し出す近道

    パフォーマンス上の問題が報告される時、防御手段に凝り固まったコメントがついてくることがとても多く、そして、そんなコメントのほとんどは、どこから作業を始めるべきかを理解する上で何の役にも立ちません。このジレンマに直面し、根的な原因から推量し始めるチームも珍しくありません。ここで「ボックス」の登場です。ボックスはシステム全体を抽象化した小さな図式です。パフォーマンス・ボトルネックの実情を思い出させてくれます。厳密な調査と併用すれば、ボトルネック発見から当て推量を排除するのに役立つでしょう。矛盾と意外性を除外したいのなら、推量の排除は必須です。 システムレイヤのケーキ 図1で描いたボックスには4つのレイヤがあります。レイヤはそれぞれ、人、アプリケーション、Java仮想マシン、ハードウェアと名前がつけられています。このボックスを詳しく見ていくにつれ、システムパフォーマンスに対して各レイヤーが果た

  • Rubyの並行性、アクター、およびRubinius - MenTaLguY氏へのインタビュー

    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が最近リリースされ、重要な変...

    Rubyの並行性、アクター、およびRubinius - MenTaLguY氏へのインタビュー
  • 分散アーキテクチャにおいて一貫性と交換でスケーラビリティを手に入れる

    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が最近リリースされ、重要な変...

    分散アーキテクチャにおいて一貫性と交換でスケーラビリティを手に入れる
  • SpringSourceがMicrosoftによる買収を発表

    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が最近リリースされ、重要な変...

    SpringSourceがMicrosoftによる買収を発表