タグ

Perlとpoeに関するdannのブックマーク (21)

  • unknownplace.org - 2008/11/13 - MochiKit的にPoCo::Client::HTTPをつかえるラッパーを書いてみた。

    POE は結構好きなんだけど、使ってるにつれていろいろ不満が出てくる。 Client::HTTP もその一つで、レスポンスを受け取るコールバックに CodeRef を指定できないくていちいちステートを作らないといけないのが嫌なので、こんなのを作ってみました。 POE::Component::Client::HTTPDeferred MochiKit のインタフェースを参考にしてます。 こんな感じで使う。 use POE qw/Component::Client::HTTPDeferred/; use HTTP::Request::Common; POE::Session->create( inline_states => { _start => sub { my $ua = POE::Component::Client::HTTPDeferred->new; my $d = $ua->re

    dann
    dann 2008/11/15
  • [ 面白法人的ラボ KAYAC BM11 ] JSONRPC::Transport::TCP

    JSON-RPCクライアント・サーバーモジュール Webアプリケーションを作成していると、時間のかかるジョブなど、Webアプリケーションと切り離したところで動かしたいという場面があります。 そういった場合、Webアプリケーションとは別に裏側でジョブプロセスを作成することになりますが、プロセス間でのデータのやり取りが問題になる時があります。 弊社ではPOE::Component::IKCを利用していましたが、今回は“もっとシンプルな実装がほしい!”ということで、TCPベースのJSON-RPCサーバーモジュール POE::Component::Server::JSONRPC と、同じくクライアントモジュールの JSONRPC::Transport::TCP を作成いたしました。 前記のIKCでは、perlのプロセス同士でしかやり取りができないのですが、JSONRPC::Transport::T

    dann
    dann 2008/07/19
  • POE: Cookbook - Application Servers 2

    This example contains a trivial application server using POE::Component::IKC, and a corresponding client using POE::Component::IKC::ClientLite. IKC stands for "Inter-Kernel Communication" and is used to pass events between POE processes. The ClientLite library allows non-POE programs to interact with POE-based services. In this example, the server adds up a list of number and returns their sum. Th

    dann
    dann 2008/07/19
  • 非同期SQLサーバ - naoyaの日記 - naoyaグループ

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    非同期SQLサーバ - naoyaの日記 - naoyaグループ
    dann
    dann 2008/07/19
  • Cometでブラウザをgkbrさせてみる! - download_takeshi’s diary

    最近久しぶりにCometとかFlashのXML-Socketとかを調べています。 Cometといえばチャットに代表されるように「テキストや画像の配信」が頭に思い浮かびますが、 今回はjsonpで任意のイベントを送り込む例として「サーバにアクセスしている人のブラウザを好き勝手に動かしてみる」という、やや怪しげなサンプルを書いてみました。 仕組みはこんな感じ。 サーバはPOEで動作します。HTTPの受け口とコマンドラインを受け付ける口を持っています。 クライアント側からはjqueryを使ってXHRなlong_pollセッションを張っておきます。 サーバからは任意のタイミング(コマンドラインを受け付けたタイミング)でjsonpを送ってやります。 クライアントは受け取ったjsonpによってあらかじめロードしておいたいくつかの関数のうち、どれかがキックされる というような構成です。 実際にどうなるか

    Cometでブラウザをgkbrさせてみる! - download_takeshi’s diary
  • CodeRepos::Share – Trac

  • MooseX-POE-0.215 - The Illicit Love Child of Moose and POE - metacpan.org

    The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

  • オーニソプターズ

    1 :爆笑ゴリラ ★ 2022/01/23(日) 20:11:09.18 CAP_USER9.net 1/23(日) 19:57 オリコン えなこ、制服×耳でウインク ファン歓喜「これは反則」 えなこ (C)ORICON NewS inc.  コスプレイヤーのえなこが23日、自身のインスタグラムを更新。耳をつけ、下乳が

    オーニソプターズ
  • cometネタ,ふたたび - file-glob こと k.daibaの日記

    1対1チャット 1対1でチャットするcometベースの仕組みを作ってみました.クライアント側はまだブラッシュアップしてる最中ですが,サーバ側のコードは落ち着いてきたのでまとめてみます.このサーバは html, css, jsファイルのダウンロード /sendにクライアントが投げてきたpostメッセージの受信 /helloにクライアントがJSONで投げてきたgetメッセージの受信 受信したpostメッセージを,getメッセージへのresponseとして特定のクライアントにJSONP形式で送信 死活監視を兼ねて,システムにログイン中のユーザ一覧をgetメッセージへのresponseとして全クライアントにJSONP形式で送信 という機能を持っています. POE::Component::Server::HTTP my $server = POE::Component::Server::HTTP->

    cometネタ,ふたたび - file-glob こと k.daibaの日記
    dann
    dann 2007/07/06
  • 仙石浩明の日記: オープンソース版 VPN-Warp リレー サーバ (Perl POE を使って実装)

    Perl の非同期I/Oモジュール POE を使って VPN-Warp relayagent を書いてみました」に 続いて、 同じく POE を使って VPN-Warp リレー サーバも書いてみました。 これで、オープンソースだけを使って VPN-Warp を実現することができます。 今までも、 BIGLOBE の VPN ワープのページから証明書を取得すれば、 月額 525円で VPN-Warp を試してみることはできたわけですが、 ちょっと試してみたい場合など、 有料であることがネックである感は否めませんでした。 特に、 常日頃からオープンソースを使いこなしている方々だと、 ちょっと使ってみたいだけなのにお金を払うのはねぇ、 と思ってしまうのではないでしょうか。 かくいう私も、 無料「お試し版」のサービスやソフトウェアに慣れきってしまっているので、 試しに使ってみようとする場合に、

    dann
    dann 2007/03/21
  • naoyaのはてなダイアリー - Perlでモダンなネットワークサーバーを書くには

    Comet については、普及するかどうかという以前に、どう使えばいいのか、正しく使った場合に何をどこまでできるのか、という理解が共有されていないように思います。なので、(あくまで私見ですが) 使用したスライドの一部を公開したいと思います。よろしければごらんください。 サイボウズラボの奥さんによる Comet のサーバー周りの資料。すばらしい。C10K に対してどのようなアーキテクチャをとるのが良いかとの考察が特に勉強になりました。 また、問題や改善すべき点があれば、教えていただければ幸いです。 というので問題、改善すべきというわけではないですが Perl 周りの話で少し補足を。 資料中の「初心者へのオススメが PoCo::Server::HTTP でパフォーマンスが欲しい人には Sys::Syscall qw/:epoll/」の点。おそらく Perl でも epoll を使えますよというこ

    naoyaのはてなダイアリー - Perlでモダンなネットワークサーバーを書くには
    dann
    dann 2007/02/24
  • POE-Component-Pluggable-1.28

    The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

    POE-Component-Pluggable-1.28
  • POE: Cookbook

    POE's Cookbook is a collection of illustrative examples for doing things (wonderful and mundane) with POE. It was started in the spirit of the [Perl Cookbook]. This cookbook is meant to be comprehensive, but it can't be without your help. Please add suggestions to the end, or feel free to create your own examples. If you wrote a component you'd like to see here, add an example. Unless otherwise st

    dann
    dann 2007/02/10
  • Evolution_of_a_POE_Server

    Evolution of a POE Server by Rocco Caputo and Socko the Puppet. Copyright 2002. All rights reserved. This tutorial is free text. It may be distributed (but not modified) under the same terms as POE. For the Impatient This tutorial presents the same TCP server at four different levels of abstraction. If you're good with Perl and already know the basics of POE, you should have no trouble figuring ou

    dann
    dann 2007/02/10
  • POE::Component::AtomAggregator

    NAME POE::Component::AtomAggregator - Watch Muliple Atom Feeds for New Headlines VERSION Version 1.0 SYNOPSIS #!/usr/bin/perl use strict; use warnings; use POE qw( Component::AtomAggregator ); my @feeds = ( { url => "http://xantus.vox.com/library/posts/atom.xml", name => "xantus", delay => 600, }, { url => "http://www.vox.com/explore/posts/atom.xml", name => "vox", delay => 60, }, ); POE::Session-

    POE::Component::AtomAggregator
    dann
    dann 2006/11/30
  • 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
  • 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
    dann
    dann 2006/11/18
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    dann
    dann 2006/11/15
  • 少し手馴れたircbot - file-glob こと k.daibaの日記

    バージョンアップ 昨日の日記に これHTML::TagParserの中でLWPか何かでダウンロードしてTITLEをとっているんですよね。とすると、URLのサイトが重かったりするとブロックしてしまうとおもいます。POE::Component::Client::HTTP などでドキュメントを取得してからパーサにまわすほうがいいかと。 と,宮川さんからコメントを頂いたので作ってみました.POE::Componentを複数個使ったスクリプトを組むのは覚えてる限り初めてだったので,ちょっと時間がかかりました. title.pl #!/usr/local/bin/perl use POE qw(Component::IRC Component::Client::HTTP); use HTTP::Request::Common qw(GET); use HTML::TagParser; use Enco

    少し手馴れたircbot - file-glob こと k.daibaの日記
    dann
    dann 2006/11/13
  • POE - (ひ)メモ

    POE POEしてます。 POE - multitasking and networking framework for perl POE - マルチタスク及びネットワークのperl用フレームワーク POE - multitasking and networking framework for perl POE - マルチタスク及びネットワークのperl用フレームワーク Blog Developer's Cookbook : Weblogs.com Ping Gateway to はてなアンテナ (POE版) POE - Perl Object Environment に触れる : NDO::Weblog Shibuya.pm でデモした POE による pingbot のソース : NDO::Weblog POE: POE Cookbook POE::Component::Jabberは

    POE - (ひ)メモ
    dann
    dann 2006/10/30