Hatena::Groupasakura

浅倉卓司@blog風味? このページをアンテナに追加 RSSフィード

Error : RSSが取得できませんでした。

2006-04-28(Fri)

Class::DBI::Sweetで外部結合を使いたい!

| 14:25 |  Class::DBI::Sweetで外部結合を使いたい! - 浅倉卓司@blog風味? を含むブックマーク  Class::DBI::Sweetで外部結合を使いたい! - 浅倉卓司@blog風味? のブックマークコメント

 Class::DBI::Sweetを使うといろいろ快適なのですが、残念ながら外部結合が使えません。

 ひょっとするとJOINの構文が各種RDBMSで違うから対応していないのかと思って調べてみた。

続きを読む

トラックバック - http://asakura.g.hatena.ne.jp/asakura-t/20060428

2006-04-27(Thu)

MS SQL Server用のDBDってどれなん?

| 12:57 |  MS SQL Server用のDBDってどれなん? - 浅倉卓司@blog風味? を含むブックマーク  MS SQL Server用のDBDってどれなん? - 浅倉卓司@blog風味? のブックマークコメント

 MSの開発ツールを入れてみるとおまけでMS SQL Serverが入ったのでPerlで使ってみようと思ってppm search DBD-とかしたら、それっぽいのがない。昔Sybaseで動くとか聞いた気がするけど、それもない。

 使えないじゃん! とりあえずサービス止めておこう……。


 で、久々にppm searchしたら、昔はなくて困っていたDBD::PgとかDBD::InterBaseとかあるし。PostgreSQLとかFirebirdとか入れてみるかな……。

Web+DB Press Vol.32を買った

| 23:12 |  Web+DB Press Vol.32を買った - 浅倉卓司@blog風味? を含むブックマーク  Web+DB Press Vol.32を買った - 浅倉卓司@blog風味? のブックマークコメント

 新連載多すぎ(笑)。

 ざっと眺めて気になった点をフォローしてみるテスト。

mytopの改変方法

| 23:12 |  mytopの改変方法 - 浅倉卓司@blog風味? を含むブックマーク  mytopの改変方法 - 浅倉卓司@blog風味? のブックマークコメント

mytopの中に3個所あるSHOW STATUSをSHOW GLOBAL STATUSに変更すれば期待した情報を表示できるようになります.ただしこの場合,4.0や4.1に対しては対応していない文法のために使えなくなってしまうので,

(以下略)

 そういう場合はSHOW /*!50000 GLOBAL */ STATUSとかすればいいはずです*1

 mysqldumpでも使ってるのでメジャーな構文だと思ってたんですが、案外知られてないのかな。

WindowsでCatalyst

| 23:12 |  WindowsでCatalyst - 浅倉卓司@blog風味? を含むブックマーク  WindowsでCatalyst - 浅倉卓司@blog風味? のブックマークコメント

WindowsにcoLinuxを入れて,というのでも良いでしょう.

 えー、せっかくだからActivePerlでやりましょうよ。Windowsネイティブで開発したコードをそのまま持っていって動いたほうが感動的でしょ?(笑)

ppm install Bundle-Catalyst

とかすれば必要なのはだいたい入るんじゃないかな――と思ったけど、標準のリポジトリだと足りないものもあるみたいなんで

ppm rep add theoryx5 http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer58

とか追加してからのほうがいいかも。

 Task-Catalystもあるのでそれでいいかと思ったけど、Catalyst-Plugin-I18N等いくつかモジュールが足りないらしいです。まあ最初からcpan -i Task::Catalystでもいいかもしれませんがー。

追記

 ブックマークに

http://catalyst.infogami.com/Catalyst_on_windows

という記述が。

 ここで紹介されているPPM::Makeが激しく便利。さっそく入れました。

トラックバック - http://asakura.g.hatena.ne.jp/asakura-t/20060427

2006-04-25(Tue)

はてなの認証システムが公開されたらしい。

| 14:05 |  はてなの認証システムが公開されたらしい。 - 浅倉卓司@blog風味? を含むブックマーク  はてなの認証システムが公開されたらしい。 - 浅倉卓司@blog風味? のブックマークコメント

 話題に乗り遅れてるっぽいですが。

http://d.hatena.ne.jp/hatenadiary/20060424/1145873426

http://auth.hatena.ne.jp/help/api


 ちゃんと読んでないけど、前に提案したような感じなのかなー。なんとなく。

http://asakura.g.hatena.ne.jp/asakura-t/20051202/1133492513

(追記:Flickr風なんだそうな。そういや前にそんな話がどこかにありましたね)


 つか、CPANにモジュールが上がってるじゃん。この調子で今後はHatena::API::*とかHatena::*とかあがっていくんじゃろか。ちょっと期待。


 このタイミングでの公開っていうのは、GWの予定が埋まってない人はこれで遊べってことでしょうかね。

 GW明けに沢山サービスが公開されてたら素晴らしいですな。


 とりあえずAmazonメタタグ補完計画でもはじめましょうか。。。

トラックバック - http://asakura.g.hatena.ne.jp/asakura-t/20060425

2006-04-21(Fri)

Class::DBI::Sweet::Pie 0.04

| 11:19 |  Class::DBI::Sweet::Pie 0.04 - 浅倉卓司@blog風味? を含むブックマーク  Class::DBI::Sweet::Pie 0.04 - 浅倉卓司@blog風味? のブックマークコメント

 DISTINCTが通るようにしてCPANにアップロードしました。

 今後の予定は

  • HAVINGを使えるようにする
  • インターフェイスをいじる
    • search_with( $alias => $col_name, ... )のほうがいいかなとか

あたり。たぶん。


追記

 testにDISTINCTのチェックも追加したんだけど、どうもDBD-SQLiteのバージョンが1.10以降(SQLiteのバージョンが3.2.6以降)じゃないとCOUNT(DISTINCT ...)が通らないらしい。

 testを書き換えないと。。。

トラックバック - http://asakura.g.hatena.ne.jp/asakura-t/20060421

2006-04-20(Thu)

Class::DBI::Sweet::PieでDISTINCTが使えない件について

| 22:31 |  Class::DBI::Sweet::PieでDISTINCTが使えない件について - 浅倉卓司@blog風味? を含むブックマーク  Class::DBI::Sweet::PieでDISTINCTが使えない件について - 浅倉卓司@blog風味? のブックマークコメント

 うっかりしてたというか、使う人がいるとは思わなかったのですよ。。。

 カラムの先頭にmeが勝手に付くので「me.distict id」みたいになってしまいCOUNT DISTINCTができない・・・

 まぁでもこれはSweetの問題なんで仕方ないのかな。

Class::DBI::Sweet::PieでCOUNT DISTINCTできない?

 Sweetは関係ないというか、Sweetでも対応できます。たぶん。

 確かに上位互換でないと気持ち悪い気はしますので、そのうち直したいと思います。

fbisfbis2006/04/21 11:17始めましてfbisです。
Pieバージョンアップされたようですね。
昨日の今日で対応して頂いてありがとうございます。
便利に使わせてもらいます。でわ!

トラックバック - http://asakura.g.hatena.ne.jp/asakura-t/20060420

2006-04-13(Thu)

Class::DBI::Plugin::AggregateFunction

| 18:47 |  Class::DBI::Plugin::AggregateFunction - 浅倉卓司@blog風味? を含むブックマーク  Class::DBI::Plugin::AggregateFunction - 浅倉卓司@blog風味? のブックマークコメント

 テストも作ったので公開

 CPANにはまだ上げてません。

 上げました――が、ドキュメントがおかしい orz

 同じバージョン番号で上げなおしちゃいけないんだっけ?

トラックバック - http://asakura.g.hatena.ne.jp/asakura-t/20060413

