はちゅにっき

こっちのブログはまったり更新

Perl

ここまでのまとめ

Catalyst Catalyst::Model::DBIC::Schema Catalyst::Controller::Resources Catalyst::View::JSON で、なんとなく WebAPI みたいなのが作れた。 今度まとめてみよー。 あと Catalyst::View::XML::Simple これを使えば、JSON、XML の2つを簡単に出力できそう…

気を抜くとすぐに忘れる "author_tests 'xt'" ってエラー

$ perl Makefile.plしたときに、出ちゃうエラー。 実はエラーじゃなくて警告? String found where operator expected at Makefile.PL line 17, near "author_tests 'xt'" (Do you need to predeclare author_tests?) syntax error at Makefile.PL line 17, …

DateTime の出力がうれしくなった

前回の記事*1で、DateTime がAtomFeed 的にうれしくないという記事を書いておいたら、id:teahut こと「たけまる」さん御本人からアドバイスが! "print Atompub::DateTime->new" でそれっぽい出力になりますよ.詳しくは perldoc Atompub::DateTime まで. …

Catalyst で static に DBIC の Schema を使いたい (補足)

http://d.hatena.ne.jp/magicalhat/20090114/1232003049 で書いた記事の補足。 上の記事までの内容だと、実際にサーバをスタートさせてアクセスしても [error] DBI Exception: DBD::Pg::st execute failed: ERROR: relation "book" does not existと怒られま…

DateTime の strftime('%z') がうれしくない

最近は AtomPub で遊んでます。 AtomPub というか、どちらかといえば Catalyst で AtomPubServer を作って遊んでいます。 特集:PerlでAtomPubサーバを作ろう! http://gihyo.jp/admin/feature/01/atompub-server すばらしい内容ですね! で、そんな中こまっ…

Postgres の時間を DBIC 経由で DateTime に変換する

PostgreSQL のテーブルに入っているタイムスタンプ情報を、何も意識せずに Perl の DateTime 型として扱えるようになるという、魔法のような呪文。 が、CPAN に載ってました。 http://search.cpan.org/~ash/DBIx-Class-0.08010/lib/DBIx/Class/InflateColumn…

DBIC で static にスキーマを生成して利用する

前回は自動でロードするようにしたけれど、オーバヘッドうんぬんかんぬんなどなどの理由から、static にクラスを先に生成することにしました。といっても unknownplace.org - Schema-Loader 使い方 http://unknownplace.org/memo/2007/05/07#e001 のまんまで…

Postgres のスキーマを指定して DBIC を設定したい

スキーマを独自に設定してある Postgres のデータベースを使う場合、特殊なこと、たとえば psql でシェルを立ち上げた後に mydb=> SET search_path TO my_schema; とか入力したり、環境変数 PGOPTIONS に export PGOPTIONS='-c search_path=my_schema' とか…

rake を使って CodeRepos から Checkout する

MENTA や NanoA といった最近話題の WAF や、HTTP::Engine といった CodeRepos で開発が進められている最近話題のモジュール群は、ソース読むだけでも良い勉強になるので積極的に Checkout したり、Update して、なるべくソースを追いかけまわるよう、頑張っ…

MENTA ではまる(微妙に解決編)

以下のエントリで書いた症状 500 Internal Server Error ファイルを開けません: : No such file or directory at lib/MENTA/Dispatch.pm line 65. http://d.hatena.ne.jp/magicalhat/20081218/p1 の "微妙に" 解決編。 結論から先に書くと lib/MENTA.pm: 127…

MENTA ではまる(継続中)

MENTA 使ってます。 Catalyst から MENTA に乗り換えた当初は、View とか Controller 付近でかなり困惑しましたが、慣れてしまえば結構サクサクかけますね。 といって、人様に公開できるようなものを作れない自分のカスっぷりも楽しいものですが。 そのうち…

いまさらだけれど Remedie を使ってみよう

Shibuya.pm で id:miyagawa さんが発表された、Remedie を今更ながらにインストールしてみることにしました。 本体を入手しよう。 Google Code にて開発が進められているようなので、そっからチェックアウトしてきました。 $ svn co http://remedie.googleco…

コンソール出力をカラフルにしたい

CUI なアプリケーション作ってると、ターミナル出力に色をつけられれば便利なのになー。 って、思うこともしばしば。 かといって、いちいちエスケープシーケンス書くのも大変だし。。。 じゃ、CPAN するか!とやってみたら、カンタンにみつかりました。 Term…

Shibuya.pm のレポートではないレポート

残念ながら、レポートになっていないレポートです。 「読むヒマがあるなら、ニコニコ動画にアップされている動画でも見た方がいい」 というのが正論すぎて何も言えません。 Shibuya.pm Technical Talk #10 ‐ ニコニコ動画:Q にアップロードされているようで…

Perl でいうところの $PERL5LIB は Ruby でいうところのなんなのさ

