2007-01-01から1年間の記事一覧

pythonのGearman Client

ここにあるのでチェックアウトしてインストールする。 http://code.sixapart.com/svn/gearman/trunk/api/python/インストールはいつも通り、 $ sudo python setup.py installとしておいた。 使い方 「hello」というWorkerが動いてて「hello 引数」という文字…

RESTful Webサービス 第1章 プログラマブルWebとWebサービス

RESTful Webサービスを衝動買いしてしまったので渋々読んでいる。 渋々なのでなかなか頭に入ってこなくて困ったけど、なんとか1章を読み終わって何が書いてあったのか分かった気がしたのでメモっておくよ。 ポイントはメソッド情報とスコープ情報。 Webサー…

FC6のperlをアップデートした

redhat系のperl5.8.8にあてられているパッチのせいで動作が遅いという件に対応したのでメモ。ずっとスルーしてたんだけどDBIx::Class::Cursor::Cachedを入れたら新しいDBIx::ClassがインストールされてしまいCatalystのテストサーバーを起動するたびに警告メ…

Yahoo!不動産の検索結果をGoogle Mapsに表示する

もう絶対に誰かがやっていそうだけど。 いま横浜に住んでいて会社は恵比寿なので通勤に1時間以上かかっているんだけど、最近になって時間がすごくもったいないと実感するように(ようやく?)なってきた。往復で2時間半は下らないのでこれが例えば30分になっ…

HTML::FormFu 0.02

最近HTML::FormFuを試して見ているんだけど、タイムリーなことに0.02系に更新されたようです。http://search.cpan.org/~cfranks/HTML-FormFu-0.02001/DBIx::Class::HTML::FormFuがHTML::FormFu::Model::DBICに置き換わったりしているので後で試す。 - 追記:…

HTML::FormFuでDBカラムのユニークチェックをする

調べたのでちょっとメモ。 ユニーク制約付きのカラムのユニークチェックをして違反してたらエラーメッセージを出す。このMLを参考にした。 http://grokbase.com/topic/2007/09/25/html-formfu-force-error-on-field/yoP3-UCIz8etTxOgftmcYMqZEGA 1. evalとCo…

TheSchwartzのworkerはdaemontoolsで動かすことにしたよ

daemontools daemontools howto daemontoolsのインストール、サービスの作成については上の2つを参考にする。作ったのは以下のようなサービスディレクトリ。/service以下からここにシンボリックリンクを張って使用する。 http://trac.onot.in/public/browser…

TheSchwartzを使ってみた

TheSchwartzについては以下がわかりやすい。 TheSchwartzは非同期かつ分散した環境で各種ジョブを処理させるという枠組みを再実装して利用しやすくしたもので,MySQL(SQLiteもサポート)上のデータベースにジョブを格納し,各ワーカープールで処理を行って…

KML Makerというのを作ったよ

http://takatoshi.dyndns.org/kmlmaker/ KMLというのは、 KML (Keyhole Markup Language) は、Google Earth や Google マップに表示するポイント、線、イメージ、ポリゴン、およびモデルなどの地理的特徴をモデリングして保存するための XML 文法および XML …

楽天オークションで出品できない商品

楽天オークションでは、以下のような商品は出品できませんのでご注意ください。ゆうパックの場合 ・ 梱包したときに縦/横/高さの合計が170cmを超えるもの ・ 梱包したときに重量が30kgを超えるものヤマト運輸 宅急便の場合 ・ 梱包したときに縦/横/高さの合…

FindBin::libsがCygwinで動かない

追記(2008/01/15) 1.36で修正されたようです。 1.36 Sun Jan 13 22:37:46 EST 2008Add eval for abs_path, apparently Cygwin's abs_path croaks when the path doesn't exist (vs. simply returning undef). Fix is to eval the abs_path calls. http://s…

DjangoのAdminサイトのリスト表示で論理削除したレコードを表示しない方法

・・・がよくわかんなかったんだけどそれなりにできてしまって、このやり方に全く自信がないという話です。 - 地域と店舗があって多対1の関係とします。「地域 has many 店舗」です。 テーブルのカラムにdeleted_atというDateTime型のカラムを持たせてこれに…

てすと

Catalyst::Plugin::I18Nを使ってメッセージ類をControllerに直接書かないようにする