2006-04-05(Wed)

has_manyなテーブルでAND検索 - Class::DBI::Sweet::Cake

| 18:39 |  has_manyなテーブルでAND検索 - Class::DBI::Sweet::Cake - 浅倉卓司@blog風味? を含むブックマーク  has_manyなテーブルでAND検索 - Class::DBI::Sweet::Cake - 浅倉卓司@blog風味? のブックマークコメント

MyData::Article->search({
  'tags.name' => {
    -and => [qw/ foo bar baz /],
  },
});

http://asakura.g.hatena.ne.jp/asakura-t/20060330/1143721817

――とか出来るようになるモノを作ってみた。

 NORを簡単に実現するSQLが思いつかなかったので半端モンですが。

 タグの検索に使うんであればQDBMでも使ったほうがいいんじゃないかと思いつつ。かぜぶろさんはSennaを直接叩いてるみたいです。

 いずれにしろこの手のヤツはSQLで扱うよりDBMのAPIを直接叩いたほうが楽な気がします。


簡単な解説

  • whereメソッドでは
    1. $where の中に 'join_table.column' => {-and => \@list} なモノがあったら、
    2. join_table が has_many かどうかを確認して、
    3. $where に 'join_table__$count.column' => shift @list を追加する
  • _resolve_joinでは
    1. join のデータを作るときに qr/^(.+)__\d+$/ なAlias名の時は$1を参照するようにした

――感じでしょうか。


 結局Class::DBI::Sweetで使っているClass::DBI::Sweet::SQL::Abstractのwhereと_resolve_joinを上書きして、useしたクラス以外に影響が出ないように小細工をした感じ。

 副作用がちょっとある*1けど、Class::DBI::Sweetに直接パッチをあてても大丈夫な気もします。が、テストしてみないとなんとも*2


ソースコード

続きを読む

*1:qr/^.+__\d+$/ なエイリアスが使えないのと、has_many なテーブルの検索に qr/^.+__\d+$/なエイリアスが使えちゃうトコかな。

*2:とりあえずClass::DBI::Sweetのテストは通った。

トラックバック - http://asakura.g.hatena.ne.jp/asakura-t/20060405

2006-04-04(Tue)

ウェブサイトにスタッフクレジットがないのは何故だろう?

| 23:37 |  ウェブサイトにスタッフクレジットがないのは何故だろう? - 浅倉卓司@blog風味? を含むブックマーク  ウェブサイトにスタッフクレジットがないのは何故だろう? - 浅倉卓司@blog風味? のブックマークコメント

 僕はアニメやゲームのスタッフロールとか、あるいは漫画の単行本の奥付にある担当編集や装丁の人の名前なんかも気になるので、ウェブサイトにないのはちょっと不満。

 はてなの人なんかそういうの好きそうなのに、見当たらないし。ブックマークは伊藤さんが担当らしいけど*1。他のサービスの担当は誰なんだろうとか思うときもあるし。みんなでやってるのかもしれないけど役割分担はしてるだろうし、少なくとも責任者は決めてるだろうからね。

 あ、ひょっとすると特定のリクエストに対してはかっちょイイスタッフロールが流れるページが返されるのかもしれん*2。残念ながら見つかってないけど。

*1:メールのヘッダにもあったしね……。

*2イースターエッグってやつ?

トラックバック - http://asakura.g.hatena.ne.jp/asakura-t/20060404
2004 | 01 | 02 | 03 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 08 | 09 | 10 | 11 | 12 |
2007 | 02 | 03 | 04 | 05 | 06 | 07 | 10 | 11 | 12 |
2008 | 02 | 03 | 04 | 06 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 02 | 03 | 04 | 05 | 07 | 08 | 10 | 11 | 12 |
2013 | 01 | 05 | 07 |
2014 | 01 | 02 |
2016 | 01 |
2017 | 01 | 05 |
Error : RSSが取得できませんでした。