タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

Catalystに関するji_kuのブックマーク (23)

  • CatalystでXslateしてみた - pepponの日記

    cpanm Text::Xslate cpanm Text::Xslate::Bridge::TT2Like cpanm Catalyst::View::Xslate MyApp::View::Xslate package MyApp::View::Xslate; use Moose; extends 'Catalyst::View::Xslate'; has '+module' => ( default => sub { [ 'Text::Xslate::Bridge::TT2Like' ] } ); has '+template_extension' => ( default => '.tt', ); has '+cache_dir' => ( default => '/tmp/MyApp/.xslate_cache', ); has '+cache' => ( default =>

    CatalystでXslateしてみた - pepponの日記
  • Catalyst::Manual::Tutorial::Testing - Catalyst Tutorial - Chapter 8: Testing - metacpan.org

  • 初めてのCatalyst入門(9) Catalystのテスト関連モジュール

    はじめに 前回まででCatalystの主要コンポーネントについては一通りの紹介が終わりました。記事では、Catalystで用意されているテスト関連のモジュールについて紹介していきます。 対象読者 Perlで簡単なスクリプトを作成したことのある方 Webアプリケーションの基的な仕組み(HTTPリクエスト、レスポンスなど)についての知識のある方 これまでの連載 初めてのCatalyst入門(1) PerlによるWebフレームワークCatalystとは? 初めてのCatalyst入門(2) Catalystアプリはどのように作るのか? 初めてのCatalyst入門(3) 処理の入り口はアクション 初めてのCatalyst入門(4) URLパスとリクエストパラメータ 初めてのCatalyst入門(5) フロー制御とChainedアクション 初めてのCatalyst入門(6) Perlのオブジェ

    初めてのCatalyst入門(9) Catalystのテスト関連モジュール
  • Six Apart - Tech Talk Blog:f ウェブアプリケーションのテストの仕組みを読み解こう

    はじめまして。Vox 開発エンジニアの谷です。 突然ですが、Vox の開発はいつから始まったのでしょうか。当ブログの以前のエントリーにもありますが、Vox はプレビュー版として3月にサービスが開始されていることからもわかるように、開発は去年から行われていました。となると、もうそれなりに期間の長いプロジェクトですし、アプリケーションの規模でも今では弊社の他の製品に引けを取らないほどになっています。 私が Vox の開発に加わったのは今年の8月なのですが、既に大きく成長していたアプリケーションを前に、最初は「Vox を壊してしまわないだろうか…」という不安を抱えていました。しかし大量のテストコードのおかげで既存のアプリケーションを壊さずに、簡単、確実に機能を追加していくことができたのです。(実際にはテストのおかげで壊れているのが発覚したりしたのですが…) 前置きはこれぐらいにして、Vox は

  • CatalystアプリケーションをStarmanで運用しよう! - ゆーすけべー日記

    Starmanというmiyagawaさんが目下開発中のPerl製Webサーバがあります。 PSGIをサポートして高速であることが特徴です。 おとといにバージョン0.1000がCPANにアップロードされたばかりという新しいものですが、 とあるエロサイトでStarmanを導入したので、その件について 書いてみたいと思います。 ちなみにStarmanについては日語のドキュメントがほとんどなく、 全体を通して間違ったこと言ってる可能性あるのでツッコミ歓迎です。 PSGI/Plackが熱いと言われる昨今ですが、 miyagawaさんが口を酸っぱく言うように 「PlackはWebアプリケーションフレームワーク」ではなく、 今まで使っていたWAFをPlackが騒がれているからといってそれに置き換える必要はないということを 最初に記しておきます。 自分もPlackを使ってWAFもどきを作っていますが、

    CatalystアプリケーションをStarmanで運用しよう! - ゆーすけべー日記
  • Catalyst-Plack編: Mol's Discipline

    Plackにかまけてばかりでも肝心のWAレイヤがおろそかじゃしょうがない PlackはWAFではない!という書き込みもたくさんあるしね。 てことでサクっとCatalystをいじってPlackupしましょー! の回 とりあえずやること Catalystで生成されたプログラムをPSGI化する やり方 Catalyst::Engine::PSGIをいんすこ その後ヘルパープログラムを使い hoge_create.pl PSGI とするだけ らしい てことでやってみましょ。 catalyst.pl MyApp cd MyApp ./script/myapp_create.pl PSGI おー! myapp.psgiができましたっ! さっそくPlackup! plackup ./script/myapp.psgi が、 だめ。 plackup script/myapp.psgi Error whil

  • CatalystなアプリをPlack + Router::Simple + DBIx::Skinny + Text::Xslateに置き換えた - pepponの日記

    あるサービスがアクセス多くてどうしようかなとか考えていたんですが、とりあえずCatalystから変えてみようかなと思い切ってやってみた。 ソースはありません。 最初は結構難儀したんだけど、もともと認証がいらない奴だったのでわりと簡単に。 ウェブには道しるべはたくさんあって、それらを参考になんとなたどり着いた。 Plack ぐぐるとたくさん出てきます うちのアプリに必要だったのはMiddleware::Sessionあたり Router::Simple http://search.cpan.org/dist/Router-Simple/ http://d.hatena.ne.jp/tokuhirom/20100319/1268995772 これは無くてもまあいいかなだけど使ってみた Text::Xslate http://search.cpan.org/dist/Text-Xslate/ h

    CatalystなアプリをPlack + Router::Simple + DBIx::Skinny + Text::Xslateに置き換えた - pepponの日記
  • Plack+CatalystでWebアプリ(とCLI)を作ってみる - As a Futurist...

    1 年間インフラ修行ばっかりやってて、カタムースとかプラック企業の流れに乗り切れなかったので 一念発起して最近趣味で Plack と Catalyst で Web アプリを書こうとしています。 ただ、アプリのロジックに入る前に、そもそもモジュールの構造をどうしようかと 試行錯誤するだけで数週。。。一旦ここまでのまとめをしておきたいと思いました。 Perl 界隈の方々は当にエロくてすばらしいなと改めて感じました。 自分のプログラムセンスの無さをひしひしと感じてますが、 今回のアプリの開発を通じて何か CPAN に上げて、僕もエロくなれたらいいなぁ とか密かに思ってたりしてます。 それは MyApp::Web から始まった とりあえずモダン Perl 入門にあるように、以下の様なコマンドで Catalyst 用のモジュールを 一段名前を掘って作りました。 catalyst MyApp::We

    Plack+CatalystでWebアプリ(とCLI)を作ってみる - As a Futurist...
  • データを返すようなモデルメソッドのテストはfixtureだ - 新だるろぐ跡地

    ロジックや、booleanとか値を返すようなメソッドのテストは書けるようになった。 データベースからの問い合わせ結果、DBICでいうResultSetを返すようなメソッドではどう書けばいいか分からなかった。 ということをTwitterでぼやいたら天から神の声が降ってきた。 それfixtureでできるよ 普通にやろうとすると超大変だけど(意訳) そういえばそんな名前のディレクトリがrailsの中にあったなーと思いつつググる。 テスト用のデータを作ってそこに対してテストする的な。なるほど。 大変なのはめどいのでググる。Test::Fixture::DBIC::Schemaというモジュール発見。 以下ほぼSYNOPSISまま。 Schema.pm package Schema; use strict; use parent 'DBIx::Class::Schema::Loader'; 1; fi

    データを返すようなモデルメソッドのテストはfixtureだ - 新だるろぐ跡地
  • catalystでモデル分離が落ち着いた。その上でUser->find_by(id => 2)とかしてみた - 新だるろぐ跡地

    いつまでモデル分離やってんだよって感じですが。 色々問題も解決していい感じに落ち着いた。 APIDBICのCRUDなメソッドが呼べなかった件 流れ モデルを分離するためにAPIを作ろう $c->model('API::User')でAPIが呼ばれるようにしよう モデルを呼ぶのにwebのコンテキストから切り離せた! でも当然DBICのsearchとかのメソッドはAPIから呼べないよね searchとかしたい場合はresultsetオブジェクト用意してね 毎回用意するの面倒です 解決策 DBICのCRUDなメソッドが使えるクラスを用意して、全APIがそれ継承すればいい この考え自体は思いついてたし、pixisでもそうやってたから間違っては無いはず。 が、自分で実装ができなかったのと、pixis丸パクりは自分のためにならないのでやらなかったので、実現できなかった。 pixisのソースちゃんと読

    catalystでモデル分離が落ち着いた。その上でUser->find_by(id => 2)とかしてみた - 新だるろぐ跡地
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Test::Fixture::DBI で覚えるデータベーステスト - Articles Advent Calendar 2010 Hacker

    さて、今年も JPerl Advent Calendar の季節がやってきましたね。こんにちわこんにちわ zigorou です。 今回は拙作 Test::Fixture::DBI でデータベースのテストをするお話をしますよ! このモジュールはモバゲーオープンプラットフォームの API 開発時に必要にかられて作り、今では DeNA の社内でも普通に使われて来ているモジュールです。 レポジトリは github です。 はじめに とりあえずはテスト用の table を用意しましょう。 USE test; DROP TABLE IF EXISTS location; CREATE TABLE location ( id int(10) unsigned not null, user_id int(10) unsigned not null, title varchar(255) not null

    Test::Fixture::DBI で覚えるデータベーステスト - Articles Advent Calendar 2010 Hacker
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Kazuho@Cybozu Labs: Perl のテスト用に MySQL 環境を自動で構築するモジュール Test::mysqld を書いた

    ORM やウェブアプリケーション関連のライブラリなどのテストケースを書くにあたっては、 RDBMS へのアクセスが必要になります。しかし、SQLite のようなスタンドアローンのデータベースと比較すると、サーバ型データベースである MySQL に接続してテストを書くのは、既存の MySQL の権限設定やデータベース名を気にする必要があったりと、いろいろ不便です。そこで、MySQL のインスタンスをテンポラリディレクトリに自動生成し、テストが終わったら削除してくれる Perl モジュール Test::mysqld を書きました。こんな感じで使います。 use DBI; use Test::mysqld; use Test::More; my $mysqld = Test::mysqld->new( my_cnf => { 'skip-networking' => '' }, # TCP接続を

  • ワタブログ : [まとめ] サンプルで覚える!Catalyst のおすすめエントリーまとめ

    2011年03月30日19:09 [まとめ] サンプルで覚える!Catalyst のおすすめエントリーまとめ カテゴリ Tweet ※ただし写真は無関係 「オレも何か Web アプリを作ってモテモテになるかなぁ」といったときに便利なツールが perl の WAF (ウェブアプリケーションフレームワーク)である Catalyst 。僕は M(Model)V(View)C(Controller) の入門でした。しかしその独自の振る舞い等、慣れるまで最初はとっつきにくい感じもします。する。ということで、ここでは実際にサンプルを動かしてみながら覚えられるように、おすすめエントリーを段階別に集めてみました! 一応リンクのとなりに日付を加えておきましたが、過去のエントリが現在のそれと相違することがあるかもです。並行して Catalyst、その他の WAF など、最新情報も追っていくと良いと思います。

  • 続:Catalystでマルチバイトを取り扱うときのまとめ - hide-k.net#blog

    以前、Catalystでマルチバイトを取り扱うときのまとめという記事を書いたのですが、情報が少し古いので、最近僕がやっている方法を紹介します。 この記事では Catalyst 5.7015 Catalyst::View::TT 0.27 Catalyst::Plugin::ConfigLoader 0.22 Catalyst::Plugin::FillInForm 0.10 Catalyst::Plugin::Static::Simple 0.20 Catalyst::Plugin::Unicode 0.8 の環境で紹介しています。 また、基的にDBICに関しては以前の記事の通りDBIx::Class::UTF8Columnsを使うという感じです。 まず、こんな感じのアプリケーションを用意します。 MyApp package MyApp; use strict; use warnings

  • FormValidator::LazyWay で検証ルールをまとめよう - JPerl Advent Calendar 2009

    FormValidator::LazyWay で検証ルールをまとめよう - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? どうも、亀仙人になって鼻血ブーしたい vkgtaro です。ご機嫌いかがですか。亀仙人が最初なのかどうか知らないけど、鼻血を吹くというマンガ表現はすごく好きです。おっと、hacker track でした。 ということで僕もハッカーではないけれど、自分がメンテナンスしてるモジュールの中から一つ紹介させてもらいますね。 今日は FormValidator::LazyWay で検証ルールをまとめちゃいます。 フォームの検証 web アプリケーションを作っていると、どのページでも出てくる入力項目ってあると思います。 会員登録時のパスワード項目とログイン時のパスワード項目とユーザ情報変更時のパ

  • FormValidator::LazyWay - フォーム検証用モジュール - metacpan.org

    Tools Download (56.03KB) MetaCPAN Explorer Permissions Subscribe to distribution Install Instructions Dependencies Class::Accessor::Fast Data::Validate::URI DateTime::Format::Strptime Email::Valid Email::Valid::Loose Perl6::Junction UNIVERSAL::require URI and possibly others Reverse dependencies CPAN Testers List Dependency graph Permalinks This version Latest version NAME FormValidator::LazyWay -

  • CP::FormValidator::Simple::Auto の self_rule - Practice of Programming

    ドキュメントに書いてないんですが、 action1: param1: - self_rule: HOGE message: 'param1 is invalid HOGE' と書いて、コードで、 if (not some_check()) { $c->form->set_invalid('param1', 'HOGE'); } とやると、$c->form_messages('param1') で、定義したメッセージが取れるということなんですね。 これは、便利ですね。

    CP::FormValidator::Simple::Auto の self_rule - Practice of Programming
  • Catalyst::Helper::View::TTSite と TT の AutoWrapper

    Catalyst::Helper::View::TTSite を使ってみたら、雛形のテンプレートで TT の WRAPPER がみたことがない使われ方をしていたので、調べてみたら TT の Automatic Wrapper という仕組みだった、という話。 今までの自分の TT の使い方。 普段自分が Web アプリなんかで TT を使う時の使い方は、header.tt と footer.tt とか作って、tt_process で指定するテンプレがそいつらを含めてるという、↓のような感じ。 header.tt。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta