タグ

ブックマーク / dayflower.hatenablog.com (6)

  • use utf8 環境下で => オペレータの左辺が UTF8 flag on になってしまう - daily dayflower

    use strict; use warnings; sub Dump { @_ = map { sprintf "'%s'(%s)", $_, utf8::is_utf8($_) ? 'utf8' : 'bytes' } @_; print {*STDERR} join(q{, }, @_), "\n"; } no utf8; Dump( foo => 'bar' ); #=> 'foo'(bytes), 'bar'(bytes) no utf8; だもんで,両者とも bytes なのは,まぁあたりまえ。 ところが,これを use utf8; で動かすと…… use utf8; Dump( foo => 'bar' ); #=> 'foo'(utf8), 'bar'(bytes) foo の UTF8 flag が on になってる! use utf8 にしてたので,任意の文字列リテラルが

    use utf8 環境下で => オペレータの左辺が UTF8 flag on になってしまう - daily dayflower
  • ClearSilver を Apache のフィルタモジュールとしてインプリメントしてみた - daily dayflower

    これまでもちらほらと ClearSilver という名前を聞いたことがあったんですが,YAPC::Asia での ikebe さんの発表でさらに興味を持ちました。 mod_livedoor_page.so http://www.livedoor.com/ use ClearSilver Template engine. top-page is not changed so frequently. top-page has simple data structure only. so we use C for top-page. Inside Livedoor 2006-2007 - PDFへのリンクなので注意 興味を持ちましたというか,キーくやしい(←何が?)となったので,自分でも ClearSilver を使った Apache モジュールを書いてみました。ソースはこちら。 実はググったら

    ClearSilver を Apache のフィルタモジュールとしてインプリメントしてみた - daily dayflower
  • POE おぼえがき - daily dayflower

    TIMTOWTDI なことがいっぱいで POE のことがよくわからなかったのですが,Cookbook とリファレンスを読んでなんとなくわかってきました。 POE::Kernel が POE システムのコアで唯一神 POE::Kernel->run()*1 を実行するとイベントループが回り出す イベントループでやることがなくなると POE::Kernel->run() から戻る(戻ることを期待してはいけない) POE::Session が POE システムにおける,タスク/ステートマシン/プロセス/スレッド的なものの単位 複数生成してよい セッションの最初に _start イベントが発生する セッションの最後に _end イベントが発生する イベントハンドラとして,サブルーチンリファレンス(inline_states),パッケージ関数(package_states),オブジェクトメソッド(o

    POE おぼえがき - daily dayflower
  • PoCo::HTTP で Comet チャットサーバを作る - daily dayflower

    せっかくのイベントドリブンフレームワークな POE ですから Comet でチャットをやってみようかと。ありきたりですが。 POE::Component::* でウェブサーバを立ち上げられるのは現在のところ, POE::Component::Server::HTTPServer POE::Component::Server::SimpleHTTP POE::Component::Server::HTTP の3つがあります。1番目は最近 inactive なのでパス。2番目は「イベントフレームワーク」への馴染みはいいんですが「Simple」じゃなくなってます。3番目はコールバック関数を登録するというお気楽スタイルなんですがちょっと雑な感じ。 今回は楽をするために3番目の PoCo::HTTP を使ってみたいと思います。id:naoya 氏も最近紹介してましたし。 URI の設計指針は, チャ

    PoCo::HTTP で Comet チャットサーバを作る - daily dayflower
  • mod_perl 2.0 の Server Life Cycle - daily dayflower

    mod_perl 2.0 のサーバ起動にまつわる文書を読み込んでいました。 サーバスタートアップスクリプトは,1.0 時代のドキュメントでは「PerlRequire」記述子で読み込むように書かれていることが多いが,実行される時点が中途半端。なので,PerlPostConfigRequire を使う方が吉。もし設定ファイル自体で Perl の機能を利用しているのであれば(普通そこまでコアなことやらなくて済むんだけど),PerlConfigRequire を使うとサーバ設定フェイズ(すなわちかなり早い段階)で実行される。 Apache 2.x では,graceful restart がうまくいくことの確証を得るために,一度サーバ設定フェイズが終わると,Apache 自身を再起動する。ということは,サーバ起動時に,スタートアップスクリプト等は 2 回実行される。このことで困るってことはたいていな

    mod_perl 2.0 の Server Life Cycle - daily dayflower
  • daily dayflower - 半角←→全角変換,Unicode::Japanese に未公開機能が…

    2008-10-21 追記 いまだに(ありがたいことですが)検索で飛んできたりブクマされたりというのがちょいちょいあるので,最新動向を書いておきます。 id:tokuhirom さんが Lingua::JA::Regular::Unicode という Pure Perl Module をリリースなさいました(→ http://d.hatena.ne.jp/tokuhirom/20081018/1224300947)。 あなたが作っているアプリで文字列まわりを Unicode::Japanese インスタンスですべて持ちたいわけでなければ(そして,たいていのばあい,持つ必要はないのですが),この Lingua::JA::Regular::Unicode を使うのがベターです。依存性もなく,とても軽量ですので。 2008-10-21 追記おわり ウェブアプリを作っていると,ユーザが入力した半角

    daily dayflower - 半角←→全角変換,Unicode::Japanese に未公開機能が…
    overlast
    overlast 2006/05/31
    変換が楽に
  • 1