オープンソースCMS「DotNetNuke」のセットアップ
前回はMicrosoft Web Platform Installerを利用して、DotNetNukeとWebMatrixをインストールする方法を紹介した。今回は、DotNetNukeのインストール方法を紹介する。
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Paul Blair , 翻訳者 吉田 英人 投稿日 2010年4月22日
2007 年末の登場以来,軽量フレームワークの Sinatra web framework には,多くの関心が寄せられてきた。その結果は,現在 Google で "Sinatra" を検索すると,Frank や Nancy に関係するものより上位にランクされるほどだ。InfoQ では Sinarta プロジェクトの創始者である Blake Mizerany 氏から,Sinatra の詳細と 1.0 リリースの内容について話を聞いた。
Mizerany 氏の説明によれば,1.0 がひとつのマイルストーンであるのは,追加されたものよりも,取り除かれたものに理由があるという。
テンプレートに Tilt を採用することによって,かなりの行数のコードが取り除かれました。また,拡張 API の仕様が確定されました。0.9 シリーズにあった API 部分の重複は,現在では完全に解消されています。
その他のコードベースは,以前のリリースからほとんど変更されていない。
Sinatra は Rails のようなモデル-ビュー-コントローラ (Model-View-Controller,MVC) フレームワークではない。強いて言うならば,"Ruby を使用して web アプリケーションを作成するためのドメイン固有言語 (domain-specific language)" である。Sinatra ではアプリケーションが HTTP リクエストに応答する方法を,REST パラダイムに沿ったシンプルな形式で定義することができる。
Sinatra は HTTP へのダイレクトなマッピングです。Sinarta は隠された複雑さの代わりに,公開された単純さを目指しているのです。そもそも HTTP や HTML は難しいものではありません。隠す必要など何もないのです。 ... あまりに '基本的' なために誤解されることもありますが,実際に試せば気に入ってもらえると思います。
Sinatra のアプリケーションは,ひとつのファイルに収まるほど小さくなる。各処理のルートは HTTP メソッドと URL パターンによって定義され,ひとつのブロックとして扱われる。例えば Sinatra の "Hello world" アプリケーションは次のようなものだ。
require 'rubygems'
require 'sinatra'
get '/hi' do
"Hello World!"
end
Sinatra はまた,Erb,Erubis,HAML など数多くのテンプレートシステムと組み合わせることができる。その一方でフォームビルダやデータベース接続など,MVC フレームワークの持っている機能の多くはバンドルされていない。このような単純さにゆえに,Ruby 1.8.x と 1.9.x,JRuby,MacRuby など,数多くの Ruby 実装上で動作可能だ。
Sinatra の採用実績を年代順に記録した Sinatra in the Wild というサイトがあり,このフレームワークを用いたさまざまな Web アプリケーションとサイトがリストされている。そこには GitHub や Gemcutter,さらには Heroku,Engine Yard,ENTP といった企業の名もある。最近では NewRelic から,同社の RPM Ruby Agent パフォーマンス計測ツールで Sinatra をサポートするという発表があった。
バージョン1.0 では,新機能もいくつか取り入れられている。テンプレートのレンダリングに Tilt フレームワークが採用されたことにより,テンプレートキャッシュ,一貫性のあるテンプレートバックトレース,新たなテンプレートエンジンなどがサポートされるようになった。また Erb,Erubis,Haml などのテンプレートが初回レンダリング時にコンパイルされるようになり,表示構成時間が5~10倍も改善されている。テンプレートファイルのコンパイル結果を再利用するか,あるいは要求ごとに再コンパイルするかは,新たに追加されたフラグによってコントロールできる。
現行バージョンのユーザは,アップグレードによって多少の問題が発生するかも知れない。しかし今後も新機能を追加していくためには,それは必要なことだ。FAQ によると,
アプリケーションが公開機能のみを使用して,非推奨機能について対処できているなら,Sinatra 1.0 でも問題ありません。最新の Sinatra 0.9.x リリースでは ... Sinatra 1.0 で導入される非互換性のすべてについて,非推奨の警告が行われるようになっています。
[...]
今後 Sinatra 0.9.x リリースについては,セキュリティ上の問題や大きな障害に対応する追加リリースはありますが,新機能の追加は行われません。
1.0 リリースに長期間を要した理由のひとつは,Semantic Versioning Model を採用したことにある。
すべての 1.x リリースについて,今回の 1.0 リリースへの後方互換性を確保する予定です。そのためには今後長期間に渡って,1.0 リリースとの非互換性の発生を防ぐ必要があります。そのため私たちには,望ましくないインターフェースについての精査が必要だったのです。
Mizerany 氏は今後も Sinatra が,その支持者を増やし続けるものと予測する。
Sinatra はそのシンプルさゆえ,あらゆる場所で利用可能です。このシンプルさを維持するため,今後の活動には特に注意しています。... Sinatra には内輪の IRC や Campfire ルームなどは存在しません。次のステップは,ひとつの場所で決定されています。すべてがオープンなのです。
Mizerany 氏は Sinatra の拡張サポート機能を (作成が簡単なことなどの点で) 特に気に入っている 。氏によるとそれは,"特別なボイラプレート用のディレクトリや初期化スクリプトを必要としない,gem として提供・取得可能な単純なライブラリ" である,ということだ。すでに数多くの拡張が開発されていて,ActiveRecord を通じてデータベースを操作するためのもの,Sequel ORM,認証 (authentication)や 非同期タスク を行うものなどがある。さらに Sinatra は,Ruby web フレームワークの標準 Rack インターフェース上に位置しているため,Rack ミドルウェアコンポーネントへの接続も可能である。
Sinatra のアイデアは,数多くの同種のフレームワークからインスパイアされたものだ。JavaScript 用の Sammy や Clojure 言語における Compojure などがその例であり,その他 Scala,PHP,.NET,といった言語にも同種のものがある。
Sinatra の開発をサポートしているのは Heroku だ。しかし,
Sinatra の成功の要因はコミュニティにあります。Heroku は単に必要な作業時間の確保をサポートしてくれたり,作業の継続を励ましてくれる存在なのです。このクレジットの 99.9999% はコミュニティのものです。メーリングリストのスレッド/質問を私が見るよりも先に,いつも他の誰かが,良質で丁寧な回答を付けてくれるのですから。
前回は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
スレッド表示 返信