![Amazon.co.jp: PerlフレームワークCatalyst完全入門: 山田祥寛: 本](https://cdn-ak-scissors.b.st-hatena.com/image/square/43792efde15edbec82e4195ae14ffb21366bc4df/height=288;version=1;width=512/https%3A%2F%2Fm.media-amazon.com%2Fimages%2FI%2F51InIk-DPvL._SL500_.jpg)
UML::Class::Simple ってモジュールがあります。このモジュールを使うと既存のプログラムを解析してクラス図を作成することができます。業務で仕様書を書く必要がでた場合、もしくは Catalyst のようなフレームワークをより深く知りたくなったときなどに大いに役立つモジュールです。 http://search.cpan.org/~agent/UML-Class-Simple/lib/UML/Class/Simple.pm UML::Class::Simple is a Perl CPAN module that generates UML class diagrams (PNG format, GIF format, XMI format, or dot source) automatically from Perl 5 source or Perl 5 runtime. Per
Catalystの特徴はなんといっても、Perl5のアトリビュート機能を用いた変態コーディングにあると言えましょう。もちろん『我々が等しく悦びを分かち合えるところの意味での変態ではなく、生物学でいうところの「生物個体あるいはその一部の外形のかなり付加逆的な内因的変化」としての変態』(isbn:4781904548、p. 149)ですよ。Catalystはアトリビュートを使うことで、まるでAWKのパターン・マッチングによるアクション起動に相当することをPerlで実現しているのです。これぞ変態。 ところが、Perl5のアトリビュートは積極的に使われることがないのか、探してみても解説が少ない。それで、Perl-5.8.5のソースまで遡って、ようやくattirbute.pmのPODの意味が理解できました。長いですが、理解できたのが嬉しかったので書いておきます。 ここでは、次のCatalystのコン
DoCoMoはCSSの外部参照に対応してくれていない。 via モバイル勉強会が開催されました! んなわけで、作ってみました。 Catalyst::Plugin::CSS::Docomo package Catalyst::Plugin::CSS::Docomo; use strict; use CSS::Tiny; use CSS::Tiny::Style; use HTML::TreeBuilder::Select; use NEXT; our $VERSION = '0.01'; sub finalize { my $c = shift; unless ( $c->response->body and not ref $c->response->body ) { return $c->NEXT::finalize; } unless ( $c->response->conten
物凄い便利です。 FormValidator::Simple だけでも充分便利すぎるのに、FillInForm はテンプレートに条件分岐などかかなくても勝手に value アトリビュートを探して値を入れてくれるし、WebForm もフォームから一発で DB を更新してくれたりします。FormValidator::Simple::Auto が DBIC_UNIQUE に対応してないそうなので(試していません)、そこが対応になればもう言うことないですね。 WebForm の情報が少なく、導入に手間取ったのでメモを残しておきます。 DBIx::Class::Schema::Loader で自動生成した Schema クラス package MyApp::Schema::User; とかに以下のように追加。 use base ‘DBIx::Class’; use base ‘DBIx::Clas
昨日の続き。DUPLICATIONができない(こちらとかこちら)、ということなので対応してみる。 こんなYAMLで(with: [mail1, mail2] がポイント) edit_execute: mail1: - rule: EMAIL message: not mail - rule: NOT_BLANK message: mail1 is required mail2: - rule: EMAIL message: not mail - rule: NOT_BLANK message: mail2 is required mail: - rule: DUPLICATION with: [mail1, mail2] message: mail1 and mail2 must be same. 追記 mail: - rule: DUPLICATION with: [mail1, mai
おっと、前回からかなり日が空いてしまった・・まだまだちまちま書いていきますよ。 再びCatalyst関連のドキュメントに戻り、主要なモジュール・プラグインについて習得を進めていきました。 セッション 認証 FillInForm その他のモジュール・プラグイン セッション さて、Catalystのチュートリアルを読み進めて行った訳なんだけれども、 Catalyst::Manual::Tutorial::Authentication これが有用なことを書いてそうなんだけど、何を言おうとしているのかさっぱり理解できない。 The Authentication plugin supports Authentication while the Session plugins are required to maintain state across multiple HTTP requests. ど
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
local宣言。 変数を局所化する宣言、と説明されているが、どうもピンとこなかった。。そこで、ちょっとlocalについてまとめてみました。 Catalystのsetupメソッド内でもlocalが使われています。local宣言がなぜ必要だったのか。また、そのときの内部の挙動はどうなるのか。 これを理解することで、localの持つ意味も掴んでしまいましょう! ※って間違ってたらごめんさい。 それでは、注目すべきCatalyst.pmのsetupメソッドを見てみましょう。 メソッドの構造は以下のようになっています。 setup { my ( $class, @arguments ) = @_; $class->log->warn("Running setup twice is not a good idea.") if ( $class->setup_finished ); .... $clas
MobileCat とは さいきんすっかり放置です、すみません。このページとソース逆引きのページだけ静的に残してあります。参考程度にお願いします。2009/8 冨田 Perl で、CPAN モジュールをさまざま組み合わせてモバイルサイトを作る方法を紹介してみるプロジェクトです。(紹介記事) このサイト http://mobilecat.koneta.org/ 自体がサンプルとなっています。UA を変えたり携帯からアクセスしてみてください。 Links ソース一式 // thanks coderepos ソース逆引き - 簡単な解説のページ TODO founder: Naoki Tomita (モバイル系ブログ) 携帯開発系チャンネル: #mobilejp @ irc.freenode.net おことわり スケールのサンプルになる必要もないだろうと、個人サーバーで軽く動かしているため、修正
なにかと BK がつきまとう携帯サイト開発ですが、「これを入れると携帯対応ができます」的な単一の何かに乗っかった形ではなく、『各課題をそれぞれモジュールで解決する』という方向のサンプルサイトを作ってみました。 MobileCat 実はモバゲー、mixi はじめ Perl はそうとう携帯サイトの裏で動いていますが、いかんせん各社歴史が古いからかほとんどが独自の Web フレームワークで動いてるんですよね。そこをふまえ、今のところ一番一般的である Catalyst を使ってみています。 Mobile + Cat[alyst] なので MobileCat。名前から発想した後付けで、デザインをネコにしたり適当なネコ語になるようにしてみた。ネコは林くんに描いてもらった。 サイトは絵文字変換のテストが楽にできるよう twitter 的なもので、無駄に端末 ID 認証やメールで投稿できる機能が入ってたり
はじめに Catalystでプログラムの修正を反映させるにはサーバーを再起動する必要があります。Catalyst付属のテストサーバーでは、-rオプションによって更新を自動的に検知して再起動することができます。 ./script/myapp_server.pl -rしかしコンポーネントが増えてくるとCatalystの起動に時間がかかるようになり、毎回再起動するのが辛くなってきます。実際、30個ぐらいのSchemaクラスを抱えるModelがある時、Controllerを少しいじっただけでサーバーが再起動され、アクセス可能になるまで数秒〜10数秒待つ必要がありました。Controllerだけ再読み込みしてくれればいいのに、と思いましたがサポートされていない感じ。ModPerlアプリケーションとして動かしてApache2::Reloadを使おうとも思ったのですが、それもサポートされてないとの事。
基本の設定ファイルを用意しておいて、環境毎に異なる設定で上書きしたいことが良くあります。その際、ホスト名(uname -nで出るnodename)を使うと便利です。 CatalystなアプリケーションMyAppでMyApp->setupする前に use POSIX; __PACKAGE__->config->{file} = __PACKAGE__->config->{home} . '/conf/myapp.yml'; __PACKAGE__->config->{config_local_suffix} = lc [uname]->[1];としておきます。 ホスト名mypcで実行した場合は conf/myapp.yml conf/myapp_mypc.yml というファイルを、この順序で探して見つかったファイルを全て読み込んでくれます。この時、後から読み込んだファイルによって設定が上書き
何とタイムリーな記事。まつもとさんが「仕様の継承」と「実装の継承」について語っているので勝手にまとめてみる。 まつもとさんがITProに書いた記事がきっかけになったのか、最近 Mixin に関する話題をよく目にする、気がします。 Perl は多重継承をサポートする一方で、Exporter を使った Mixin も可能です。この辺はmiyagawa さんのメールマガジンのバックナンバーに詳しく書いてあります。 Object-Oriented Programming with Perl Vol.29 - Exporter による Mixin Object-Oriented Programming with Perl Vol.30 - Exporter::Lite Exporter で関数を export しつつ、それを import した側で、関数ではなくインスタンスメソッドとしてそれを利用す
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Windows Windows TerminalWindows Terminal/環境変数でターミナルを判別Windows Terminal/画面分割Windows Terminal/設定 - Profiles.jsonWindows UpdateWindows Update/トラブルシューティングWindowsストアイベントログイベントログ/イベントログにメッセージを出力するイベントログ/カスタムビューのフィルターサウンドサウンド/Beep音を止めるスクリプトスクリプト/VBScriptネットワークネットワーク/プロファイル切り替え(パブリック・プライベート)ネットワーク/メディア共有を無効にするフォントフォント/Clear Type Tunerで表示を調整するフォント/システムフォントの入れ替えフォント/システムフォントサイズをレジストリ修正して変更するフォント/フォントリンクプロセス
テンプレートツールキットマニュアル 職場でTTを使っていた時に少しずつ訳したものです。途中よく分からない所もあって、かなり適当。自動翻訳よりはマシかも、という程度です。 追記・修正歓迎。質問不可。→ しろいわ(public@hakoniwa.net) オリジナルマニュアル http://www.template-toolkit.org/docs/plain/Manual/Directives.html CPAN http://search.cpan.org/~abw/Template-Toolkit-2.14/ 概要 解説 テンプレート変数へのアクセス GET CALL SET DEFAULT 他のテンプレートファイル・ブロックの処理 INSERT INCLUDE PROCESS WRAPPER BLOCK 条件処理 IF / UNLESS / ELSIF / ELSE SWITCH /
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く