【Perlフレームワーク】Catalystを語る人
mod_perlで動かすと「Couldn't render template "file error - hoge.tt: not found"」というエラーが出るんですが解決方法を知ってる人がいたら教えてください。 Foo::View::TT とかで INCLUDE_PATH がめちゃくちゃとか
$c->stash->{template} に変な指定してるとかじゃない?
見てあげるから github に丸ごとアップすればいいよ。 >>111
すみません、GitHubがよく分からずアップできていません。
と言ってもほとんどスケルトンと同じものです。
catalyst.pl App
./script/app_create.pl view TT TT
Root.pmに下記を追加。
sub hello :Local {
my ( $self, $c ) = @_;
}
./rootにhello.ttを追加。
app_server.plではうまくいくんですが・・・ apache(mod_perl)再起動後が遅すぎる・・・。
数アクセスあれば軽くなるけど、それまでが重いのは
何とかならないのでしょうか。
解決策をお教え願えれば幸いです。 startup.plとかで予めロードするといいよ。
共有メモリに入るから効率的になるし。 >>114
某SNSアプリの開発をやり始めたのですが、タイムアウトが非常に短くて
課金周りで失敗するのです。他の人(他の言語)の人はどうしてるのかなと・・・。
>>115
なるほど。その方法で試してみます。感謝 JSPやってたときはリリース時にバッチで全画面叩いてたな perlbrewで素の5.12.2を$HOME以下に作って、おもむろにcpanm Catalyst::Runtime
# Failed test 'No C3 error'
# at t/aggregate/c3_appclass_bug.t line 27.
# died: Can't use an undefined value as a HASH reference at /home/helloworld/.cpanm/work/1294144068.29782/Catalyst-Runtime-5.80029/blib/lib/Catalyst.pm line 2422.
# Looks like you failed 1 test of 1.
これから始まって、テストこけまくり
RT見てもそれっぽいのはないしなあ・・・ 5.8.9で同じようにやったらあっさりインスコできた
5.10.1も>>118と同じ状態になった
こけたテストと5.10.x以上で現象が出るってことは、mro周りが非常にあやしい気がする 5.80030出てたから同じ環境でやってみたがテスト通ってた catalystでIPC::Open2使えないよ。
どうすりゃいいん? CGU::POST_MAXのcatalyst番はないんですか?
Catalyst::Reqeustの$req->read( [$maxlength] )
これでいいんですか?
これをやったんですが
どこでエラー取得で切るんですか?容量こえてたばあい CatalystでApacheように動かしたんですけど
.cgiファイルとか読み込みたいんですが
ソースごと表示されてしまいます
add handler .cgiみたいなのできないんでしょうか?
わざわざ、アクションに追加してcgiやらないといけないんでしょうか?
http://xxxx/hello/xx.cgiで見れるようにしたいです だめなんですか?
xx.cgiっていうファイルもう作っちゃってあるので
そこから取得したデータをjavascriptで使いたいんです
xx.cgiをアクションとして作り直さないとだめなんですか?
xx :Local{} みたいに?
教えてください もうね、なんというか、もっと基礎から勉強したほうがいい <Location /app>
SetHandler modperl
PerlResponseHandler Hello
</Location>
Alias /app/hello /var/www/Hello/root/hello
<Directory /var/www/Hello/root/hello>
allow from all
</Directory>
<Location /app/hello>
SetHandler default-handler
</Location>
CGI::Appもシンプルで今でも使ってるとこは多いけど、今から新しくやるならMojoliciousの方がいいだろうな。
Catalystも高機能なフレームワークだけど、最近はMojoliciousみたいなシンプルな奴の方が流行というか、そういう流れでは。 ところでフレームワークで作ったアプリってCGIで動かすのはおかしい?
PSGI/Plackとかの解説ばかりなんだけど。
LAMP環境、SpeedyCGIで動かしたいんだけどMojo(licious::Lite)が動かないんだよなぁ。(1発目の実行時が)
Template絡みだと睨んでいるのだけど。
そもそもCatalystじゃないからスレ違いなんだけど、やり方分かる人教えて。
遅いレスだが、
http://mojolicious.org/にあるMojolicious::Liteのコードの内、
app->start();
を
app->start('cgi');
にする。
あとは、index.cgiとかのファイル名で保存して、(当然先頭行に#!/usr/bin/perlとか書いてパーミッションは755とかにして)、
CGI実行出来るApacheのドキュメントルート以下に置けば動く。
Mojoliciousの場合でもstart()の引数を'cgi'にすればいいだけ。
Plackupとxxx.psgiとCatalystのアプリのソースがあれば
Catalystとかのモジュールが入ってない環境でも動くんですか?
いま./script/xxx_create.pl PSGIでblog.psgi作ってみたんですが
./script/create_serverってやってるのおなじです
どういうメリットありますか?配布するとき相手がCatalystなくても動くとかですか?おしえてくださいメリット CatalystをRESTfulに書こうといろいろ探していて、
Catalyst::Controller::Resources というのが良さそうなのですが、
最近の記事がないのとこいつ自体のアップデートが2009で止まって
いるので躊躇しています。
1)C::C::Rは良い。updateがないのはC::C::Rは充分枯れているから。
2)C::C::Rは良い。Catalyst自体一段落しちゃったから記事がないだけ
3)みんな既に他のものを使ってRESTful環境を構築している
4)REST自体オワコン
あたりが考えられるのですが、実際のところどうなんでしょう?
perlのフレームワークで悩む時間は無駄。
人間の人生において時間は有限。
その有限な時間を有効活用したいのであれば、大人しく、現在、Web開発において
最も最適な言語であるPHPのフレームワークに関して悩めばいい。
PHPのフレームワークはどれば一番良いのか、と、悩む時間のほうが、
Perlに関わる時間よりも有意義に過ごせるだろう。
限りある時間を無駄にしてはいけない。
perlによるWeb開発の時代は、とっくの昔に過ぎている。
たとえ辛くても、この事実は認識しなければならない。 僕PHPやるね
いまからでもがんばればおいつけるよ PHPは文字コード周りがお粗末すぎて使い物にならない。
えてしてPHPerは間違ったことを吹聴する傾向にある。
おっと、断っておくが僕は全ての言語は平等だと思っている。 「〜は使い物にならない」って言ってる奴自身が使い物にならないのは、よくある話 Perlぐらいだよな。
UTF8フラグなんて
意味不明なものがある言語はw UTF8フラグをdisってるやつで、UTF8フラグを正確に説明できる
やつを見たことがない。つまり存在意義がわかってない。
あれがないとむしろ困るわけだが。 あたらしいことをおぼえてもすぐすたれるから
きそとなるぶぶんをちゃんとかためといたほうがやくにたつんだよ くだらないものを覚える必要はないよ。
他の言語を知ってれば、そんなのなくても
何の問題もないことは分かりきった話だし。 >>153
じゃあなんで俺の隣の島はPHPの文字コードの問題でいつも
揉めてるんだ? UTF8フラグ的なものはPythonにもRubyにもある。ないのはPHPぐらいなもの。 >>154
俺の隣の島でPerlの文字コード問題で
もめてるのと同じだとおおもうよ。 >>155
内部に隠蔽されているなら何の問題もないよ。
Perlの場合、コードの中でUTF8フラグをつけたり外したりして
cpanモジュールに渡さないといけないことが多々あるので
問題になってる。 >>157
Perlの場合、decode/encode周りをよく理解してない厨房が多いだけで
分かってる人が見ればすぐ治る場合が多いが、PHPの場合複雑怪奇な
正規表現書かないとどうにもならないケースが多々ある。
PECL/mb_*が糞すぎてカオス。 >>158
そんなの(PHP以外の)他の言語でも同じ。
バイト列しかないPHP脳だと不思議に思うかも知れないが、他の言語じゃ文字列とバイト列を分けるのは当たり前。
まあ、もっともPHPの場合、このままでいいのかもしれない。PHP6は開発中止になってよかったのかもしれない。
みんな現状で満足してるみたいだから。
>>160
PHPってバイト列と文字列は別って概念ないの?
まだ?
それが問題になって10年以上経ってるのに?
( ゚д゚) PHPのユニコード対応ってあれ以来まったく進展ないらしいね。どうするか検討すらしてないそうだ。 文字コードフラグならまだ意味は分かるけど
UTF8フラグだもんな。 PerlやPythonの多言語処理は、内部の文字列エンコーディングがUTF8(UTF16)と決まってるんだから、UTF8フラグと呼ぶのは正しい。
UTF8はASCIIコードと互換性があるのだから
文字数を数えるとか以外では
区別する必要がないんだよ。
つまりUTF8ならバイト列として処理して構わない。
それなのにいちいち変なフラグつけるなと。 >>165
じゃw_char型ってなんのためにあるの?
>>166
UTF8って表現は俺も意味わからん。
Unicodeフラグの方が正しい
>>168
お前みたいのが迷惑なコード書き散らすんだよ。 Perlの内部表現はUTF8なんだからUTF8フラグと呼ぶのは正確。decode()してエンコードがUTF8であると決定されるんだから。
>>170
内部表現はUnicode(多分w_char)だよ。¥x{FFFF}とかにフラグ立てられるっしょ。 w_charは2バイト限定。
UTF8は1〜6バイト
Unicodeはただの文字集合。内部表現じゃない。
そんなこともしらんのか
>>172
Unicodeのコードポイント0x0000-0xffffをw_charに
突っ込んでるのがPerlの内部表現って意味だけど? 1〜6バイトの可変長文字列を内部表現にしたら扱いにくくて
仕方ないだろjk。 >>173
Unicodeのコードポイントは0x0000から0x10FFFFだ
16ビットに入りきるかボケ >>174
ASCII互換にすることで
扱いやすくしているのを知らんのか。
ASCII互換の意味調べてから出直してこい。 >>178
latin-1かUTF8って書いてあるだろ。
それ以外じゃねーよ。
勉強になったか、初心者よ。 >>179
俺関係ないし。
将来的に変わるかもしれないからプログラマは内部表現に
依存すんなってことでしょ? >>181
Perl の内部表現の一つはたまたま UTF-8 です。 残念ながら、
Perl は秘密を守れないので、このことはみんな知っています。
これが多くの混乱の源です。 内部表現は何か分からないエン
コーディングで、常に明示的にエンコードと デコードが必要
ということにしておいた方がよいです。 Rubyみたいに内部表現のエンコーディングが任意な言語なら別だが、Perlの内部表現はUTF8で固定されてるのでUTF8フラグという呼称になる。
問題は、UTF8フラグありのUTF8文字列と
UTF8フラグなしのUTF8文字列があるということ。
どっちを使うべきか?
はっきりしているのはPerlよりも外に出力するときには
UTF8フラグは無しにするということ。 >>185
>問題は、UTF8フラグありのUTF8文字列と
> UTF8フラグなしのUTF8文字列があるということ。
へえーUTF8フラグなしの文字列があるのか。
UTF8フラグなしはバイト列だと思うがな。 UTF8で書かれたテキストファイルには
UTF8フラグなんてものはついてないが
これをバイト列と呼ぶやつはいない。
お前は常識を知ったほうがいい。 何が言いたいのか分からないが、
PerlじゃUTF8フラグがあるのが文字列で、ないのがバイト列って呼んでる。
PythonでもRubyでも文字列とバイト列は分けて処理する。PHPもPHP6でそうなる予定だった。 Catalystスレのはずなのに、別のスレになっててワロタ Catalyst::Controller::Resources
って最新のCatalystに入らないよね?
RESTfulに書く方法ってないの?
あれ?入ってない?
つい最近セットアップしたものには入ってるな
無意識のうちにcpanmとかで入れたのかも >>193
む、俺の勘違いか。調べてみる。ありがと。 >>193
http://www.cpantesters.org/cpan/report/07333450-b19f-3f77-b713-d32bba55d77f
これと同じ問題でインストールにコケる。
実際にHTTP::RequestでアクセスしてみるとNot Foundが帰ってくるっぽい
HTTP::Requestとかはup to date
君たちフレームワークおぼえてるの
基礎なる部分を覚えたほうがいいよそっちのほうが後々役に立つからね
なんかそういうのすぐ廃れるからやめたほうがいいよ
でもぼくみんなに秘密のやつつかってるけどね自社用の フレームワーク:特製ひろむスペシャル1号っていうやつだよ
>>199
フレームワークを使わないと基礎は身につかないよ。
独自でフレームワークを作り上げる人なら話は別だがw
フレームワークに使われてるアーキテクチャ。
これを理解するには実際に使ってみるのが一番早い。
フレームワークを使ったことがない人は
アーキテクチャの ”基礎” が全くなってない。
>>199
基礎は身につけるもの
フレームワークは利用するもの
技術は何にしろすぐ廃れる物
つかtokuhiromはAmon2もっと力入れてくれ。 僕のミステリアス大作戦にひっかかったみたいだね
Daikuっていうツール
これみんなどんなツールか知りたがってるよ
大工 ほら
きになったでしょ わたしたちが創造するモノを通じて世界の人々をハッピーにすること。それがモバイルファクトリーの存在意義で