例えばカテゴリを削除するアクションを実行した結果を表示したい。 flashを使って例えばこんな感じにする。 if ($c->form_submitted) { if (my $name = $c->forward('do_delete')) { $c->flash->{notice} = sprintf('カテゴリ「%s」を削除しました', $name);…

問題はCatalyst::Plugin::FormValidator::Simple::AutoのYAMLのprofileのフォーマットにあるのではないか

Catalyst::Plugin::FormValidator::Simple::AutoでマルチカラムのUNIQUEチェックをする場合 - libnitsuji.soの続き。 いろいろ考えてるうちに問題はYAMLの書き方じゃなくてほかのところにある気がしてきました。 つまりハッシュをキーにするという考えがまず…

Catalyst::Plugin::FormValidator::Simple::AutoでマルチカラムのUNIQUEチェックをする場合

昨日に引き続き今日もまた躓いています。 FormValidator::Simple::Plugin::DBIC::Uniqueでマルチカラムのユニークチェックをしたい。 たとえば「このID(自分自身)以外で名前が重複するカラムがあるか?」みたいなチェックをするためには SELECT COUNT(*) F…

CatalystでFormValidator::Simple::AutoでDBIC_UNIQUE使う場合

FormValidator::Simple::Plugin::DBIC::Unique - unique check for DBIC - metacpan.orgを見ると、Catalystの場合は # you also can pass resultset object. # in catalyst application, FormValidator::Simple->check( $q => [ name => [ ['DBIC_UNIQUE', $…

Net::Technorati書いた

テクノラティのAPIを使うためのモジュールはすでにWebService::Technoratiというのがあるんだけど。 WebService::Technorati - a Perl interface to the Technorati web services interface - metacpan.org 使い方がよくわからないんで自分で書いてみました…

DBIx::Class::Validation

DBIx::Class::Validation - Validate all data before submitting to your database. - metacpan.org モデル層でValidationするモジュールなんだけど、単純にCatalystで使ってみたらイマイチだったのでメモ。 イマイチというのはコントローラが思いのほか汚…

GD::Barcode::QRcodeのバグ?の件について

GD::Barcodeのバージョンは1.15で。 http://search.cpan.org/~kwitknr/GD-Barcode-1.15/newのパラメータにVersionというのがあり、これは以下のようにデフォルトではauto selectとなっているのですが動き的にはデフォルトは1になってしまいます。 Version Ve…

こんなControllerを書いた

Controller. - Lazy Programmer :-pこのまえCatalystをいじってたときはこんなのを書きました。/entry (エントリ一覧表示) /entry/create (フォーム表示) /entry/create/cofirm (確認画面) /entry/create/save (エントリ保存) package Form::Web::Controller…

Catalystでロジックをどこに置くかという話

Catalystをちゃんと勉強しはじめてからずっと頭の片隅にあるけどまだ解決せず。 俺以外にも悩む人はぜったいいるはずだと思っていたけどMLを検索する方法がよくわかんなかったのでいまいち網羅できず。ひとまず、 Catalyst MVCの覚え書き - libnitsuji.so こ…

DBICの検索条件にMySQLの関数使う

あーわからん!とおもってググったら search_literal - Hatena::Diary::Neko::kak 500 Internal Server Error を見つけた。確かにsearch_literalを使うとうまく行く。 でも今回はINTERVAL 7 DAYとか固定の値を使うからSQLインジェクション関係ないからふつー…

DBIx::Class::Manual::Intro

テキトーに訳す。 DBIx::Class::Manual::Intro - Introduction to DBIx::Class - metacpan.org INTRODUCTION SQLを書くのに飽きてPerlネイティブのDB I/Fが欲しい人。 Class::DBIより優れた方法を探してる人。 そういう人向け。 THE DBIx::Class WAY DBIx::C…

FormValidator::Simple::Plugin::Number::Phone::JPのテストが通らない件

Number::Phone::JPのバージョンが0.10だとFormValidator::Simple::Plugin::Number::Phone::JPのテストが失敗するようです。 失敗するのは26個のテストのうち最初の13個。これはinvalidじゃないことをテストして失敗してるので、要は26個の電話番号が全部inva…

Catalyst MVCの覚え書き

NecessaryBackgroundKnowledge - Catalyst::Wiki ここのMVCパターンの所を起点にして The Catalyst August 2005 Archive by thread のスレッド(ちょっと古いけど)と Andy Wardley: MVC: No Silver Bullet を読んだ。 - 重要なのは関心の分離(Separation of …

Catalyst::Manual::Cookbook::Test

さらに分割。 テストについては外部からリクエストを送って、みたいな方法しかない?ようなので、内部のモジュール、特にモデル部分のテストをどうやってやるかが問題。 そこは普通のPerlモジュールと同じ方法でできるのかね。http://search.cpan.org/~jrock…

Catalyst::Manual::Cookbook::Deployment

Cookbook長いので分割。 デプロイについてのレシピ。Webサーバーエンジンとアプリケーションの効率化も含む。 http://search.cpan.org/~jrockway/Catalyst-Manual-5.700701/lib/Catalyst/Manual/Cookbook.pod#Deployment mod_perl Deployment mod_perlは多く…

Catalyst::Manual::Cookbook

Catalyst::Manual::Cookbook - Cooking with Catalyst - metacpan.org Basics Catalystを使う人が知っておいた方がいいこと。 Delivering a Custom Error Page アプリケーションでエラーが発生したときはCatalystは独自のエラーページを表示する。-Debugモー…

Catalyst::Manual::ActionsとCatalyst::Action系のモジュールの個人的な要約

Catalyst::Manual::Actions - Catalyst Reusable Actions - metacpan.org DESCRIPTION 再利用可能なアクションについて。どう動くか。既存のアクションとあなたが書くアクションについて。アクションはメソッドの属性でメソッドコールの前後に機能する。共通…