社内で Shibuya.pm*1でmiyagawaさんのTatsumakiの話を聞く上での予備知識のつもりな勉強会をするので、利用するスライドだけ貼っておきます。 AnyEvent and PlackView more documents from hiratara. *1:自分は行けなくなりましたが・・・orz
社内で Shibuya.pm*1でmiyagawaさんのTatsumakiの話を聞く上での予備知識のつもりな勉強会をするので、利用するスライドだけ貼っておきます。 AnyEvent and PlackView more documents from hiratara. *1:自分は行けなくなりましたが・・・orz
前回のエントリでは簡単なクローラの作り方を説明した。しかしこのクローラには欠点があり、取得したいURLが何千何万とある場合、一度にhttp_getが走ってしまい、リソースを使い切ったり同じサーバーへのアクセスを待つ間にタイムアウトしたりと都合が悪かった。そこで今回はAnyEventに加えCoroを使うことにより、並列を使ってリソースへの同時アクセス制限を行うクローラの書き方を解説する。 これは前回のエントリの改良版になるので、初めてこれを読む方は当該エントリを先に読んで頂きたい。 まず、前回はAnyEventを使い、condvarとsend-recvを使ってイベントの監視をしていたが、Coroと同時に使う場合これでは都合が悪い。イベントループを回す場合、一般的にAnyEventはrecvを、Coroはjoinを使うが、これらはどちらもイベントループが終わるまでブロックするのでどちらかし
Perl で非同期なイベントベースアプリケーションの開発をしようとした場合、これまでは POE を使用するのが一般的でした。 しかし最近ではこの POE に代わり、AnyEvent というフレームワークの人気が急速に高まっています。 AnyEvent は POE と比べて綺麗にコーディングすることができるイベントベースプログラミングのフレームワークというだけでなく、Coroなどと組み合わせることでより高レベルな非同期アプリケーションを書くことも可能であるといったことが人気の理由なのかもしれません。 さて、今回は弊社内部で使用するために開発した AnyEvent モジュールを三本セットで公開します。 1. AnyEvent::APNS 2. AnyEvent::JSONRPC::Lite 3. AnyEvent::Gearman 順番に説明していきます。 1. AnyEvent::APNS
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く