Pixel Pedals of Tomakomai

北海道苫小牧市出身の初老の日常

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

Jcode Respect

jcode.plとJcode.pmに感謝の気持ちを込めて。*1Jcodeにはtr()の機能が付いてますが、ハイフンが入ると弱いようです。っていうか、常々そう思っていたので、ちょっと深く調べてみました。 やりたいこと 電話番号っぽい全角数字+記号を半角にしたい。全角ハイ…

WEB+DB PRESS Tech Meeting レポート (っていうか実況?)

WEB+DB PRESS Tech Meeting行ってきましたので、レポートです。資料等後日公開されますので、詳細はそちらをご覧下さい≧(´▽`)≦。 六本木はわかりにくいですねー。割と迷いました。会場は机なしですが、無線LAN有です。ニコニコで配信されるっぽいので、映り…

DBD::mysqlとリファレンス

DBD::mysqlがなかなかリファレンスを手放してくれないのです。

Python Unconference 1 レポート

Python Unconference 1へ行ってきましたので、レポートです。割と予習したつもりだったんですが、特にPylons周りでわかんない話が多発しました。頑張ってメモりましたが、内容の正確さは期待しないで下さい( ´△`)。

DBD::mysql 4.005 の痛いバグ

DBD::mysql 4.005 の痛いバグです。報告されてるのはコメント内にシングルクォートがある場合ですが、以下のSQLも実行出来ません。 select 'ab\'c' ,? 以下はセーフです。 select ?, 'ab\'c' /* クエスションが先 */ select 'a\'b\'c' ,? /* 偶数個のクォー…

メモリリーク調査用のメモ

こことかこことか拾い読み。やべー、うちのフィルタも絶対リークしてますよ。なんとかしなきゃいけないので、完全にエントリの内容パクって準備。以下、自分メモです。 sudo cpan -i Devel::Leak::Object sudo cpan -i Devel::Cycle sudo cpan -i PadWalker …

バケットの数≠キーの数

ネタ不足なんで、わざわざTBして便乗します(笑)。 ハッシュをスカラーコンテキストで評価したものの正体。 としてみて「あぁ要はkeyの数なのね。」とか浅はかな考えを持ったらば、9以降様子が変わりました。 がーん。あの文字列って、"エントリ(キー)領域の利…

ハッシュの判定は裸で

ラクダ本によると、%hogeに値があるかの判定は、 do_something() if defined %hoge; ではなく、 do_something() if %hoge; がいいっぽいです。お試しコード。 use strict; my %hoge = (); print "before\n"; printf("disp : %s\n", scalar(%hoge)); printf("…

TurboGearsのRepeatingFieldSetでinput要素のname属性が変わる

食欲の秋、スポーツの秋、読書の秋、そして、コードリーディングの秋です。いや、もう冬か。TurboGearsでRepeatingFieldSetとかを使うと、<input>のname属性が勝手に"[RepeatingFieldSet名]-[連番].[input要素名]"に書き変わってるのがきになりました。そこで、ソー…

OS X + DBD::mysql

こちらのエントリと全く同じ内容です。 MacBookにcpanでDBD::mysql入れたら、こんなエラーになりました。 Can't load '/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Library/Perl/5.8.8/da…

SEとプログラマ

酔った勢いで「SEと呼ばれるのは屈辱だ!」と問題発言をしてドン引きされたわけですが、それには理由もあるのです。*1 *1:プログラマーへのこだわりはこの3年前のエントリでも読めますね(笑)。

SingleSelectFieldのoptionsの型は揃えましょう

新しいフレームワークの学習コストって大きいですねー。最近本格的に触り始めた、TurboGearsのselectのoptionで、 widgets.SingleSelectField( name='name', options=(('', u'選択してね'), (1, u'壱'), (2, u'弐'), (3, u'参')), ), と定義してた箇所があり…

メモ化関数

高階関数はほんと魅力たっぷりです。 On Lisp読んでいて、メモ化関数ってのが出てきました。 sub memoize($){ my $func = shift; my %cache = (); return sub { my $key = join($;, @_); $cache{$key} = $func->(@_) unless defined $cache{$key}; return $c…

Xcode3.0でPyObjC

早速やってみました。チュートリアルチック?

Mac OS X Leopard

入れてみました。気がついたとこだけ自分メモ。

FastCGIでTurboGearsってどう動かすの?

使い潰す前からゴールばっかみてアレですけど、気になったので調べました。 まず、ここ。 The CherryPy folks list this setup as their preferred setup for CherryPy and their wiki has extensive instructions on how to run the CherryPy server (and T…

TurboGearsをインストール

MacBook ProにTurboGearsを入れてみました。 まず、定石通りにtgsetup.pyをダウンロードして、実行してみましたが、駄目でした。どうも、依存関係を完全に解決することは無理みたい。なんだか、setuptoolsで怒られてる節があったので、アップグレードしてみ…

py25-socket-ssl

SSLにするだけで一苦労です。 pythonから使っていたWEBアプリのURLがSSLに変わったので、変更しました。 ・・・ら、mechanizeからhttpsなURLを呼ぼうとしたら、 urllib2.URLError: <urlopen error unknown url type: https>でがっくり。ならばと、 sudo port install py25-socket-ssl して再度試すが</urlopen>…

当たり前だけど嫌だったこと

考えれば当たり前なんですが。 use Jcode; sub get_undef() {return undef}; sub empty_list() {return ()}; print jcode(get_undef(), 'sjis')->euc(), "?n"; print jcode(empty_list(), 'sjis')->euc(), "?n"; # [結果] # # sjis 関数からundefが返れば、…

Lispの処理系をインストール

On Lispと入門Common Lispを買ってしまったので、括弧地獄に堕ちようと思います。 手始めに、MacBook Proに処理系を導入。やっぱgnuでしょう。 % sudo port install gcl /usr/include/unistd.h:531: error: conflicting types for 'my_sbrk' ../h/config.h:4…

なんでJSONPか

チラシの裏程度ですけども。 なんでJSONPってものが生まれたのか考えてみました。(※1)と(※2)と(※3)が肝の部分です。

Template::Filtersがバグってる

Template::Filters2.86のuri filterの問題とまったく同様のことなので中身は省略。パッチ適用待ちです。

ステップアップ PofEAA (WEB+DB PRESS vol. 40)

久々にへえ、と思った記事*1。 ドメインレイヤに、ドメインモデルとトランザクションスクリプトって言う二つの考え方があることを知りませんでした。今まで、それぞれのオブジェクトにデータだけ乗せたりロジックまで乗せたりといろんな設計をしてて、どこま…

gcc-3.3が使えず

こちらのエントリと同じ現象が。どうしよう。。。

Trac も FCGI で

割と機能の続きです。 調子に乗って、Trac も FastCGI で動かしてみました。・・・早い。今まで表示に10秒くらいかかってたのが1秒になりました。実メモリ使用量は 15MB 程度。十分実用できそうです。ただ、 mod_XXXX シリーズと違って 1アプリごとにプロセ…

Apache2 + mod_fastcgi

mod_perl には飽きたってのが正直なところ。 今更感たっぷりな話題ですが、mod_fastcgi を試してみました。しかも lighttpd じゃないところがまた(笑)。 まず、 Mac mini に mod_fastcgi を組み込みます。最近 make コマンド打てない身体になって来たので、 …

Squid と Net::FTP と LWP

プロクシを使うのも、割といろいろ面倒です。 まず、Net::FTP は Squid のような httpなFTPプロクシは使えないっぽいです*1。ので、LWP を使えば、特定のファイルをGETするだけならなんとかなります。以上。 次、LWP ですが、こいつに proxy メソッドで 'htt…

typoなんだけどなあ

当たり前っちゃあ当たり前なんですが。 % perl print "True(1)?n" if 10 >= 20; print "True(2)?n" if 10 => 20; # 結果 # True(2) => はカンマとして評価されるので、typo であってもコンパイルエラーになりません。use warnings してれば、warn にはなりま…

LL魂の感想

長〜〜い戦いが終わりました。 まとめとして、感想を箇条書きにします。 基調講演。和田先生に聞きたかったこと。「ハックを楽しんでいれば、お金を手にすることはできますか?」 Language Update。相変わらずPythonのプレゼンがうまい。 Sony Pictures Imag…

LL魂の実況中継

今年も参加しています。適当に実況します。 (8/8 追記。id:SumiTomohikoさんがすばらしいまとめを作ってます。こちらもぜひ。)