タグ

ブックマーク / unknownplace.org (10)

  • PerlエンジニアのためのObjective-C Blocks入門 - unknownplace.org

    OS X 10.6 以降の xcode では Objective-C に Blocks というシンタックスが追加されている。 Blocks Programming Topics: Introduction Perl でいうところの無名関数(コードブロック)を作ることができる機能で、Perlでいうところの my $f = sub { ... }; $f->(); は void (^f)() = ^{ ... }; f(); のように書ける。書式がきもいのはObjective-Cの定めなのであきらめましょう。 より詳しい書式については上記ドキュメントを見ると良い。 しかしデフォルトではPerlのコードブロックとはレキシカル変数の扱いが異なる。 my $i = 0; my $f = sub { return $i + 1 }; $i++; $f->(); # 2 を返す perlではこのようにレ

  • 2008/01/08 - memo - unknownplace.org

    DBIx::Class::AsArrayHash - Hatena::Diary::Neko::kak 500 Internal Server Error うんうん、DBICつかってるとmapまくりよね。僕ならこう書いてるな。 my @rets = map { $_->get_columns }, $rs->all; DBIC::AsArrayHashいらないってのは同意。 retrieveとかCDBI的なのもあれ。

    fbis
    fbis 2008/01/09
  • 2007/05/07 - memo - unknownplace.org

    書き忘れたけどさっきの update_schema.pl は ./script/myapp_update_schema.pl dbi:mysql:tablename username password 見たいな感じで DSN を渡す必要がある。めんどう。 ここら辺があれでまだヘルパーにはなってない。 mizzy.org : Re: DBICとDBIx::Class::Schema::Loader 僕のいろいろな勘違い 僕の中で流行ってる使い方があるのでかぶせて書いておいてみる。mizzy さんの二個目の例を自分ルール化させた感じ? 作業は一般的なCatalystアプリのディレクトリ構造上であるとして、そこに新しく schema というディレクトリを作成。 そんで、 schema/lib/Schema/{TableName}.pm に各テーブルのリレーション定義とかメソッドとかを自分で書く。

    fbis
    fbis 2007/05/07
  • 2006/01/15 - memo - unknownplace.org

    よくわかんないんだが、CDBIのtriggerぽいことをするには sub insert { my $self = shift; $self->created_date( DateTime->now ) unless $self->created_date; $self->SUPER::insert(@_); } みたいな感じでいいんかなぁ。 はこんな感じでどう。 __PACKAGE__->setup( do { my @plugins; push @plugins, 'StackTrace' if $ENV{CATALYST_DEBUG}; push @plugins, 'Static::Simple' if $ENV{CATALYST_ENGINE} =~ /^HTTP/; @plugins; } ); 1.4.9 に。相変わらず mod_proxy 経由で svn のコミットできない

  • 2007/04/14 - memo - unknownplace.org

    Log::Dispatch は大好きなモジュールのひとつなんだけど、これだけだとイマイチ微妙。 Log::Dispatch::Config を使うことですげーー便利になる。必須。 miyagawa さんは 5 年以上も前にこれ作ったんだなぁ。 同僚から聞かれたので、僕のやり方を書いておく。 すでにCPANに Catalyst::Plugin::Log::Dispatch というのがあるのだけど、なんかいけてないのでそれは使わず、以下のようにしている。 まず MyApp::Logger とかいうのをかく package MyApp::Logger; use strict; use warnings; use Log::Dispatch::Config; use Log::Dispatch::Configurator::YAML; use Catalyst::Utils; use NEXT;

  • CLON - 2006/11/21 - DBIx::Class vs mysql vs UTF-8

    DBIx::Class vs mysql vs UTF-8 それ、0.7以降(多分)ならconnectionやconnect上書きしなくてもこうかけるよ。 __PACKAGE__->connection( 'dbi:mysql:foo', 'root', { on_connect_do => ['SET NAMES utf8'], }, );

    fbis
    fbis 2006/11/21
  • 2006/10/21 - memo - unknownplace.org

    おもしれぇぇぇ。 ダルビッシュが、1回に荒木井端のバットへし折って、福留3球三振にしたときはだめかとおもったけど。 いろいろ補足しなくちゃいけないところがあるけど、X-Sendfileをfastcgi経由で使うには、fastcgi設定中で "allow-x-send-file" => "enable" を追加する必要あります。 fastcgi.server = ( "/myapp" => (( "socket" => "/tmp/myapp_fastcgi.socket", "check-local" => "disable", "allow-x-send-file" => "enable", )) ) こんな感じに。 他、最初のデモを飛ばしてしまった関係で、説明不足なところが多いです。 #shibuya.pm にはしばらくいますので、質問などありましたらどうぞ。

  • CLON - 2006/09/15 - plaggerライクなHTTP::Proxyフロントエンドスクリプト

    を書いた。会社のrepos内にアップしてしまったのでここに貼り付けちゃう。 #!/usr/bin/env perl use strict; use warnings; use File::Spec; use File::Find::Rule; use FindBin; use Getopt::Long; use Pod::Usage; use HTTP::Proxy; use YAML; # load config my $config = do { my $config_file = File::Spec->catfile( $FindBin::Bin, 'config.yml' ); my $port = 0; my $host = ''; my $help = 0; GetOptions( 'port|p=s' => \$port, 'host|h=s' => \$host, 'co

  • 2006/06/27 - memo - unknownplace.org

    Catalyst 5.70 の dev リリースでサポートされた Action attribute 良いね。 http://search.cpan.org/~mramberg/Catalyst-Action-RenderView-0.01/lib/Catalyst/Action/RenderView.pm こんなんとか簡単に作れる。cool。 sub foo : Action('+Foo::Bar') は sub foo : MyAction('Foo::Bar') と等価。 Catalyst::Manual::Actions

    fbis
    fbis 2006/06/27
    Catalyst 5.70 の dev リリースでサポートされた Action attribute
  • Schema::Loader with CatalystComments

    Catalyst::Model::DBIC::Schema を使う。 この Model は大きく3つの使いかたがある。 単純に既に存在する Schema クラスを使用するSchema::Loader で既存の DB から Schema クラスを生成し、それを使用するSchema::Loader で既存の DB から Schema::Loader クラスを生成し、それを利用する。 1 はまず Schema クラスをどこかに作ってあり(My::Schemaと仮定する)、それをそのまま Catalyst::Model として利用する。 ./script/myapp_create.pl model DBIC DBIC::Schema My::Schema で、MyApp::Model::DBIC が作成される。この My::Schema に connection なんかが定義されていてそれを使う場

  • 1