qootas.org has been registered at Porkbun but the owner has not put up a site yet. Visit again soon to see what amazing website they decide to build.
2007年05月13日06:30 カテゴリLightweight Languages λ萌え - たらいを後回し Gauche Nightではしゃぎすぎたところにもってきて、昨日はEncodeをメンテしながらホームパーティーなんぞをしていたらどうやら風邪を引いてしまったみたい。 風邪で頭が痛いときには、λと戯れるに限る、ということでこの話題。 前回までのあらすじ 404 Blog Not Found:たらいを回すならHaskell 404 Blog Not Found:javascriptでもたらいを回してみた 404 Blog Not Found:gaucheでもたらいを回してみた 404 Blog Not Found:C - Judyでたらい回し ここまでのあらすじでわかった事は、遅延評価(lazy evaluation)するHaskellがむちゃくちゃ優秀なこと、遅延評価がない言語で
書き忘れたけどさっきの 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 に各テーブルのリレーション定義とかメソッドとかを自分で書く。
ブログが続かないわけ | DBICとDBIx::Class::Schema::Loader 僕のいろいろな勘違い にて、 とはいえ、僕の稼働中のアプリはすでに手動型のSchema で動いている。スキーマを作り直したら、リレーションの設定を全てしなおさなければならないので、それは現実的じゃない。inflate, deflate の指定は、やっぱりすべてのSchema にかかなきゃだめそうだ。 とあったので、これに関して少し楽ができる方法をコメントしようと思ったけれど、コメント欄ではうまく伝えられる自信がないので、こちらで書いてみることにしました。 load_components で 読み込む方法 DBIx::Class::Schema::Loader ではなく DBIx::Class::Schema を継承したスキーマの場合には、各スキーマファイルに以下の様に書いてあげれば OK です。(既
先日から、DBICに関するエントリをいくつかしているが、そこに大変参考になるトラックバックやコメントを頂いている。何となく理解しているつもりだった、Schema::Loader の仕組みなど、いくつか勘違いしているっぽいことがあったので、ここにまとめておく。 今日のCPANモジュール|use DBIx::Class; 事前に「データベース」に対応したクラス(スキーマクラス)や、「テーブル」に対応したクラスを用意しておき、プログラムではそいつらを通して DB にアクセスします。 そうだね。ここまではいい。スキーマクラスはしっかりと用意している。ただ、このスキーマクラスに対する理解がちょっと違ったみたいだ。 この対応クラスを用意するには手動と自動の2種類あります 自動の場合は、DBIx::Class::Schema::Loader を継承し 手動の場合は、DBIx::Class::Schema
追記 2006/12/06 下記で IS NOT NULL を実現するのにスカラーリファレンスを使用していますが,IS NULL / IS NOT NULL を出すためには必ずしもスカラーリファレンスを利用する必要はありません。ということで訂正を入れようと思ったんですがちょっと長いので「フォローアップ記事」を書きました。 本題 typester さんに以前教えて頂いたんですが,似たようなことに今日遭遇したのでメモ。 WHERE field1 IS NOT NULL な検索をしようと思って, $resultset->search({ field1 => 'IS NOT NULL' });と書くと,内部的には SELECT ... WHERE field1 = ?と展開されて,プレースホルダに「IS NOT NULL」が渡されるので,バツ。 $resultset->search({ field
DBIx::Class::Schemaの使い方 亀レスだけどSchema::Loaderネタが流行ってたみたいなので、最近の自分の使い方を。 まぁSoozyつかってるのでmake_schema_atで作られた静的なSchema使ってるんだけども。 自分的にはSchmeaクラスは一切手をつけたく無いので、大部変わった事をしているかも。 若干mfacインスパイアぎみではあるけど。 package Soozy::Plugin::DBIC::AutoSetup; (略) sub setup_components {#Catalyst::setup_componentsとほぼ同じ my $class = shift; my $schema_bases = Soozy::Component::Loader->find_components( '', search => [ $class->base_c
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 なんかが定義されていてそれを使う場
テンプレートツールキットマニュアル 職場で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 /
Catalystでユーザページ Femoでのユーザページのコード。 Femo::Controller::Userというコントローラで実装している。 同じ正規表現が繰り返しているのでもうすこしなんとかならないかと package Femo::Controller::User; use strict; use warnings; use base 'Catalyst::Controller'; sub auto : Private { my ( $self, $c ) = @_; $c->stash->{view} = $c->model('Users')->retrieve(publish_id=>$c->req->snippets->[0]); if( !$c->stash->{view} ) { $c->res->status('404'); $c->res->output('Not F
ErlangとPerlの速度比較の文字コード変換部分に関して, Danさんからトラックバックをいただいたので再度測定してみた. そもそもはじめからUTF-8、それもutf8フラグがたっている文字列にfrom_toを使うのはばかげている。 とのことだけど,utf8フラグは立っていない想定. use utf8 は罠がいっぱいな割にメリットが少なく,普段は使用しないので・・・. (DBIが未対応だったり,モジュールによってフラグの扱いが違ったり(YAML::*とか)なので) また,多くの場合は,ファイルやソケット等からUTF8バイト列を受け取って,それを利用することになるので, utf8フラグ無しの文字列からの変換で比較する方が実際の利用状況からもフェアではないかと感じるけれども. (ただ,バイト列にしたとしても,やっぱりEncodeが一番速かった) そんなわけで,コードは以下のように修正. m
以前「DBICで本当に困ったら SCALAR REFERNCE を使え - daily dayflower」にて, DBIC で WHERE field1 IS NOT NULL な検索をしようと思って, …… $resultset->search({ field1 => \'IS NOT NULL' }); とか書いていたんですが, $resultset->search({ field1 => { '!=', undef } });でよかったのでした。 $resultset->search({ field1 => undef });が WHERE field1 IS NULLというのは知っていたんですが,'!=' をつけるときちんと「IS NOT NULL」に変換してくれるとは(SQL::Abstract の 714 行目あたりのロジックとしてちゃんとありました)。これでスカラーリファレ
文字コード・エンコーディング体系として知られるUnicode UTF8さん(9歳)が11日、都内で自殺していたことがわかった。関係者によれば、このところ周囲で論争や誹謗中傷が絶えないのを苦にふさぎこむことが多かったという。葬儀は故人の遺志により密葬となる予定。 UTF8さんはエリートで有名なUnicode家の末妹。ここ数年、「I18Nでラクできる」「なんかカッコイイ」と勘違いしたプログラマのあいだで採用が進んだことから華やかなセレブ生活を送っていたが、 カネ(特に円)に弱い 波打ちぎわをダッシュすると右左もわからなくなる低脳 天然キャラの演出のつもりか、いつもデカい辞書を抱えていてウザい 実の親ではなく、サロゲート夫婦に産んでもらったらしい 古いワーキングブラウザに冷たい、格差社会の象徴 などの批判や中傷にさらされるようになり、最近は落ち込みがちに。親しかったBOMさんによれば心療内科に通
サンプルプログラム サンプルプログラムで、絵文字を含むメールを送信してみましょう。前述の規則にのっとり、ドコモとEZwebにはSjift_JISで、SoftBankにはUTF-8で送信します。 また、<emoji:番号> という独自の絵文字用の番号を作り、それぞれのキャリアごとにどの絵文字コードを使うかをマップさせています。 絵文字コードについては各キャリアのサポートページを参照ください。ドコモ 「作ろうiモードコンテンツ iモード対応絵文字」EZweb 「技術情報 絵文字」SoftBank 「Develpers Support Site 絵文字一覧」 それでは、サンプルプログラムを見ていきましょう。send_mail.pl メール送信スクリプトです。後述のEmojiMailモジュールを使用してメールを送信します。 #!/usr/local/bin/perl use strict;
2007年04月23日22:45 カテゴリLightweight Languages perl - 万能なnewの書き方 Perl 5のOOは、慣れてしまうと簡単だ。 継承とか考えずに、普通にクラスを作りたければ、必要なのは以下の二行だけ。 package Klass; sub new { bless {} }; これだけでは何もできないので、とりあえずnameというアクセサーを追加してみる。これだけ。 sub name { my $self = shift; $self->{name} = shift if @_; return $self->{name}; } しかし、上の形式だと、継承をサポートしていない。だから、 package Klass; sub new { bless {} }; package Klass::Sub; our @ISA = qw/Klass/; # new
Kawa.netxp 日本語処理・携帯絵文字処理関係のPerlモジュール 日本語を含む多言語処理(主にUTF8、Shift_JIS、ISO-2022-JP。 その他にLatin1、EUC-JP、EUC-KR、Big5、GB2310などにも対応)や、 DoCoMo・SoftBank・au に対応した携帯絵文字処理関連のモジュール群です。 CGIparamJP.pm - CGI.pmのクエリ中の日本語処理 EmailHTML.pm - HTMLメールMIMEマルチパートメッセージの生成 EmailJP.pm - 携帯絵文字対応のSMTPメール送信 EmojiTrans.pm - iモード用絵文字をSoftBank/au用絵文字に変換 Encode561.pm - Perl 5.005/5.6.1 環境で Encode.pm ライクな操作 EntityRef.pm - © 等の実体参照
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く