tokuhirom's blog Search
  • 古い perl を perlbrew で管理する
    perlbrew は本来、あたらしい perl をつかうことが主眼だが、古い perl でテストする目的にも使用することができる。 ``` % perlbrew install perl-5.8.9
    2010-05-31(Mon)
  • the repository of madeye was moved to github!
    [ I DON'T WANT TO USE SUBVERSION TODAY! THANKS.
    2010-05-28(Fri)
  • shirokaned - messagepack rpc + kyotocabinet + AnyEvent + Perl による適当な KVS の実装
    [ * HTTP でデータを取得できる * そして、その httpd を外部にみせても大丈夫 * インメモリデータベース * LRU support * それなりにはやい * 同時1000接
    2010-05-27(Thu)
  • Module::CoreList web ui
    [ This is 習作 for xslate. source is here: [ see also [
    2010-05-09(Sun)
  • Perl 5.12.0 でフラッグの扱いがちがうケース
    ``` perl -E 'use bytes; use charnames ":full"; say(utf8::is_utf8("\N{DIGIT SIX}") ? 1 : 0)' ``` の結果
    2010-05-08(Sat)
  • Carp::Always::Color
    Carp::Always をつかうと、簡単に croak/carp が stacktrace がとれて便利だが、いかんせん長くて、みづらくなるので、それを適当に色をつけてくれるもの。
    2010-05-08(Sat)
  • B::Compiling
    rafl ware. "Expose PL\_compiling to perl" ということで、PL\_compiling という internal variable をとってこれる。 これによ
    2010-05-08(Sat)
  • Amon の速度がでないときは
    V::MT のキャッシュがオンになっているか確認してください。
    2010-05-06(Thu)
  • benchmarking Variable::Magic and tie
    I taken benchmark between Variable::Magic and tie. In this case, Variable::Magic is 3.1x faster tha
    2010-05-06(Thu)
  • first impression for Text::Xslate
    僕がつくってるフレームワークであるところの Amon に Xslate 対応をいれてみた。 かなり TT とおなじ感覚でつかえるかんじ。テンプレートの継承が追加されてるぐらいで、基本は TT とおな
    2010-05-02(Sun)
  • validate content-length with plack
    [ I wrote broken webapp, it outputs invalid content-length. Then, I want validator :P ``` package
    2010-04-26(Mon)
  • 最近うってるこまんど
    [ ``` % history -n 1 | awk {'print $1'} | sort | uniq -c | sort -k1 -rn | head 206 git 130
    2010-04-06(Tue)
  • Math::Random::MT versus embedded function rand()
    ``` 5.010001 Math::Random::MT: 1.10 Rate mt rand() mt 714566/s -- -96%
    2010-04-03(Sat)
  • vim でファイル保存時に package 宣言をチェックする
    のがほしいなーっていってたら mattn さんがかいてくれました! YATTA! これで package 宣言まちがえてはまることがなくなるのでオヌヌメ。 [
    2010-04-01(Thu)
  • Text::ClearSilver のベンチマークをとってみた
    【追記】ごめん。うそなんだ。。。本当は一番はやいのが cs です。 [id:gfx]( が clearsilver binding をかいたということなので、ベンチマークをとってみた。 結果をみて
    2010-04-01(Thu)
  • html2text ってどうかくのが楽なんだっけ?
    なんか適当にこうしてみたけど、div タグで改行とかしてくれなくて悲しい。もっとうまい方法があった気がするが、おもいだせない。 ``` sub html2text { my ($html)
    2010-03-30(Tue)
  • sphinx 等でドキュメントを自動生成している場合に更新を自動検知してドキュメントを再生成してくれる web サーバーをかいた
    Plack つかうとこういうの簡単にかけてよい。 ``` use common::sense; use autodie; use Plack::Runner; use Plack::App::Dir
    2010-03-27(Sat)
  • Plack と FCGI の話
    [ FCGI つかってる人はチェックすべし。
    2010-03-26(Fri)
  • robots.txt で適当に拒否る設定についてかんがえた
    なんかこういうかんじでやるのが簡単にできる Middleware はどうか lang:ja ``` enable sub { my $app = shift;
    2010-03-25(Thu)
  • local-lib-profiles をみたメモ
    [ インストールすると local-lib-profiles\_bashrc っていうファイルが /path/to/perl/bin/ あたりにインスコされるので、そうすると、ファイルができるから、
    2010-03-25(Thu)
  • AE::HTTP で HTTP::Request をなげるには
    HTTP::Request をつかって呼ぶのはそんなにむずかしい話ではない。という。たとえば、以下のようにすれば、普通によべる。 ``` sub http_request_by_http_reque
    2010-03-24(Wed)
  • Crypt-OpenSSL-RC4 を Module::Build に移行してみた
    Crypt-OpenSSL-RC4 では Module::Install を利用していたのだが、libs('-lcrypto') を指定しても Solaris の場合だけリンカ実行するときに -lcr
    2010-03-23(Tue)
  • perl5 でファンクションプロトタイプをつかっちゃいけない理由と使われる理由。
    Damian Conway の Perl Best Practice は関数プロトタイプを非推奨扱いにしているが、一方で巷の Perl Hackers はこれを使いまくっている。このような状況が初心者
    2010-03-23(Tue)
  • Amon::Web::Dispatcher::Lite をかいたこと
    Router-Simple をつくったり MojaMoja をかいたりしていたのだが、Amon でかいたちょっとしたアプリで、コントローラクラスが数個にしかならないような規模の場合に、いちいち MyA
    2010-03-22(Mon)
  • Qudo をためしてみた
    Qudo についてる SQL をつっこむ。 ``` % sqlite3 /tmp/qudo.db < doc/schema-sqlite.sql ``` ワーカースクリプトをかいてみる。 ```
    2010-03-22(Mon)
  • Router-Simple を書いた理由
    数年前に HTTPx::Dispatcher というのを書いたのだが、HTTPx::Dispatcher は declarative interface が主にたっちゃってるのが失敗したなあ、とおもっ
    2010-03-21(Sun)
  • virtualenv っぽい plenv っていうスクリプトをかいてみた
    同じ名前空間ですが、まったくちがうツールとしてうまれかわりました。後日かいたほうのエントリを参照してください。 → [ ~~python の virtualenv っぽい感じで local::lib
    2010-03-21(Sun)
  • Released Router::Simple 0.01
    [ ``` my $router = router { connect '/' => {controller => 'Router', action => 'index'}; submapp
    2010-03-19(Fri)
  • NYAOS で cpanm --look がイヤンなかんじになるとき
    環境変数 COMSPEC または Shell を指定しよう。
    2010-03-17(Wed)
  • Why I use DBIx::Skinny instead of DBIx::Class.
    最近DBIx::Skinnyをプライベートでは利用しているのだが、その理由。主にDBICのここが嫌だ、的だが。 #### DBIC が 'me' とか名前つけるのが嫌だ。 うん。嫌だよね。 ##
    2010-03-17(Wed)
  • DeNA テクノロジーセミナーきいてたら簡単なディスパッチャができた
    Perl5.10 以後のみ対応だけど、5.10 以後ならこんな簡単なのでいいのかも。 ``` package MojaMoja; use strict; use warnings; use pare
    2010-03-16(Tue)
  • TOEICで125点しかとれないような人でもできる英文バグレポートの方法。
    または、Pros と Cons をまちがえて書いてしまうような人でもできる英文バグレポートの方法。 まあ小手先のノウハウだけど、俺はこうやってるよ、という話。 #### ともかく再現可能なテストケ
    2010-03-15(Mon)
  • Test::More 0.95_01 にご用心
    Test::More 0.95\_01 の変更によりいくつか影響をうけているパッケージがあるようです。 自分が把握している範囲で2件あり、それは Net::Twitter と Test::Class
    2010-03-15(Mon)
  • Strawberry Perl Professional とかいうのやってるみたいすね。まだ alpha らしいけど。
    [ もともと、なんでもはいりまくりの Strawberry だったわけだが、そこにさらにいろいろぶっこんだパッケージを開発中みたい。 ``` All common graphical toolki
    2010-03-15(Mon)
  • Doxygen を github-pages にあげるのをお気楽にやる方法
    * github pages をつかうと簡単に HTML のページを公開できる。 * Doxygen をつかうと簡単に HTML のドキュメントを生成できる。 ってことは、この2つを簡単にくみあわせ
    2010-03-10(Wed)
  • Test::Class が SEGV する件
    SEGV の原因となっている、Perl5 のバグをつく Devel::Symdump をはずして MRO::Compat をつかうようにしたので、SEGV しなくなったはず。
    2010-03-10(Wed)
  • Pod パーザいろいろ
    #perl-casual でみんながつかってる pod parser をきいてみた。 #### いろいろ ##### Pod::POM おれがふだんつかってるやつ。POM っていうなまえだけど、
    2010-03-09(Tue)
  • cronolog と plackup の連携
    multilog に access log と error log をまぜてだすと、エラーでてんのかどうかよくわからなくなっちゃうので、まあわけた方がよろしい。 multilog でパターンマッチ
    2010-03-08(Mon)
  • Perl5 と奇妙な overload の冒険
    このコード、perl5.8.1 だと不思議な挙動をします(たぶん 5.8.5 以下で変な挙動をする)。 ``` use strict; use warnings; use Test::More te
    2010-03-08(Mon)
  • リアルタイムWebのためのPubSubHubbub の Subscriber を構築する方法
    PubSubHubbub(以下PuSH)は、フィードの更新をリアルタイムに通知するためのプロトコルである。 ウェブ上にころがっている"PuSH"の情報は、"Pub" の部分を実装する方法か、「Pu
    2010-03-06(Sat)
  • CPAN 関連の API などのメタデータについての雑感
    CPAN のメタデータは以下の3つにより配布されている。 * authors/01mailrc.txt.gz * modules/02packages.details.txt.gz * module
    2010-03-06(Sat)
  • multiperl は素人がつかう必要がない件について
    基本的に Perl5 は下位互換性が非常によく保持されていますから、use 5.10; などによる縛りをかけないかぎり、「過去バージョンでうごくのに最新のバージョンだとうごかないよう」ということはまず
    2010-03-04(Thu)
  • wrote multiperl command
    [ "multiperl" is perl5 interpreter installer for perl developers. #### \*Pros\* * simple * instal
    2010-03-04(Thu)
  • -s が NV をかえす件と、あれこれ。
    sizeof(IV) が 4 で、 sizeof(off\_t) が 8 だったりする環境では、-s (pp\_ftsize) が NV をかえす。 32bitシステムでは、現実的には NV の仮数
    2010-03-03(Wed)
  • Module::Build と EU::MM と M::I と dzil にかんする雑感(miscellaneous thoughts)
    僕は歴史家じゃないので、今自分がもってる感想をメモしておく #### Module::Build Module::Build の目標は make の排除だとおもうのだが、現実的には、EU::MM
    2010-03-02(Tue)
  • create pure perl extlib/ with cpanm/local::lib
    [ local::lib を利用して extlib/ を構築する方法が最近流行りだ。cpanm とくみあわせれば、capnm -l extlib/ Plack などとすれば一発で構築できる。 し
    2010-03-01(Mon)
  • What is the *correct* implementation of constraints?
    #### assumption * literal 1e100 is integer value. * literal "1e100" is integer value. * 1e100+0.1 i
    2010-03-01(Mon)
  • App::MyPort を書いた話
    諸事情により、頻繁にいろんなソフトウェアをいれているわけですが、入れるたびに「どこからイレるんだっけ」とおもって、さがすのがめんどくさいので、オレオレportsモドキをつくってつかっている。 she
    2010-03-01(Mon)
  • 「Yet another CPAN recent changes」つくったよーって話 in Japanese
    [ typester さんの CPAN Recent Changes が落ちっぱなしなので、こまったなーとおもってたら、tomi-ru さんが Y! Pipes でつくってくれて、便利だなーとおもっ
    2010-02-27(Sat)
  • create "Yet another CPAN recent changes"
    [ Now a days, typester's CPAN recent changes site is not works... I want to read it... then, I re
    2010-02-27(Sat)
  • 無圧縮zipを扱うライブラリをつくってみた
    [ pure perl で無圧縮zipの展開/パッキングをするためのライブラリをかいた。 pure perl なのと、メモリ使用量がすくないのが利点かなとおもう。 zip のフォーマットは、まあ
    2010-02-26(Fri)
  • git で cwd のカレントリビジョンを取得する
    ``` git show --format='%H' -s ``` とかでとれる。 miyagawa++ yappo++
    2010-02-24(Wed)
  • hbstudy で puppet の話をきいてきたことについて
    puppet は「俗人的な要素を排除する」という点がやはりおおきいのかな、とおもった。 いっぽうで、以下のような点を感想として得た。 * 新規にインストールするシステム以外には適用しづらい * 最
    2010-02-24(Wed)
  • cpan-outdatedを使うとメモリ制限のきついレンタルサーバーでもCPANモジュールが楽に更新できる
    [ 個人サイトで借りてる貸しサーバーはシェルが使えるんだけどroot権限が無く各種メモリの制限も強い。で、CPANコマンドを使うとlimit制限にひっかかってmoduleindexを伸張するところで
    2010-02-22(Mon)
  • How to optimize smart match operator in perl5 interpreter.
    This entry is just thinking note for me. ``` % perl -MO=Terse -e '1 ~~ 2' LISTOP (0x11ba080) leave
    2010-02-21(Sun)
  • dPOPTOPssrl のよみかた
    ``` dPOPTOPssrl; dPOPXssrl(TOP); SV *right = POPs; SV *left = CAT2(TOP,s); SV *right = POPs; SV *lef
    2010-02-21(Sun)
  • wrote tiny script named cpan-outdated.
    [ I wrote tiny script named cpan-outdated. It's so fast, lightweight version of 'CPAN::Shell->r'.
    2010-02-20(Sat)
  • Plack::Server::Standalone::Prefork::Server::Starter から Starman への移行
    ``` plackup -s Standalone::Prefork::Server::Starter ``` ってかいてあるところを ``` plackup -s Starman --work
    2010-02-19(Fri)
  • Plack まわりと XS の話
    * Plack コアは XS に依存しない * Starman は XS に依存する * PP がよければ Server::Simple のをつかう * Twiggy は XS に依存しない(よう
    2010-02-18(Thu)
  • Perl5.5 をサポートしようとしたら warnings.pm がなくて use warnings; できないよ、ってな場合の話
    warnings::compat をつかえばいい。 ``` # on pre-5.6 Perls, add warnings::compat to the prereq modules
    2010-02-18(Thu)
Prev
Next
© tokuhirom