よく分からないタイトルでごめんなさい><Perl で 独自に作ったり、ダウンロードしたライブラリやモジュールを利用する場合、パスを通すために perl のスクリプト自体に # 相対パスはあんまりよくないかも! use lib qw( ./lib ); # かっこよく use FindBin…

デフォルトで読み込む assets などの path は?

追記: Plagger は "make install" することは想定してないみたいだよ! なので、以下の文章は「やってはいけない」代表的な内容ってことだね! config ファイルでわざわざ assets の場所を指定したくないんだけれど、assets ってドコに置けばいいの? と思っ…

ソース読めるところまで読んでみる

MENTA のソースを読むことができる範囲で読んでみました。読んだのはこのリビジョン $ svn info パス: . URL: http://svn.coderepos.org/share/lang/perl/MENTA/trunk リポジトリのルート: http://svn.coderepos.org/share リポジトリ UUID: d0d07461-0603-4…

Perl 初心者(?)が MENTA を使ってみるよ (サンプル動かす編)

Perl 初心者が、初心者にも優しいとウワサの MENTA を使ってみるよ。 ちなみに自分の Perl のレベルは以下の本での 6 〜 6.5 くらい。 あ、やっぱり2くらい。永遠の Perl 初心者です><Perlプログラミング救命病棟 (Programmer’s foundations)作者: ピータ…

1日の Twitter の発言を HatenaDiary に書き込む

Hatena::Gropu::Twitter ではその日の Twitter を、日記として POST する方もいらっしゃるようで。 というわけで、やってみよー。 でも、みんなどーやってるんだろう? と、思ったけれど「それ Plagger でできるよ!」という声がした気がするので、Plagger …

DDNS を自動で更新する

DDNS を自動で更新してくれるスクリプトは沢山あるけれど 自分が要求するようなモノを、見つけることができなかったので作ってみた。 要求事項はこんな感じ Linux で動く ieServer を利用しているので ieServer に対応している Value Domain を利用している…

リロード問題続き

前回のエントリの リクエスト&レスポンスヘッダを見てみると。。。 http://d.hatena.ne.jp/magicalhat/20080201/1201850545 どうやら、失敗しちゃう場合は If-Modified-Since がリクエスト時に送信されてるみたい。 If-Modified-Since って、読んで字の如く…

リクエストヘッダ & レスポンスヘッダ を見たい

Catalyst で作った CGI がリロードすると画像などの static なファイルを読み込まない問題つづき。 理由がぜんぜん分からないので、とりあえず HTTP のリクエストヘッダとレスポンスヘッダを見てみることに。 こーゆーのって、きっと Firefox のアドオンであ…

リロード問題

CGI で動かすと、リロードしても static なファイルがロードされない問題。 きっと Catalyst::Plugin::Static::Simple の使い方とかが間違ってると思いつつ ソースを眺めてみたけれど、ぜんぜん原因がワカラナイ。 もっとコアの部分まで読んでみないと分から…

Catalyst ことはじめ

散々既出なのだし、もっと知識豊富でタメになるエントリを書いてる方がいるのに 今さら書くのはどーかと思うけど、とりあえずメモ程度に。 ただし、以下の条件つき。 root 権限がない mod_perl は使えない インストール 一般ユーザが、CPANを使ってモジュー…

思い立ったが

catalyst.pl が実行できない理由は分かったので ダウンロードできるようになるまで待ってればいいのですが やりたいと思ったときにやらないと、冷めてしまうのが怖いので とりあえず勢いでなんとかインストールできないかと考えてみたり。 いつも近くにある…

とりあえず作ってみる

Catalyst を使いたい理由はイロイロあるけれど とりあえず写真データがたまっていることと 研究室のアルバム CGI を、そろそろ 勝手に 書き換えたいのでCatalyst を使ってみることに。 参考にしてるのは、とてもとても定番であろうこの本。 まるごとPerl! Vo…

catalyst.plが。。。

CPANモジュールをすべて最新にしようと、なぜか思い $ perl -MCPAN -e 'upgrade' したのはいいけど、アップグレードが終わったら catalyst.pl を実行すると変なエラーが出るようになった。。。 $ catalyst.pl Hoge /usr/bin/perl: symbol lookup error: /hom…

ど素人的 Perl Framework まとめ

今までちょこっとだけ触った Perl のフレームワークは Catalyst Sledge CGI::Application それについて簡単に比較してみて、どれを実際に使ってみるか考えよー。 (CGI::Application は使ったことあるけどー) Catalyst Perl の Framework としてはもっとも有…

login shell

login shell といえば、bash csh zsh などなどイロイロですが Perl な login shell があっても面白いんじゃないかなー。 名前はズバリ psh。 なんて思ってましたが、psh って本当にあるんですね。 ちょっと使ってみましたが、もっさりしてました。 ちょっと…

Doxygen を使う

以前から Doxygen は利用していますが、再インストールしたのでメモ程度に書いてみたり。 目的は glomosim と ns のソースを少しでも分かりやすく読むため。 って言っても、ns は Tcl が絡んでるせいで やっぱり良く分からないドキュメントが生成されそうだ…