Perl Hackers Hub 第2回 AnyEventでイベント駆動プログラミング (1) 2010年8月2日 初出:WEB+DB PRESS Vol.56(2010年4月24日発売) 牧大輔 Perl, AnyEvent, イベント駆動プログラミング イベント, プログラミング, プログラム, イベントループ, インストー... 続きを読む
ChirpUserStreamsを簡単に使えるようにしてみましたレポジトリpunytan’s AnyEvent-Twitter-Chirp at master - GitHubINSTALLATION % git clone git://github.com/punytan/AnyEvent-Twitter-Chirp.git % cd AnyEvent-Twitter-Chirp/ % perl Makefile.PL % make ... 続きを読む
ただ作ってみたくなったので実装してみました。発言されたURLのタイトルとContent-Typeを返すボットです。punytan’s mobijiro at master - GitHub名前はアレを真似てつけました。レスポンスの文字コードAnyEvent::HTTP::http_get で取得すると、 UTF-8 だった... 続きを読む
一年半ぐらい遅れのWWW::Curlブーム!とりあえずGETだけだけど、上手く動かせそう。WWW::Curl::Multiのfdsetでアクティブなfd番号が取れるので、それをAEで監視して変化があればperformを呼んでやればcurl_multiのイベントループが動く。 package AnyEvent::WWW... 続きを読む
Perlよく知らないまま、はじめてplackupを使ってみていたのだけど、ちょっと困っていたので何気なく呟いてみたら…sugyanplackup -R が若干負荷が高くて膝の上にMacBook載せて作業するには熱くなりすぎる…!2010/04/03(土) 15:38:34miyagawa@sugyan try placku... 続きを読む
perl, coro, anyevent, amqp, rabbitmq以前、AMQP と RabbitMQ を学ぶために RabbitFoot という名前の Perl 版のクライアントライブラリを作成したのですが、非同期化して欲しいと要望を頂いたので、AnyEvent と Coro を利用してみました。AnyEvent と Coro は... 続きを読む
天然パーマの Erogeek「ゆーすけべー / yusukebe」の日記です 最近は Perl の話題が多くなっています はぁはぁ 親父とのプロジェクトのために Trac や SVN の更新を 2人の IM に通知したい。 Plagger を使って Gtalk にポストできるよねと思って、通知の部分に ... 続きを読む
AnyEvent はじめ そろそろAnyEventでもやってみようと思ったので AntEvent::Handle いわゆるIOまわりの面倒を色々便利にやってくれる君。イベントベースなIOと言うよりかはevent queueなIOみたいな捉え方するとすんなり。 read/writeの処理はqueue的な感じで登... 続きを読む
というわけで、俺の独断と偏見によるオススメモジュールのコーナーです。AnyEvent は poll/select/kqueue/epoll(4) などのイベントループを抽象化するライブラリです。似たような目的のものとして Danga::Socket, POE などがありますが、ライブラリ全体のインタ... 続きを読む
perl社内で Shibuya.pm*1でmiyagawaさんのTatsumakiの話を聞く上での予備知識のつもりな勉強会をするので、利用するスライドだけ貼っておきます。AnyEvent and PlackView more documents from hiratara. 続きを読む
Loading... Flash Player 9 (or above) is needed to view presentations. We have detected that you do not have it on your computer. To install it, go here. Tatsumaki - Presentation Transcript Tatsumaki non-blocking web framework built on Plack/A... 続きを読む
Perl, Twitter全裸botが規制されてから、2週間。復活の兆しは見えない。ということで、我慢しきれず全裸bot2(@zenra_bot2)というアカウントを作成した。GAEで動かしていたヤツでそのままアカウントだけ変更して動かしてもよかったのだけど、それだけだとあまり... 続きを読む
perl+webそれってHamakiなんですが、試しに作ってみたので一応。ただし、Tatsumakiは、This is considered as alpha quality software. Most of the stuff are undocumented since it's considered unstable and will likely to change. You should sometimes l... 続きを読む
Perl, Wassr諸事情により、AnyEvent::TwitterのWassrバージョンが欲しかったので、作ってみた。AnyEvent::Twitter - search.cpan.org基本的にはこのAnyEvent::Twitterのパクリ。じゃっかんインターフェースを自分好みに変更してたりもするけれど。ドキュメント... 続きを読む
自分専用TwitterのWeb UI 「Hamaki」 ミニブログサービスで先行するTwitterと差別化を図った上で新たなサービスを出すのは面倒くさいので、id:miyagawa氏のコードを丸々パクった上でTwitter支援ツール、Hamakiを機能の夜からちょこちょこと開発しました(本当は... 続きを読む
前回のエントリでは簡単なクローラの作り方を説明した。しかしこのクローラには欠点があり、取得したいURLが何千何万とある場合、一度にhttp_getが走ってしまい、リソースを使い切ったり同じサーバーへのアクセスを待つ間にタイムアウトしたりと都合が悪かった... 続きを読む
Perl, TwitterTwitermで、AnyEvent::Twitterを使っているのだけど、これはBASIC認証のみ対応していて、現時点ではOAuthは使えない。でも個人的にはPOST時にクライアント名を表示させたいし、OAuthをまだほとんど使ったことがなかったので使い方を学びたい。とい... 続きを読む
PerlTerminal上で動作するTwitter閲覧ツール「Twiterm」を作った - すぎゃーんメモにて、初めてAnyEvent::Twitterというモジュールを使ってみたのだけど、使い方を激しく勘違いしていたので、正しい使い方をメモっておく。AnyEvent::Twitter - search.cpan.org ... 続きを読む
perlPOEからAnyEventに移すのはどんな感じか、試しにやってみます。最初にまとめ恐らく問題となるのはPOEのイベント呼び出しとAnyEventのコールバックの仕組みのギャップですが、AnyEventではメソッドを呼び出すコールバックを渡すことでPOEのイベント呼び出し... 続きを読む
Web Application like a 'tail -f xxx' command for Twitter etc. 続きを読む
天然パーマの Erogeek「ゆーすけべー / yusukebe」の日記です 最近は Perl の話題が多くなっています はぁはぁ 以前からやってみたかったことを実験的に公開。 現在できていることは、 URLを含む全世界中の Twitter 発言を日本語で限定してリアルタイムにだらだ... 続きを読む
AnyEvent で plagger-ircbot 的なのかいた AneEvent二日目なので plagger irc bot的に使えるのを書いてみた。 http://github.com/yappo/perl-anyevent-irc-message-proxy POEってのはIKCっていう便利なRPC的に便利に使えるのが有るんですが、まぁplagger irc bo... 続きを読む
perlCoro::AnyEventを使うと、継続渡しスタイルを使わずに非同期を書くことができます*1。ということで、試しにやってみました。最初にまとめAnyEventの層を作り、その上にCoroの層を重ねて、フロントエンドからはCoroの層だけ使うとわかりやすいアプリができる... 続きを読む
最近perl界隈で話題のAnyEventについて、今のうちに習得しておくとid:miyagawaみたいにクールになれて、もしかしてモテるのではないかと思い、よっしゃ、勉強してみるか、ということでドキュメント読み出したんですが、、えらいボリュームですね。心がポッキリ... 続きを読む
mod_perlの中でAnyEventを使って何か上手く動かないというときは timerを使う前にAnyEvent->now_updateをすると良いです。 一つ前のリクエストを処理し終わってから、時刻が更新されていないケースがあります。 AnyEvent->nowは現在時刻を返しますが、実装によ... 続きを読む
Loading... Flash Player 9 (or above) is needed to view presentations. We have detected that you do not have it on your computer. To install it, go here. Asynchronous programming with AnyEvent - Presentation Transcript Asynchronous Event progr... 続きを読む
天然パーマの Erogeek「ゆーすけべー / yusukebe」の日記です 最近は Perl の話題が多くなっています はぁはぁ 前夜祭も終わり(僕の発表した件とかはまた後ほどポスト)、いよいよ明日(というか今日)から YAPC::Asia 2009 開幕! てなわけでなにかと、Twitter上... 続きを読む
POE の欠点として気になるのは以下の2点。コードが複雑で、問題がおきたときに追うのがしんどい コールバックですむところでもとにかくイベントで処理している Wheel 系のつかいがってが悪い。AnyEvent の方がこなれている。POEですでにある PoCo に関しては、A... 続きを読む
イベントドリブンなプログラミングをする際の文脈で言うと、Coroはコーディングスタイルを変化させる(させない)モジュールという意味合いが強いと思う。I/Oにまつわる処理をしないならCoroはタダのコルーチンの実装で、内部でAnyEventが呼ばれることは無い。 An... 続きを読む
Perl で非同期なイベントベースアプリケーションの開発をしようとした場合、これまでは POE を使用するのが一般的でした。 しかし最近ではこの POE に代わり、AnyEvent というフレームワークの人気が急速に高まっています。 AnyEvent は POE と比べて綺麗にコー... 続きを読む
モダンPerlの世界へようこそ 第13回 AnyEvent:イベント駆動モジュールの方言を吸収する 2009年8月10日 石垣憲一 Perl, モダンPerl, AnyEvent 1 2 イベントループを持つモジュールが抱える問題点 イベントループを持つモジュールの一例として,前回はPOEを取り... 続きを読む
This repository is private. All pages are served over SSL and all pushing and pulling is done over SSH. No one may fork, clone, or view it unless they are added as a member. Every repository with this icon () is private. This repository is pu... 続きを読む
Reverse HTTP が熱い!ともっぱらの評判なわけですが、webhook などを firewall の内側で呼ばせるために使うのが本来のつかいかただそうです。たとえばはてブwebhokを利用する場合、以下のような手順が必要になるわけですが、このうち2番の手順をはぶけるという... 続きを読む
Coro と AnyEvent はどういう関係なのかを整理しておく。 Coro → AnyEventCoro は AnyEvent に依存している。Coro はファイル/ソケット/etc の 読みこみ/書き込み待ち のときタイマを稼働させるときなどに AnyEvent を内部的につかっている。 AnyEvent → Coro... 続きを読む
http://github.com/tokuhirom/xircd/tree/anyeventid:precuredaisuki 氏によるプラガブルな IRC サーバーである XIRCD を AnyEvent + Coro でかきなおしてみた。Coro をつかうと、HTTP リクエストをするコードを書く場合にイベントの遷移などをともなわずに直接... 続きを読む