CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
![Webアプリケーションフレームワーク「Catalyst」入門一覧](https://cdn-ak-scissors.b.st-hatena.com/image/square/106c7e478be88bc515873fc79870c7b92dd94618/height=288;version=1;width=512/https%3A%2F%2Fcodezine.jp%2Fstatic%2Fcommon%2Fimages%2Fczlogo4fb_ogp.png)
サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一本吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には食材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい食材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ
サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一本吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には食材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい食材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ
自分の最近のCatalystのモデル部分の書き方 こちらのブログでなんか呼ばれた気がしたのでとりあえず書いてみた。 あくまで自分はどうしてるか、って話ですが、最近はCatalystでなんか書くときはこんな感じで使ってます。 色んな事がこの図に詰まっているので、箇条書きしてみる: Model::APIがAPIオブジェクトを作成して、使用時にはModel::APIに対して`find()`というメソッドを使って実際のAPIオブジェクトを持ってくるSchema等はMyApp::Schemaに定義し、Model::APIのアトリビュートとして持っている。cacheも同等。これらの初期化引数は設定ファイルのModel::APIから取れるようにしておくCatalyst::Model::DBIC::Schemaは*使ってない*Model::APIではACCEPT_CONTEXTが呼ばれた時点で、もしまだ初
JPAセミナー#1でJay Shirley氏が絶賛していたlocal::libですが、その際に「異なるバージョンのモジュールをテストするのにも便利ですね」とか言っていた気がするので、早速やってみました。 お題は、Catalystで先日公開されたMoose版の5.8と旧5.7をベンチマーク比較してみます。 まずはCatalyst::Runtime 5.71001を$HOME/cat5.7にインストールします。 $ cd $ perl -MCPAN -Mlocal::lib=cat5.7 -e 'CPAN::install("M/MR/MRAMBERG/Catalyst-Runtime-5.71001.tar.gz")' 次にCatalyst::Runtime 5.8(この時点での最新版は5.8001でした)を$HOME/cat5.8にインストールします。 $ cd $ perl -MCPAN
Data::Localize & Catalyst::Model::Data::Localize Data::Localize 0.00001をリリースした。やってることはLocale::Maketextと一緒。主な違い: オブジェクトベース。Locale::Maketextは名前空間をいじってどうのこうのするんですが、これはしない。基本的には登録されているハンドラを全て試す、っていうだけ。デバッグ用のメッセージを一杯仕込んだので、なぜか国際化がされない場合は多分Locale::Maketextより問題箇所の判断が大分楽Locale::Maketextより速い速さに関しては、以下の通り: daisuke@beefcake-7 Data-Localize$ perl -Mblib tools/benchmark/benchmark.pl Rate locale_maketext data_
Catalystがモダンかどうかは置いておいてCatalystのコンポーネントを書く時のお作法として 大昔は ... use base qw(Catalyst::Action); use NEXT; sub execute { my $self = shift; $self->NEXT::execute( @_ ); ... ちょっと前は ... use base qw(Catalyst::Action); use Class::C3; sub execute { my $self = shift; $self->next::method( @_ ); ... モダンなのは ... use base qw(Catalyst::Action); use MRO::Compat; sub execute { my $self = shift; $self->next::method( @_ )
以前から Controller にロジックをガリガリ書いてて、いい加減分離とかテスト書けるようにリファクタリングしないとなと思っていたので、モダン Perl 入門を読んで、今までなんとなくモヤモヤ考えていたことが、かなりクリアになったのをきっかけに、ファイルレイアウトをごっそり変えてみました。 ./lib ./MyApp ./Schema ./API ./CLI ./WUI ./View ./Controller ./Model ./API.pm ./DBIC.pm ./Base ./Controller ./Resources.pm ./Root.pm ./script ./t ./template ./p ./m ./conf ./sql ./structure ./data ./static ./image ./css ./js Adaptor で読み込むモジュールは大体 Servi
こんな感じ。こういう文例がなんでどこにも載っていないんだ。知ってて当然なんだろうか。 <Directory "/home/pekeq/Catalyst/tutorial/script/"> Options +ExecCGI <Files tutorial_cgi.pl> SetHandler cgi-script </Files> </Directory> Alias /tutorial/ /home/pekeq/Catalyst/tutorial/script/tutorial_cgi.pl/検索キーワード Catalyst::Engine::CGI, httpd.conf, Apache, CGI, Catalyst
以前、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
この記事は,日経ソフトウエア2006年9月号,連載「簡単実装で学ぶWeb技術2006」の第3回「Catalyst――Perl向けWebアプリ・フレームワーク」の再録です。記事は執筆時の情報に基づいており,現在では異なる場合があります。 こんにちは,結城浩です。今回はPerlのWebアプリケーション・フレームワーク「Catalyst」を解説し,簡単なメモ帳プログラムを作ります。 Catalyst(カタリスト)は,Perlで作られたWebアプリケーション・フレームワークです。Catalystを使うと,Webアプリを簡単に作成・テスト・配布することができます。catalystという単語のそもそもの意味は,「触媒」あるいは「促進させるもの」です。Perlのモジュール同士を触媒のようにうまく結びつけて,Webアプリ作成を促進させるという意味の名前なのでしょう。 Catalystのオフィシャルページは
題名 Catalyst::Manual::Cookbook - Catalystでお料理を 説明 ママが昔よく焼いてくれたおいしいコード! レシピ デバッグ画面を強制表示する endアクションでdie()を呼び出すと、リクエストの最後にデバッグ画面を強制表示させることができます。 sub end : Private { my ( $self, $c ) = @_; die "forced debug"; } いちいちこれを書いたり消したりするのが面倒なら、endアクションにこんな条件文を加えることもできます。 sub end : Private { my ( $self, $c ) = @_; die "forced debug" if $c->req->params->{dump_info}; } こうしておくと、たとえばクエリストリングに"&du
Situs Judi Slot Online SANDBET Penyedia 21 Provider Slot Gacor Perubahan zaman dari tahun ke tahun tidak terlepas dari perkembangan teknologi digital, fenomena ini juga berimbas pada taruhan mesin slot yang biasanya hanya dimainkan di casino dengan koin atau uang asli. Dimana kini, Anda dapat bermain taruhan ini secara langsung atau online tanpa terikat waktu dan tempat atau berpergian jauh ke neg
hide-k.net#blog: C::P::Email::Japaneseの文字化け対処 でWAVE DASH問題に何とか対応しようとしてMIME::TT::Lite::Japaneseに手を加えるというトンチンカンなことをやっていましたが、subtech - Bulknews::Subtech - cp932 vs. shift_jisでEncode::Aliasを使えばいいんじゃないかというお話があったのでEncode::Unicode::Japaneseとからめて試してみました。 sub send : Private { use Encode::Alias; use Encode::Unicode::Japanese; define_alias( qr/jis$/i => '"unijp-jis"' ); $c->email( Template => 'email.tt', To
これまで使用していたミニサーバーは、あくまでも開発時のデバッグ用のもので あり、実運用を考えた場合はちゃんとしたWebサーバーのもとで動作させる必要 があります。ほとんどの場合Apacheを利用することになると思いますが、方法と しては、FastCGIとして動作させる場合とmod_perl環境で動作させる二通りがあ ります。どちらを利用するかですが、Perlで開発をしているのなら、後者を是非 採用したいところです。というわけで以降mod_perlでの動作方法を説明します。 mod_perlの準備 FedoreCoreなどではコンパイル済のmod_perlがインス トール時から入っていますし、FreeBSDでもportsでのインストールができます。 しかし私の環境ではゼロからビルドしましたので、その手順を以下に示します。 mod_perlはここか ら入手します。Apacheは既にインストール
はてな認証APIをCatalystに組み込む - ヒルズで働く@robarioの技ログ をちょっと修正して、TypeKey認証にしてみます。 まずhttps://www.typekey.com/t/typekey/にログインして「Your Weblog Preferences(コメント登録するウェブログの指定)」に「http://localhost:3000/」を指定しておきます。ドメイン名さえ合っていればいいっぽいです。はてな認証APIと違い、コールバックURIはアプリケーション側で指定します。 lib/MyApp.pm Authentication::Credential::Hatenaを Authentication::Credential::TypeKeyに変更。 myapp.yml authentication: hatena: api_key: ***YOUR API_KEY*
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く