2007-01-01から1年間の記事一覧
jcode.plとJcode.pmに感謝の気持ちを込めて。*1Jcodeにはtr()の機能が付いてますが、ハイフンが入ると弱いようです。っていうか、常々そう思っていたので、ちょっと深く調べてみました。 やりたいこと 電話番号っぽい全角数字+記号を半角にしたい。全角ハイ…
WEB+DB PRESS Tech Meeting行ってきましたので、レポートです。資料等後日公開されますので、詳細はそちらをご覧下さい≧(´▽`)≦。 六本木はわかりにくいですねー。割と迷いました。会場は机なしですが、無線LAN有です。ニコニコで配信されるっぽいので、映り…
DBD::mysqlがなかなかリファレンスを手放してくれないのです。
Python Unconference 1へ行ってきましたので、レポートです。割と予習したつもりだったんですが、特にPylons周りでわかんない話が多発しました。頑張ってメモりましたが、内容の正確さは期待しないで下さい( ´△`)。
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属性が勝手に"[RepeatingFieldSet名]-[連番].[input要素名]"に書き変わってるのがきになりました。そこで、ソー…
こちらのエントリと全く同じ内容です。 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と呼ばれるのは屈辱だ!」と問題発言をしてドン引きされたわけですが、それには理由もあるのです。*1 *1:プログラマーへのこだわりはこの3年前のエントリでも読めますね(笑)。
新しいフレームワークの学習コストって大きいですねー。最近本格的に触り始めた、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…
早速やってみました。チュートリアルチック?
入れてみました。気がついたとこだけ自分メモ。
使い潰す前からゴールばっかみてアレですけど、気になったので調べました。 まず、ここ。 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…
MacBook ProにTurboGearsを入れてみました。 まず、定石通りにtgsetup.pyをダウンロードして、実行してみましたが、駄目でした。どうも、依存関係を完全に解決することは無理みたい。なんだか、setuptoolsで怒られてる節があったので、アップグレードしてみ…
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が返れば、…
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ってものが生まれたのか考えてみました。(※1)と(※2)と(※3)が肝の部分です。
Template::Filters2.86のuri filterの問題とまったく同様のことなので中身は省略。パッチ適用待ちです。
久々にへえ、と思った記事*1。 ドメインレイヤに、ドメインモデルとトランザクションスクリプトって言う二つの考え方があることを知りませんでした。今まで、それぞれのオブジェクトにデータだけ乗せたりロジックまで乗せたりといろんな設計をしてて、どこま…
こちらのエントリと同じ現象が。どうしよう。。。
割と機能の続きです。 調子に乗って、Trac も FastCGI で動かしてみました。・・・早い。今まで表示に10秒くらいかかってたのが1秒になりました。実メモリ使用量は 15MB 程度。十分実用できそうです。ただ、 mod_XXXX シリーズと違って 1アプリごとにプロセ…
mod_perl には飽きたってのが正直なところ。 今更感たっぷりな話題ですが、mod_fastcgi を試してみました。しかも lighttpd じゃないところがまた(笑)。 まず、 Mac mini に mod_fastcgi を組み込みます。最近 make コマンド打てない身体になって来たので、 …
プロクシを使うのも、割といろいろ面倒です。 まず、Net::FTP は Squid のような httpなFTPプロクシは使えないっぽいです*1。ので、LWP を使えば、特定のファイルをGETするだけならなんとかなります。以上。 次、LWP ですが、こいつに proxy メソッドで 'htt…
当たり前っちゃあ当たり前なんですが。 % perl print "True(1)?n" if 10 >= 20; print "True(2)?n" if 10 => 20; # 結果 # True(2) => はカンマとして評価されるので、typo であってもコンパイルエラーになりません。use warnings してれば、warn にはなりま…
長〜〜い戦いが終わりました。 まとめとして、感想を箇条書きにします。 基調講演。和田先生に聞きたかったこと。「ハックを楽しんでいれば、お金を手にすることはできますか?」 Language Update。相変わらずPythonのプレゼンがうまい。 Sony Pictures Imag…
今年も参加しています。適当に実況します。 (8/8 追記。id:SumiTomohikoさんがすばらしいまとめを作ってます。こちらもぜひ。)