タグ

perlとcatalystに関するbayashi_netのブックマーク (115)

  • Catalyst in the Cloud

    A lot of buzz was generated recently in the Perl community after DotCloud, a big PaaS player, introduced its brand new Perl stack, letting developers deploy modern Perl web applications into the "Cloud" without having to worry about the underlying system at all. DotCloud already provides a nice Dancer example, and sri was diligent enough to provide a Mojolicious example as soon as he got his hands

    Catalyst in the Cloud
  • 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)とかしてみた - 新だるろぐ跡地
  • Modelはいらない子? - Perl日記

    CatalystでMVCの勉強をだらだらとのろのろとやっていっているけれど、いろいろ調べているうちに、どうもModelディレクトリにモデルを入れるのは、最近の手法ではないのかなという感じ。 参考: catalystでモデル分離が落ち着いた。その上でUser->find_by(id => 2)とかしてみた - だるろぐ跡地最近のCatalystアプリケーションの構成 - (゚∀゚)o彡 sasata299's blog 確かに$c->model('モデル名')って取り出しやすいけれど、それがMとCの結合度を高めてしまっている、という理由ぽい。 で。 今日はCatalyst::Model::Adaptorを使って、API経由でロジックを記述するやり方を覚えた。 参考: Catalyst::Model::Adaptorを使ってみた - hide-k.net#blogCatalyst:

    Modelはいらない子? - Perl日記
  • 自分の最近のCatalystのモデル部分の書き方 - D-6 [相変わらず根無し]

    自分の最近のCatalystのモデル部分の書き方 こちらのブログでなんか呼ばれた気がしたのでとりあえず書いてみた。 あくまで自分はどうしてるか、って話ですが、最近はCatalystでなんか書くときはこんな感じで使ってます。 色んな事がこの図に詰まっているので、箇条書きしてみる: Model::APIAPIオブジェクトを作成して、使用時にはModel::APIに対して`find()`というメソッドを使って実際のAPIオブジェクトを持ってくるSchema等はMyApp::Schemaに定義し、Model::APIのアトリビュートとして持っている。cacheも同等。これらの初期化引数は設定ファイルのModel::APIから取れるようにしておくCatalyst::Model::DBIC::Schemaは*使ってない*Model::APIではACCEPT_CONTEXTが呼ばれた時点で、もしまだ初

  • Mojomojo.org--------------We are Coming Soon

  • Yokohama.pm#05.5 - Hatena::Diary::Neko::kak 500 Internal Server Error

    金曜日に行われたYokohama.pmでKamuiについて 発表させていただきました。 http://yokohama.pm.org/2010/02/yokohamapm-5.html http://yokohama.pm.org/2010/03/yokohamapm-5-1.html 持ち時間10分じゃボリューム的につらいすね。 発表資料は http://nekokak.org/presen/yokohama06/ こちらにあります。 個人的にはWAFを探している人はCatalystを使えばいいと思います ドキュメントもしっかりしてるし 利用ユーザも多いので問題があったときに相談出来る人が多いと思います。 個人的にKamuiを作ろうと思ったのは なるべくMoose/Mouseに依存してないこと、 Sledgeが好きなのでSledgeぽくかけること Catalystのようなattribut

    Yokohama.pm#05.5 - Hatena::Diary::Neko::kak 500 Internal Server Error
    bayashi_net
    bayashi_net 2010/03/13
    attributeで書けるのが好きだけど、なるほどー。「Catalystのようなattributeでdispatch tableをつくるのが嫌なので集中管理できるように」
  • Roads Home - consigli per gli acquisti

    il sito tutto Italiano 🇮🇹 di recensioni, offerte e sconti sui migliori prodotti dei principali portali online di e-commerce. Fatti consigliare da mojomojo il simpatico avatar esperto di acquisti impulsivi 😂

    Roads Home - consigli per gli acquisti
  • YAPC::Asia2009 で話してきました

    Chaostrのソースコードはここです。 今日紹介した構成は、事例の中で紹介してる マンガ市場 DL が一番近いです。今はやっぱり $c->req, $c->session を渡すのをやめてしまってたりします。 ちなみにマンガ市場 DL の運営を行っているのはブックヴィレッジさんです。弊社は開発協力という形でリニューアルをお手伝いさせていただきました。 姉妹サイトの ToMiCo にも先日マンガ市場 DL との連携機能が付いたようです。 FormValidator::LazyWay で検証ルールをまとめよう もう一つのセッションでは一般参加として、FormValidator::LazyWay を紹介させていただきました。 話し終わった後に質問をいただいたりして当にうれしかったです。そして返答がおどおどしててすいません。 今思い出すと、「自分でルールを作るのはどうしたら良いか」という質問で

    YAPC::Asia2009 で話してきました
  • YAPC::Asia 2009でmoder Catalystについて話してきた - hide-k.net#blog

    YAPC::Asia 2009でmodern Catalystと称してトークをしてきました。 多分Perl史上良くも悪くも最も多くの人が開発、利用に携わったWeb Application Frameworkで、未だに現場で多く使われているCatalystがメジャーバージョンアップをしたのでその辺を話してきました。 Moose-ified = modernという訳ではないし、自分はMoose廚ではないのですが多くの時間を割く結果になりました。当は抽象化やTest周りやおすすめのPlugin/ComponentとかTipsとかDBIC周りにも触れたかったのですが20分では無理だったので、またの機会に。最後の方でちらっとだけPSGIにも触れさせてもらいました。 Modern CatalystView more presentations from Hideo Kimura.

  • Catalyst::Controller::ActionRoleを使ってみた - hide-k.net#blog

    最近Catalystをご無沙汰してたのでリハビリがてらJPA セミナーでも紹介されていたCatalyst::Controller::ActionRoleを触ってみました。 要はこのコントローラを継承することでMoose::Roleで書いた機能をメソッド attributeで呼べるようになります。 lib/MyApp/ActionRole/Bar.pm package MyApp::ActionRole::Bar; use Moose::Role; after execute => sub { my ($self, $controller, $c) = @_; my $body = $c->response->body || ''; $c->response->body($body . 'Bar'); }; 1; lib/MyApp/Controller/Foo.pm package MyA

  • cpanの履歴とかuninstallとか - (゚∀゚)o彡 sasata299's blog

    2009年06月07日01:51 Perl cpanの履歴とかuninstallとか 実は昨日、、、とある事情により Catalyst::Plugin::Session を update してしまったんです。。。「何か長いなー」と思っていたら、な、何と、Catalystが 5.8 に update されていました。 ○ルナレフ: 「な… 何を言っているのか わからねーと思うが(ry」 ぎゃあぁぁぁああぁヽ(゚ロ゚; ) 最初は、「まぁボチボチ Catalyst5.8 使ってもいいかなー」くらいの軽い気持ちだったんですが、エラーがたくさん出てきます。しかも全く解決できません!!Catalystサーバの起動も失敗するし...orz ってことで、元の状態に戻しました。そのときの作業ログ。 まず、このコマンドで最近の cpan install 履歴をチェックします。このコマンドは凄く便利ですね。

  • Catalystでオートログイン機能の実装 - (゚∀゚)o彡 sasata299's blog

    2009年06月05日06:06 Perl Catalystでオートログイン機能の実装 【追記ここから】 vkgtaroさんのコメントで教えていただいたURLを参考に MyApp::Plugin::Session.pm と読込み順番を修正しました。ありがとうございます!!というか、MyApp::Plugin::Session.pm は hidek さんのコードが素晴らしすぎて、最終的にほぼ同じになってしまいました(汗 ※一部変更しました(09/06/08) coderepos に同じような plugin があるよ http://coderepos.org/share/browser/lang/perl/Catalyst-Plugin-Session-DynamicExpiry-Cookie/trunk 【追記ここまで】 先日、Catalystで作ったWebアプリケーションで、オートログイン

  • 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
  • 第8回 Reaction:CatalystをもっとDRYに | gihyo.jp

    アプリケーションの枠組みを越えた再利用 前回は、Catalyst 5.7で登場したチェーンドアクションを利用して適切なベースコントローラをつくれば、CRUDのような定型処理は再利用できるようになる、という話をしました。これはコンテントマネジメントシステム(CMS)のように同じようなインタフェースを持つ画面が多いシステムをつくるときには特に効果的なのですが、その再利用を、ひとつのアプリケーション内だけで完結させてしまうのはもったいない話。自社でつくるアプリケーションにはどんどん使い回していきたいものですし、コピー&ペーストを避けるためには、なんらかの名前空間上にその共通コードをまとめていく必要があります。 もちろんそのコードが小さく、十分に一般化できるものなら、Catalyst、あるいはCatalystXという名前空間に入れてもかまいませんが、コントローラの部品だけでなく、モデルやビューまで

    第8回 Reaction:CatalystをもっとDRYに | gihyo.jp
  • Catalyst ベースのアプリケーション設計(構想) - Craftworks Tech Blog - Branch

    Catalyst は Web アプリケーションを開発するときに、フレームワークとしてとても便利です。 ひとつの Web サービスを作ろうとすると、以下のような様々な処理が必要になってきます。 ユーザーに見せるWeb インターフェイス アクセス集計などの日次バッチ処理 アバター画像などの生成・変換処理 ユーザー通知やメルマガ配信などのメール送信処理 これを、すべて Catalyst にやらせてしまうと、プロセスが太りすぎてしまいますし、アプリケーション設計として不自然です。 結論から先に言ってしまうと、モデルやロジックだけでなく、ヴァリデーション処理なども Catalyst から分離してしまい、Catalyst はリクエストのディスパッチと View だけを担当するのがスマートで、拡張・メンテナンス・テストがしやすいやり方なのかなと、最近うっすらと考えています。Catalyst 在りきではな

    Catalyst ベースのアプリケーション設計(構想) - Craftworks Tech Blog - Branch
  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • 第7回 Catalyst::DispatchType::Chained:チェーンドアクションはむずかしい? | gihyo.jp

    モダンPerlの世界へようこそ 第7回Catalyst::DispatchType::Chained:チェーンドアクションはむずかしい? 5.7系列の目玉だったチェーンドアクション 3年前に登場したCatalyst 5.7系列で導入された機能のひとつに、チェーンドアクションと呼ばれるものがあります。これは慣れると非常に便利な機能なのですが、それまでのURLとクラスの対応を根底から覆してしまう大転換だったわりにドキュメントが不足していたため、活用の仕方がわからないという声もありました。 今回はCatalyst 5.8系列で導入された新しいツールを使いながら、このチェーンドアクションの使い方を紹介していきます。スペースの都合でCatalystの基はある程度理解しているものとして話を進めますので、わからないことがあったらCatalyst体のドキュメントやCatalyst::Manualなどを

    第7回 Catalyst::DispatchType::Chained:チェーンドアクションはむずかしい? | gihyo.jp
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 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