アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » DEVELOPER STAGE » 特集 » ついに出た!最新Perlフレームワーク「Ark」徹底解剖 » 第2回 Ark チュートリアル:基礎編

ついに出た!最新Perlフレームワーク「Ark」徹底解剖

第2回 Ark チュートリアル:基礎編

前回はArkの開発背景と機能概要を紹介しました。2回目からはもっと具体的に,Arkを使用した開発方法を紹介していきます。

今回は,Arkのインストール方法,そして簡単なHelloWorldアプリケーションの作成を通してArkを使用したアプリケーション開発の流れを紹介します。

Arkのインストール

まずは,Arkのインストールについて話をしていきます。

Perlのインストール

Arkは,Perlバージョン5.8.1以上が必要です。

お使いのコンピュータがMac OS XやLinuxで動作しているなら,おそらくすでにPerlがインストール済みのはずです。Windowsで開発する方は,Strawberry PerlActivePerlなどをインストールすると良いでしょう。

Arkのダウンロード

まず,ダウンロードページより最新版をダウンロードします。本稿執筆時点での最新バージョンは 0.001000_001(0.1rc1)ですので,それを元に説明します。

以下のようなコマンドでダウンロードし,ファイルを展開します。

$ wget http://cloud.github.com/downloads/typester/ark-perl/Ark-0.001000_001.tar.gz
$ tar zxvf Ark-0.001000_001.tar.gz

インストールする前にテストで動作確認

インストールする前にテストを走らせます。こうすることでArkがお使いのシステム上で正しく動作するかを確認することができます。

テストをするためには,Arkを展開したディレクトリ上で「cpan -t .」コマンドを実行します。

$ cd Ark-0.001000_001
$ cpan -t .

PerlやCPANの環境が整っていない場合,画面上にいくつか質問が出ると思います。その場合は画面の指示に従ってください。

その後,Arkのテストが実行され,最後に,

All tests successful.

という出力が出ていれば,Arkのインストールの準備が整ったことを意味します。

インストール

インストールするには「cpan -i .」コマンドを実行します。

$ cpan -i .

もし,CPAN の設定が不十分な場合,上記コマンドではエラーになってしまうかもしれません。

その場合は

$ sudo -H cpan -i .

を試してみてください。これで無事インストールが終われば,Arkのインストールの完了です。

おめでとうございます!

HelloWorldアプリケーション

それでは早速アプリケーションを書いてみましょう。

画面に「Hello World!」という文字を表示する簡単なアプリケーションを作りながら,Arkを使った開発の流れを見ていきましょう。

ark.plによるひな形作成

まずはアプリケーションのひな形を作成します。ひな形の作成のために,ark.plというコマンドがインストールされています。

HelloWorldという名前のアプリケーションを作成するためには以下のコマンドを実行してください。

$ ark.pl newapp HelloWorld
Creating directory HelloWorld
Creating HelloWorld/Makefile.PL
Creating HelloWorld/lib/HelloWorld.pm
Creating HelloWorld/lib/HelloWorld/Controller/Root.pm
Creating directory HelloWorld/root
Creating HelloWorld/t/00_compile.t
Creating directory HelloWorld/tmp

するとこのように HelloWorld ディレクトリが作られ,その中にアプリケーションのひな形が作成されます。

開発用組み込みウェブサーバー

このアプリケーションのひな形は,すでにArkアプリケーションとして動作します。動作の確認はArk組み込みのWebサーバにて行うことができます。

開発用Webサーバの起動にもark.plを使用します。

HelloWorld ディレクトリへ移動し以下のコマンドを実行してください。

$ ark.pl server
HTTP::Engine::Interface::ServerSimple : You can connect to your server at http://0.0.0.0:4423/

このようにアプリケーションディレクトリ以下で「ark.pl server」というコマンドで開発用Webサーバを起動することができます。デフォルトではlocalhostの4423ポートで起動します。

Webブラウザでhttp://localhost:4423/を開いてみてください。

