タグ

arkに関するrin1024のブックマーク (30)

  • MacにperlフレームワークArkをインストールしてみた - $shibayu36->blog;

    最近Webアプリを自分でも積極的に作らないとという衝動に駆られ、まずはフレームワークをインストールしてみました。いろいろはまったのでメモ。 Arkのダウンロード まずはArkのダウンロード。typestarさんのgithubにあるのでそこからclone。 $ git clone http://github.com/typester/ark-perl.git 依存モジュールのインストール cpanモジュールをインストールします。 $ cd ark-perl $ sudo perl Makefile.pl $ sudo -H make installdeps Arkのインストール テストを実行してから、インストール。 $ sudo make test $ sudo make install これでArkがインストールされます。 アプリケーションを作成 まず、はまったところ一つ目。Module:

    MacにperlフレームワークArkをインストールしてみた - $shibayu36->blog;
  • 12日目: 休日

    今日は休日とします。もしくはより正確に言うなら、今日は筆者の休日です。 Arkに関するあなたのスキルを改善するためにあなたが今日できることに関してヒントを示します。 練習して学ぶ どんなソフトウェアのピースにもあることですが、Arkフレームワークには学習曲線があります。 学習プロセスにおいて、最初のステップはチュートリアルや教科書の練習問題から学ぶことです。 2番目のステップは練習です。練習に勝るものはありません。 これが今日あなたが始められることです。何らかの価値を提供するもっともシンプルなWebプロジェクトを考えます: ToDoリストマネージャー、シンプルなblog、時間や通貨のコンバーターなどです。それらの1つを選び今日持ち合わせている知識で実装を始めます。異なるオプションを学ぶためにタスクのヘルプメッセージを使い、Arkによって生成されたコードを眺め、Emacsのような、Perl

  • 11日目: ユニットテスト

    今日は、完全に異なる内容: 自動化されたテストを語ります。このトピックの内容はとても大きいので、すべての内容をカバーするのに2日まるごとかかります。 Arkのすべてのテストは、慣習的にプロジェクトのt/ディレクトリに設置されます。 今日はユニットテストをカバーし、明日は機能テストに専念します。 ユニットテストを書くのはWeb開発のベストプラクティスの中で実行するのがもっとも難しいことです。 Web開発者は作品をテストすることに当に慣れていないのと、たくさんの疑問がわき上がります: 機能を実装する前にテストを書かなければならないのか?何をテストする必要があるのか?テストはすべての単独の~エッジケース~をカバーする必要があるのか? すべてにおいてよいテストをできる方法は?しかし通常、最初のテストははるかに基的です: どこで始めるのか? 私たちがテストを強く推奨しているとしても、Arkのアプ

  • 13日目: フォームのテスト

  • 14日目: 機能テスト

    昨日まで、 Test::More を用いて perl クラスをユニットテストする方法を見ました。 今日は、Jobeet::Controller::* で実装したコントローラ用の機能テストを書きます。 コントローラのテスト perlクラスをユニットテストする方法は学びました。 しかし Ark のコントローラはどうテストするのでしょう。 テストのためにいちいち Ark アプリケーションを立ち上げてブラウザでアクセスするのはめんどうです。 Ark はコントローラテストのためのヘルパーライブラリ Ark::Test を提供しています。 これを使用すると Web サーバーをたちあげることなくコントローラのテストをすることができます。 Ark::Test を用いたコントローラのテスト Ark::Test を使う準備は簡単です。 use Ark::Test 'Jobeet'; などのようにアプリケーショ

  • http://opensource.kayac.com/ja/projects/ark/advent/2009/

  • 01日目: プロジェクトを始める

    はじめに このチュートリアルでは Advent Calendar の形式を借りて24日間にわたって Ark をつかったウェブアプリケーションの開発方法について説明します。 各章は約1時間ほどで終わる程度であり、実際のWebサイトを最初から最後までコーディングすることで Ark を学習します。 1日1時間24日で合計1日になります。これは Ark の基を学ぶために必要な時間であると私たちは考えています。毎日、新しい機能がアプリケーションに追加され、Ark の Web 開発のベストプラクティスと同時に新しい機能を紹介するためにこの開発プロセスを利用します。 24日間で作成するアプリケーションの名前は Jobeet です。これは PHP のフレームワークである symfony のチュートリアルと同じです。このチュートリアルでは同じアプリケーションを Ark を使用して作成していきます。 今日は

  • 02日目: プロジェクト

    Perlを1行も書いていませんが、昨日は開発環境をセットアップし Ark アプリケーションのスケルトンを作成しました。 話しについて来ているのであれば、 Ark の味気ないデフォルトのインデックスページが表示されたので、お喜びのことでしょう。 しかし、あなたはもっとサイトをよくしたいとお考えでしょう。Ark アプリケーション開発の格的な詳細内容を学習したいと。ここらで Ark 開発の解説を再開することにしましょう。 日は、いくつかのモックアップをつかって Jobeet の案件について説明していきます。 プロジェクトの売り込み 最近、世間では経済危機が話題になっています。失業率が再び上昇しています。 Ark 開発者はそんな心配していないだろうし、だからこそ Ark を第一に学習するわけです。しかしよい Ark 開発者を見つけることもかなりむずかしいです。 どこで Ark 開発者をみつけら

  • 03日目: データモデル

    テキストエディターを開いて Perl コードを書きたい方は、今日のチュートリアルで開発を進めることを知ったら幸せになるでしょう。 Jobeet のデータモデルを定義し、データベースとの情報のやりとりに ORM を使い、アプリケーションの最初のモジュールを作成します。 Ark 自体にはデータベースにアクセスする機能はありませんが、その代わり、任意のモジュールをモデルとして使用できる機能があります。 そのため、データベースアクセスにはどんな ORM でも使用することが出来ます。 今回は現在 Perl でデファクトスタンダードな ORM である DBIx::Class を使用しデータモデルを構築してみましょう。 従って日は Ark というよりは DBIx::Class のチュートリアルともいえます。 依存モジュール さて昨日までのチュートリアルを正確におこなっていれば、DBIx::Class

    rin1024
    rin1024 2009/12/09
    DBのSchema定義とか,ORMとかの話
  • 04日目: データモデルその2

    昨日は DBIx::Class の基について学習しました。まだ生き残っていますか? 今日は引き続きデータモデルについて学習します。 昨日のフィードバック 日の内容に入る前に、昨日の内容で use base や __PACKAGE__ がなにを意味しているかわからないという人がいましたので少し説明しておきます。 use base 'ClassName'; は ClassName と言うクラスを継承すると言う意味です。詳しくは perldoc base などを参照ください。 __PACKAGE__ はそれが書かれた行が属するパッケージ名を表します。したがって package Jobeet::Schema; use strict; use warnings; use base 'DBIx::Class::Schema'; __PACKAGE__->load_namespaces; 1; と言

  • 06日目: ルーティング

  • 05日目: モデル、ビュー、コントローラ

    昨日までで DBIx::Class を使用したデータベースのつかい方、またそのクラスを Ark から使用する方法を学びました。 そしてそれを用いて Jobeet のデータベーススキーマを記述したりテーブルを作成したり初期データをデータベースに投入したりしました。 今日は昨日作ったデータベースを元に Job 周りのモジュールを作ってきます。これらは複数のファイルから構成され、以下の機能を持ちます: 求人の一覧ページ新しく求人を投稿するページ投稿した求人を更新するページ求人を削除するページ MVC アーキテクチャ Web 開発の分野では近年コーディングのための最適解として認識されているのは MVC デザインパターンです。 手短に言えば、MVC デザインパターンはコードの性質ごとに体系化する方法を定義しています。このパターンは3つのレイヤーに分けられます。 Model レイヤーはアプリケーション

  • 07日目: モデルの詳細

  • Ark(Catalyst)のルーティング - Webtech Walker

    今日社内勉強会でtypesterからArkのルーティングについてお話があって、なんとなくしかわかってなかったのがだいぶすっきりしたので自分なりのまとめ。この辺はCatalystと同じなはずなのでCatalystでも一緒だと思われ。 ルーティングで使用するアトリビュートには大きく分けて下記の3つ。 Path Regex Chained Path PathアトリビュートにマッチさせたいURLを記述する。これが基。 パッケージ名がFooの場合はfooからのパスになる。これは/foo/barにマッチ。 package SampleApp::Controller::Foo; use Ark 'Controller'; # /foo/bar sub bar :Path('bar') { } メソッド名は関係ない。下記も/foo/barにマッチする。 package SampleApp::Contro

    Ark(Catalyst)のルーティング - Webtech Walker
  • Ark::ActionClass::RequestTokenをgithubに上げました - Lism.in * blog - nekoya (id:studio-m)

    nekoya's p5-ark-actionclass-requesttoken at master - GitHub Catalyst::Controller::RequestToken的なことをするモジュールが無かったので書きました。 基的な使い方はPod見れば分かるはず。まぁcreate_tokenして、validate_tokenするだけですよ。 configの書き方でちょっと注意が必要かも。デフォルトではtokenの生成に$c->model('Digest')を使うようになっていて、これを変更したい時は config 'ActionClass::RequestToken' => { digest_model => 'sha1', }; みたいにすればいいよ、とPodに書いてるんですが、これでうまく動くのは今日の昼以降のArkでの話。それより古いとconfigの設定が通りません。

    Ark::ActionClass::RequestTokenをgithubに上げました - Lism.in * blog - nekoya (id:studio-m)
  • ArkでSessionを使う時はCatalystと書き方が違うので注意 - Lism.in * blog - nekoya (id:studio-m)

    Catalyst my $val = $c->session->{ $key }; $c->session->{ $key } = $new_val; delete $c->session->{ $key }; Ark my $val = $c->session->get($key); $c->session->set($key, $new_val); $c->session->remove($key); Catalystと同じやり方で書くと、Sessionオブジェクト自体には値をセット出来るけど、セッションには保存されないので、後で値を引っ張ってくる時に「動かねー」と頭を抱えることになるので気を付けましょう。クセです。 なんでこういう仕様になっているかと言うと、typesterさん曰く @nekoya: そうなんですよねー、でも $c->session は呼ばれるまで初期化されないような

    ArkでSessionを使う時はCatalystと書き方が違うので注意 - Lism.in * blog - nekoya (id:studio-m)
  • Introducing Ark

    アジェンダ Arkとは何か HTTP::Engine (PSGI) 時代のフレームワーク Arkの機能・使い方 CGIモード Text::MicroTemplate::Extended Ark::Models Ark::Form

  • http://blog.eorzea.asia/2009/06/post_7.html

    rin1024
    rin1024 2009/10/29
    CGIで動かす方法(Catalystとほぼ同じ)
  • http://blog.eorzea.asia/2009/06/post_12.html

  • コントローラとアクション - Ark 0.1 Documentation (DRAFT)