タグ

catalystに関するkicchomu3のブックマーク (97)

  • 最近の Catalyst の構成

    新しく作った開発プロセスの問題点が見えたわけだから、それはそれとして改善すればいいのに。プロジェクトに併せてテーラリングされてないのとか。そういうことを自発的にやれる人たちが必要だというのもわかるけど ■ [catalyst][perl] 最近の Catalyst の構成 最近 Catalyst のエントリをよく見かけるので自分の構成をさらしてみます。コードは CodeRepos にあります。 share - Revision 30441: /lang/perl/Chaostr/trunk 元々は、作ろうとしたアプリがあったんですが、去年の Catalyst confernce 以降、MyApp 的実験場になってます。仕事で作ったものはさらせないので、構成だけ表に出す感じ。ちなみに今のところ Catalyst 5.7 系でしか使ってないです。 あと、Controller クラスのベースで

    最近の Catalyst の構成
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Catalyst を daemontools で監視しつつ lighttpd の外部 FastCGI で走らせる方法とそのメリット - Craftworks Tech Blog - Branch

    JPA セミナーの時に jshery 氏も勧めていましたし、近頃 Geek の話題で目立つようになってきた、Catalyst を mod_perl でなく、外部 FCGI として走らせる設定方法を紹介します。 Catalyst プロセスの起動管理は DJB 氏の daemontools による管理がお勧めです。プロセスが死んでも自動的に再起動してくれます。手動での再起動も楽です。screen からショートカットキー登録して Catalyst を再起動する方法も後ほど紹介します。 Catalyst の FastCGI 起動の設定 まずは daemontools の run スクリプトです。 run #!/bin/sh exec 2>&1 exec env - \ PATH='/bin:/usr/bin:/usr/local/bin:/var/www/www.example.com/scrip

    Catalyst を daemontools で監視しつつ lighttpd の外部 FastCGI で走らせる方法とそのメリット - Craftworks Tech Blog - Branch
  • Config-JFDI-0.065

  • Catalystアプリを継承する - D-6 [相変わらず根無し]

    Catalystアプリを継承する Catalystはたいへんすばらしいフレームワークですが、新しいプロジェクトを始める、という時にcatalyst.plでスケルトンから作り直していつものプラグインを設定して・・・みたいな面倒な手間がいろいろあります。 Pixisはなるたけ簡単に新しいアプリを作れるようにしたかったので最初からプラグイン機構を念頭に置いて書き始めましたが、それはあくまで機能の追加にしか使えず、JPAサイトのようにPixisというフレームワークを使って、JPAというサイトがPixis機能を乗っ取るというような場合はそれだけではうまく設計ができませんでした。 これについては悶々と考えていたのですがCatalyst 5.8になり、Mooseベースのオブジェクト指向ができるようになったことでひとつひらめきました。たとえばJPA::Webというアプリを作るとして、基的にPixisがす

  • Catalyst のFastCGIスクリプトを走らせるshスクリプト - D-6 [相変わらず根無し]

    Catalyst のFastCGIスクリプトを走らせるshスクリプト daemontoolsでfastcgiプロセスを管理しようと思ってとりあえず書いてみた。 #!/bin/sh # # Copyright (c) 2007 Daisuke Maki <daisuke@endeworks.jp> # All rights reserved. # # fastcgi.sh # Runs catalyst based application's fastcgi script via daemontools' # softlimit script. You should call this script from a specific 'run' # script like so # # #!/bin/sh # /path/to/fastcgi.sh -s myapp.mydomain.com

  • Moosification: Catalyst 5.8に移行した際にちょっと気づいた事。 - D-6 [相変わらず根無し]

    Moosification: Catalyst 5.8に移行した際にちょっと気づいた事。 最初からMooseベースでアプリケーションを作るというのは、実務ではなかなか難しいのはわかります。一般論は JPA #02で話すのでおいておきますが(参加申し込みは今日5/12までですよ!)、5.8 からMoose化したCatalystであった問題・注意点をちょっと書き出してみます。 1. use Catalyst Catalyst::Upgradingを読んでいると package MyApp; use Moose; extends 'Catalyst'; __PACKAGE__->setup(qw/ ConfigLoader /); という表記が見られるが、これは気をつけないと駄目。 自分が直面した問題は、path_to()等を使った時に起こった。path_to() は現アプリのルートディレクトリ

  • 第6回 Catalyst::Upgrading:検証はお早めに | gihyo.jp

    3年前の大混乱 モダンPerl界を代表するウェブアプリケーションフレームワークといわれるCatalystが2006年半ばに5.6系統から5.7系統に移行したとき、創始者のゼバスティアン・リーデル氏を追い出す形で集団管理体制に移行した開発チームが最初にしたことは、プロジェクト開始当初から使われてきたCatalystという名のディストリビューションはそのままに、Catalyst-Runtimeという新しいディストリビューションをつくることでした。 このようなディストリビューション名の変更は、CPANクライアントを使っている分には(内部でモジュール名からディストリビューション名への変換が行われるので)問題にならないのですが、外部のパッケージ管理者たちには少なからぬ負担をかけました。なにしろ突然100を越す関連パッケージの依存が変更になるのです。基的にはメタ情報だけ書き換えれば済む話とはいえ、従

    第6回 Catalyst::Upgrading:検証はお早めに | gihyo.jp
  • JPA セミナー #1 (Session 2 Catalyst 改) - Craftworks Tech Blog - Branch

    1. Plugin プラグインの使用を控える 間違った使用方法、実装方法で定義されていることが多い プラグインの使いどころ リクエストディスパッチのロジックを監視、変更する場合のみ リクエストパラメーターの変換、Catalyst のメソッド実行チェーンの変更を含む 当に使わない方向で Catalyst::Plugin::* の中にはそもそもプラグインとして実装されるべきでないものが多い コンテキストオブジェクト ($c) にメソッドを追加する実装がそもそも良くない手法 大半のプラグインはモデルとして実装されるべき それ以外はそもそも存在するべきがどうかさえ疑問 (eg.Catalyst::Plugin::Message) Catalyst::Plugin::Authentication はどうなの? とはいえ、例外はある 認証系とセッション系はプラグインで存在しなければならない意味がある

    JPA セミナー #1 (Session 2 Catalyst 改) - Craftworks Tech Blog - Branch
  • JPAセミナー#1行ってきた

    JPA 主催のセミナー#1 に行ってきた。 はじめて秋葉原のUDXなるところにいったけど、すごくきれーなところで、会場もたっぷり広かった。 で、 まとめと感想。 第一部 「Better Perl Practices - 最新Perl開発手法のススメ」 スピリチュアル系ってわけではないけど、ナウでいけてるコードを書く・仕事をするための心がまえだったりの話。 習慣にするために、少しづつできるところからやる、考える、とか。 ユニークじゃなくてもいい。いろんな意味で CPAN に先人の苦労がつまってるのでありがたくつかおうぜ。 うんうんいいながら聞いてた。 Test::Class イイヨ 前から知ってるモジュールだけどそいえば使ったことない。使ってみる。 書くコード減らそう。つまるところ Moose 使おうぜ。 使おう。 第二部「Catalyst Guts - 高機能WebフレームワークCatal

  • catalystのサンプルアプリとソースを公開してみる - 新だるろぐ跡地

    モダンPerl入門を読んで色々勉強したので、サンプルアプリを作って自宅サーバで公開してみる。 http://niget.net/ ソースはgithubで晒し中。 http://github.com/hirafoo/niget/tree/master 誰かの参考になったり、disられたり、あれこれ議論したり、何かが起こったりするのを期待中。 とりあえず、このアプリの使い方とか。 ニコニコ動画の任意の動画のURLを入力 適当バリデートを通ったらDBに保存 5分に1回cronが走る。内容は、ニコニコ動画のAPIを叩いて、動画体のURLと動画の名前を取得 APIは2個ある。体のURLを取得する部分は小飼 弾さんのスクリプトを使わせてもらった 取得した内容をDBに保存。取得済みの動画は削除。 あとは動画体を落とせばいいじゃない 以上。 まーサンプルアプリだしね! でも、体URLを取得できるw

    catalystのサンプルアプリとソースを公開してみる - 新だるろぐ跡地
  • JPAサイト構築中 - D-6 [相変わらず根無し]

    JPAサイト構築中 結局ユーザー管理だとか、お金を振り込む事だとか、なんか色々やらざるを得ないと言うことから、自分で書いたほうが速いという決断でJPA用のサイトを一からCatalystで書いてます。 今回はこれをgithubで晒しているわけですが、今ふと思ったのは、普段から我々PerlプログラマはCPANでいろんなCatalystのプラグインだとかを見ていたり、もしくはあちこちで細かいティップスみたいなものを聞きかじってるわけだけど、ひょっとすると俺たちほとんど他人のCatalystアプリケーションって見たことない? よくよく考えたら自分でさえも2,3回しかなかった。もちろん、社内のものは除く。完全に外部の奴ね。MojoMojoみたいな完全にできあがってるアプリケーションってなかなか外に出てこないし、そもそも一回作ってそのままインスコしておしまい、みたいなの多いもんな。 まぁそんな事を踏ま

  • Craftworks Tech Blog » Catalyst でオートログインとブラウザを閉じるまで有効な Cookie を共存させる

    Catalyst::Plugin::Session では、デフォルトではセッションの有効期限は $c->config->{’session’}{’expires’} の値に固定です。 ですので、「次回からログインを省略する」のようなオートログイン機能を実装するには、セッションの expires を動的に変更する必要があります。 これは、C::P::Session::DynamicExpiryを使ってremember meに紹介されている、Catalyst::Plugin::Session::DynamicExpiry を使えば可能で、セッションと Cookie と両方の有効期限を変更してくれるので、 オートログイン無効の場合、ログイン状態は一定時間、ブラウザを閉じてもログイン維持 オートログイン有効の場合、ログイン状態は半永久的、ブラウザを閉じてもログイン維持 という仕様が実現できます。し

  • Data::Localize & Catalyst::Model::Data::Localize - D-6 [相変わらず根無し]

    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::Controller::Resources でオーバーロード POST を使いたい - 日向夏特殊応援部隊

    と id:ikasam_a にわがまま言ったら Catalyst::Request::REST::ForBrowsers ってのを教えて貰ったよ。 オーバーロード POST って何だよって方は、 統一インターフェイスと PUT and DELETE tunneled POST パターン - masaki@catalyst - Catalystグループ ROA と Catalyst - masaki@catalyst - Catalystグループ とか読むと幸せになれると思います。 使い方 MyApp にて、こんな感じにしときます。 package MyApp; use strict; use warnings; use Catalyst::Runtime '5.70'; use Catalyst::Request::REST::ForBrowsers; ### 中略 __PACKAGE__

    Catalyst::Controller::Resources でオーバーロード POST を使いたい - 日向夏特殊応援部隊
  • Catalyst 5.71000 - Vox

  • $c->uri_for の汚染 - 酒日記 はてな支店

    Bugtraq: WordPress XSS vulnerability in RSS Feed Generator を見て。 Catalyst でも $c->uri_for() で生成される文字列は、安全な文字列であると (なんとなく) 思い込んでいたらそうではないのだな。 <a href="[% c.uri_for('/') %]">みたいにエスケープしないで書くと、host 部分は $ENV{HTTP_HOST} (リクエストヘッダの Host:) から生成されることが多いので XSS が起きる。 これだと汚染された Host: を送ったクライアントにしか効かないような気がするんだけど、出力を Cache していると他のクライアントにも影響を及ぼせると。 まあ、出力はちゃんとエスケープしろ、という話だから目新しくはない。 $ GET -H 'Host:"><body onload=a

    $c->uri_for の汚染 - 酒日記 はてな支店
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • CC::Resources と CC::RequestToken を一緒に使う

    新しく作った開発プロセスの問題点が見えたわけだから、それはそれとして改善すればいいのに。プロジェクトに併せてテーラリングされてないのとか。そういうことを自発的にやれる人たちが必要だというのもわかるけど ■ [catalyst][perl] CC::Resources と CC::RequestToken を一緒に使う 追記 Controller::Resources の作者に対応してもらったよ!ありがとう! ここから元の記事 Catalyst::Plugin::RequestToken が廃止対象になって Catalyst::Controller::RequestToken が出てからだいぶ経ちましたが、Resources とどう組み合わせて使おうか悩んでいて、こうやったら一緒に使えるなぁと思ったのでやってみた。 package MyApp::Base::Controller::Resou

    CC::Resources と CC::RequestToken を一緒に使う
  • Catamoose Developer Release on CPAN! - Vox

    As of this writing, Catalyst version 5.8000_01 has been released to CPAN, although by now there may be a new version.  You can check out this preview release at:http://search.cpan.org/~mramberg/Catalyst-Runtime-5.8000_01/or if there has been any updates you can spot that in the version list.Pretty soon we won't be calling this Catamoose, it will be just plain old Catalyst.  Definitely you should b