図1 デフォルトのインデックス画面

図1 デフォルトのインデックス画面

このように「Ark Default Index」という表示がでていればひな形の生成,開発サーバの起動は正常に行われています。

デバッグモード

また,この開発サーバはデバッグモードで起動するための-d(--debug)オプションを持っています。このオプション付きで起動すると

$ ark.pl server -d
[debug] Loaded Path actions:
.-------------------------------------+--------------------------------------.
| Path                                | Private                              |
+-------------------------------------+--------------------------------------+
| /                                   | /index                               |
| /                                   | /default                             |
'-------------------------------------+--------------------------------------'

[debug] Setup finished
HTTP::Engine::Interface::ServerSimple : You can connect to your server at http://0.0.0.0:4423/

このように起動時にアクション・コントローラの一覧を表示したり,各リクエストの処理時に

[debug] "GET" request for "/" from "127.0.0.1"
[debug] Arguments are ""
[debug] Request took 0.001858s (538.213/s)
.----------------------------------------------------------------+-----------.
| Action                                                         | Time      |
+----------------------------------------------------------------+-----------+
| /index                                                         | 0.000179s |
'----------------------------------------------------------------+-----------'

というようなリクエストの詳細情報(リクエストURL・コントローラ・引数・処理時間)などを表示することができます。

また,このデバッグモードで動作中はブラウザ上でエラーの詳細な情報を確認することができます。

図2 ブラウザ上でのエラーのスタックトレース表示

図2 ブラウザ上でのエラーのスタックトレース表示

このようにリクエストの詳細情報を表示したり,エラー情報の確認ができるので開発中はつねに -d オプションを使用しデバッグモードで開発することをおすすめします。

また,ark.plはここで紹介した以外にもいろいろなコマンド,オプションを持ちます。

その詳細はドキュメントのヘルパースクリプトの項を参照ください。

著者プロフィール

村瀬大輔(むらせだいすけ,ハンドルネーム:typester)

1981年2月生まれ。2004年9月株式会社カヤックに入社。

カヤックでは自社サービス「こえ部」を担当する傍ら,ラボチームBM11に所属し「Ark」「nim」といったオープンソースプロダクトを開発。また「Shibuya.pm」や「YAPC::Asia」にスピーカーとして参加するなど,Perlプログラマとして活躍の場を広げている。

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

キーパーソンが見るWeb業界

本連載はWeb Site Expert/gihyo.jpとの連動企画です。阿部淳也, 長谷川敦士, 森田雄のお三方による,Web業界をテーマにした座談会です。

きたみりゅうじの聞かせて珍プレー

ソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。みなさんからの投稿もお待ちしてます!

ActionScript 3.0で始めるオブジェクト指向スクリプティング

野中文雄氏が,簡単なスクリプトは書いたことがあるという初級者を対象に,ActionScript 3.0の基本からクラス定義までを解説します。

まだ間に合う「ITパスポート」受験対策 原山先生の短期合格塾

この連載では,4月18日のITパスポート試験の受験に向けて,短い期間で効率良く受験対策を行う方法や,確実に得点するための裏ワザなどを伝授していきます。

Ubuntu Weekly Recipe

Ubuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。

C/C++プログラマのためのDTrace入門

よくカーネルのチューニングや解析で活用されるDTraceですが,実はユーザプログラムの開発においても非常に有用です。連載ではC/C++プログラマやテストに関わる方向けにDTraceの使い方を解説します。

Blogopolisから学ぶ計算幾何

計算幾何学は,図形に関するアルゴリズムを研究するコンピュータサイエンスの一分野です。本連載では,ビジュアルブログ検索エンジン「Blogopolis」で採用されている計算幾何のアプローチを例に取り上げながら,計算幾何の初歩を実践的に学習します。

検索エンジンはいかにして動くのか?

本連載では, 今や誰もが利用している検索エンジンの中身を,全体の仕組みやデータ構造,アルゴリズムから分散インデックスまで,最近の研究事例も交えて紹介します。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス