オープンソースCMS「DotNetNuke」のセットアップ
前回はMicrosoft Web Platform Installerを利用して、DotNetNukeとWebMatrixをインストールする方法を紹介した。今回は、DotNetNukeのインストール方法を紹介する。
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Michael Floyd , 翻訳者 南 伸二 投稿日 2011年4月24日
先月下旬Googleは開発者コミュニティに対しGuice 3.0をリリースし、その際、通常のバグフィックスとパッチに加えていくつかの拡張を追加した。Guiceは、2006年にはじめて紹介された依存性注入(Dependency Injection、DI)デザインパターンを実装するJavaフレームワークである。Guiceの裏にある動機は、手作業で依存性の注入を行う際に特有の、決まり切ったファクトリを書く必要性を減らすことで、プログラマがDIコードを書くことを容易にすることである。インジェクションを扱うためにファクトリを書く代わりに、開発者はそのインターフェースを実装にマッピングするモジュールを作成するだけである。その際、(@Injectのような)コンストラクタアノテーションを利用する。そのモジュールの中では、プログラマはたとえば次のように書くことができる: bind(myInterface.class).to(myImplementation.class);
いったんモジュールが設定されたら、あとは単にクライアントコードに@Injectアノテーションを追加する。インジェクターをブートストラップするのはたった4行のコードである:モジュールを指示するインジェクターを生成し、そのモジュールのgetInstance()に対してインジェクターを利用するだけだ。
上記の例では、コンストラクタインジェクションを利用している。しかし、Guiceはメソッド(セッター)インジェクションやフィールドインジェクションを含む他のタイプのインジェクションもサポートしている。後者の形式のインジェクションはより曖昧で、管理しやすくないコードを生成するという理由で批判されている。このため、Guiceチームはフィールドインジェクションの利用を勧めていない。
Guice主な特徴は、型チェックがコンパイル時に行われ、インジェクションが注入された型と同じ型を返す型安全性にある。スコープはアノテーションを利用して宣言的に取り扱われるため、開発者は単にアノテーションをつくることでスコープを定義することが可能だ。
Guice 3.0のもっとも注目すべき変更はJSR 330に完全に準拠したインジェクターを取り込んでいる、ということだ。(JSR 330は2009年にまとめられている。)事実、GuiceチームのDhanji Prasanna氏によれば“Guice 3.0はJSR 330のリファレンス実装である”。
まだファクトリーコードを書く必要があるため、Guice 3.0は、自働的にファクトリー実装を生成し、決まり切ったコードを書く必要性を緩和する補助インジェクション(assisted injection)を追加している。また、型、スコープ、既存のバインディング、あるいはそのすべてをもとにしたバインディングを返すことを可能にする、新しいBinderメソッドとインジェクションの強化が行われている。さらに、フレームワークはSPIを拡張し、サードパーティの拡張により導入された要素を表に出すことができるようにしている。それ以外の強化として、OSGiサポートの改善、数々のサーブレット拡張、シングルトンのサポート、Struts 2の統合などがある。また、次のような機能が含まれている:
* AOPが関係する時のよりシンプルなスタックトレースの利用
* バインディングが重複しているとき、例外を投げるのではなく、無視するようにした。
* cglibの再パッケージ、asm & guavaクラスはIDEの自動インポートからは見えなくなった。
* Mavenのサポート
ディスカッショングループでよく言及されるように、Spring frameworkはすでに依存性注入をサポートしている。もっとも頻繁にあがる懸念は開発者はGuiceかSpringかを選択しなければならない、というものだ。GuiceはSpringのDIメソッドの代替を提供している一方で、Spring frameworkに取って代わるものではない。実際にはGuiceはSpringと共存可能であり、Springと独立にも一緒にも利用することができる。例えば、CuideはAOPメソッドインターセプターをサポートしていて、開発者がSpringのトランザクションインターセプターを利用することができる。また、SpringIntegration()クラスが存在し、Springビーンへのバインドを可能にする。Guiceがもたらしてくれるものは、型安全性であり、例外ハンドリングであり、抽象レイヤーとXML設定の必要性の両方を取り除いてシンプルにしてくれることなのである。
InfoQのインタビューの中で、Spring創始者Rod Johnson氏はSpring 2.5のアノテーション駆動インジェクション(アノテーションバインディング)がどれだけGuiceに触発されたかを話しており、同時に、Spring 3.0の@Configurationとの基本的な違いについても説明している。また、更新されたSpringとの比較がGoogle Codeに存在する。
最後に、"Guice 4.1"がちょうど発表されたことも言及に値する。この発表は脚注にする以上のものである。というのも、4.1は必要最低限を備えた"MiniGuice"であり、非常に小さなアプリケーションに適しているからだ。GuiceチームメンバーSam Berlin氏がこれを提供して、"Guice 4.1 はGuice、依存性注入、そしてJavaライブラリがどう提供されるかを過激なまでに再検討したものだ"と述べている。Guice 4.1は単一のファイルで構成されていて、このようなシンプルなAPIで呼び出すことが可能である:
myApp program = MiniGuice.inject(myApp.class, new Module1(), new Module2());*
Guice 4.1ソースファイルはGoogle Codeにある。
前回はMicrosoft Web Platform Installerを利用して、DotNetNukeとWebMatrixをインストールする方法を紹介した。今回は、DotNetNukeのインストール方法を紹介する。
DotNetNukeは、Windows Serverで動作するCMS(Contents Management System)である。この記事ではWeb Platform Installer を利用して人気CMS「DotNetNuke」と無償Web開発環境「WebMatrix」のインストールする方法を紹介する。
クラウドコンピューティングを前提とした大規模データ技術が利用可能となってきています。Big Dataが一過性のブームで終わるかどうかにかかわらず、スケーラブルな分散アーキテクチャーの基盤はデータベース技術に主導されつつあります。RDBとORM主体のエンタープライズシステムは、HadoopやNoSQLとの組み合わせにより複合的なデータモデルに発展しました。
2011年12月8日~2011年12月9日に、ロンドンのSkills Matter eXchangeにて開催された「Groovy & Grails eXchange 2011」の参加報告を、日本Grails/Groovyユーザーグループのメンバーが3回に渡って紹介します。
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続���開 催されていく予定である。本記事では、開催の様子をレポートする。
Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。
No comments
スレッド表示 返信