タグ

perlに関するendorのブックマーク (28)

  • I/O待ちを緩和させるのに効果的な Reactor パターン - I am bad at math

    クラウド上で動作するプログラムを組んでいく際、スケールすることを狙って多くのロジックがデカップリングされ、複数のサーバに分散されることと思いますが、そこで顕著になってくるボトルネックの一つがネットワークなどのI/O待ちです。 このI/O待ちを減少させるのに効果的なのが Reactor パターン。 このパターン自体は特に目新しいものでもないのですが、近年のクラウドブームで再び脚光を浴びそうなので自分の備忘録もかねて紹介します。 Reactor パターン http://en.wikipedia.org/wiki/Reactor_pattern この Reactor パターンはどういった場合に使用するかというと 複数のI/O待ちが想定される場合 というのが代表格のようです。今回はネットワークI/Oを想定していますが、データベースへの問い合わせに時間がかかる際にも有用となります。 例としてクローラ

    I/O待ちを緩和させるのに効果的な Reactor パターン - I am bad at math
  • Plaggerをインストールしてみてわかったこと - はこべにっき ♨

    やっとこPlaggerを使えるところまでたどり着けた。livedoor Readerの更新FeedがGmailにどさっと届いたよ。おもしろい。 さて、Plaggerにたどり着くまでには、いくつものモジュールインストールとそのテストの失敗、たくさんの妥協、汗、涙、睡眠不足などの困難が伴ったわけだ*1。そのおかげでCPANやPerlについてわかったことをあげてみることにした。 CPANは便利でおもしろい WWW::YouTubeとかHatena::FormatterとかMac::Glueとか。もっとセンセーショナルなモジュールもたくさんあるよね。CPAN漁ったりPlaggerの依存で入るモジュールを眺めていると、こんなのもモジュール化されてるのか!っておどろくことが多い。もうほんと自分でコード書く必要あるのかというほどの充実ぶり。 CPAN漁りにはモジュールに関するいろんな情報があつまったCP

    Plaggerをインストールしてみてわかったこと - はこべにっき ♨
  • CPANの使い方 (シェルコマンド集) – シングスブログ

    シングスブログ 中小企業のマーケティングやブランディングのコンサルティング。事業開発 (ビジネスモデルの開発)、デジタルマーケティングやウェブサイト改善など事業の持続的・長期的な成長・発展に貢献できるサービスを提供しています。 CPAN (シーパン、Comprehensive Perl Archive Network) とは、Perlのライブラリ・モジュールや Perl で書かれたソフトウェアを集めた巨大なアーカイブ。世界中のPerlプログラマが開発したモジュールが簡単に入手でき、インストールすることができる。 CPAN シェル経由でPerlモジュールをインストールすると、他の依存しているモジュールもインストールしてくれるなど、手動でインストールするよりも作業が省けて効率的にインストールできます。 はじめての起動 $ perl -MCPAN -e shell または、 $ cpan 初めて

  • Plagger - Trac

    Japanese Plagger: the UNIX pipe programming for Web 2.0 Plagger is a pluggable RSS/Atom feed aggregator written in Perl. Everything is implemented as a small plugin and you can mash them up together to build a new application to handle RSS/Atom feeds. Ray Ozzie said RSS can be Unix Pipe of the Internet and that way Plagger is an Unix shell for Web 2.0! If you're familiar to Perl, Plagger is like a

  • YappoLogs: String::Diff - 行内差分取得モジュール

    String::Diff - 行内差分取得モジュール 普通のdiffは行単位での差分を取るんですが、一行の中での差分がどうしても取りたくてString::Diff(2008/06/24リンク切れなおしたtokuhirom++)ってのを作りました。 既存のCPANモジュールだとString::ShowDiffが微妙に近かったんですが、目的の事が出来ないので作りました。 出来ることは 文字列同士の差分を作って変更無い場所、変更が合った場所で配列を分けて作成。 my $diff = String::Diff::diff_fully('this is Perl', 'this is Ruby'); for my $line (@{ $diff->[0] }) { print "$line->[0]: '$line->[1]'\n"; } # u: 'this is ' # -: 'Perl' fo

    endor
    endor 2009/10/13
  • wakaponさんの超☆痛々しいPerl備忘帳: threads.xsめもめも

    threads.xsで使われているインタプリタスレッドの構造についてまとめたものをめもめ.最初にPerlithreadsの概要について説明してから,管理構造,提供されるメソッド,マジックについて説明していく. 1. Perlのスレッドの概要 Perlのスレッドはインタプリタスレッド(ithreads)と呼ばれる.スレッドのモデルはネイティブスレッドモデルである.1つのインタプリタスレッドは,1つのネイティブスレッド上で実行される.1インタプリタスレッドの親スレッドから指定されたサブルーチンは,インタプリタスレッド上に用意されたインタプリタインスタンスで実行される. スレッド間でのデータ共有は明示的に行う.1つのインタプリタスレッドから新たなスレッドを生成した場合,親スレッドのインタプリタインスタンスの内容がすべて子スレッド中のインタプリタインスタンス内にコピーされる.そのため,明示的に共

  • CPAN経由でLinuxにモジュールを組み込む

    Perlのモジュールをインストールしよう! サーバーにPerlの各種モジュールをインストールするには、CPAN を使うと超ラクチンです。 ここでは、サーバーにモジュールをインストールするためのツール、CPANの設定方法と、その使い方を解説します。 このセクションは、Linuxサーバー向けに書かれております。 CPANとは 「モジュール(機能のかたまり)」を簡単にインストールしてくれるシステムです。* 自動的に、モジュールの最新ソースファイルを取って来て、コンパイルし、インストールし、依存関係も解決してくれる優れものです。 CPANの環境を設定する CPANのスクリプトはたいていのLinuxディストリビューションに標準で入っています。 ただし、まずは設定が必要です。楽をするためには、それなりの努力がいるようです…。 shell(コマンドライン)で、以下の通り打ちま

    endor
    endor 2008/06/25
  • モジュールをインストールしよう

    モジュール ここまでは Socket、IO::Socket、IO::Select モジュールを 使ってきましたが、これらは標準モジュールですので わざわざインストールする必要はありませんでした。 この他にも、さらに便利なモジュール Net::POP3 と Mail::POP3Client Net::FTP などがありますが、どちらも (少なくとも perl5.005_05 の時点では) 標準モジュールではないので、自分でインストールしなければいけません。 まず、モジュールの探し方ですが、 Net::POP3 モジュールは libnet-1.0607.tar.gz というファイルに 含まれています。このように、モジュール名とアーカイブ名が 別々なこともありますので注意して下さい。 アーカイブ名がわかっているなら http://www.ring.gr.jp/local/search-j.htm

    endor
    endor 2008/06/25
  • Tatsuyoshi tech diary

    endor
    endor 2008/06/25
  • cygwinでcpanを使ってエラー

    はじめに cygwin環境下でcpanを使った際,エラーが発生しインストールができない場合がある.以下のような状況である./cygdrive/c/program: not foundが発生してインストールができない. cpan> install Pod::Man Running install for module Pod::Man Running make for R/RR/RRA/podlators-1.27.tar.gz LWP not available Fetching with Net::FTP: ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/authors/id/R/RR/RRA/podlators-1.27.tar.gz CPAN: Digest::MD5 loaded ok LWP not available Fetching with

  • ruby & perl - 軽量プロセスをthreadで代用 : 404 Blog Not Found

    2007年05月18日03:30 カテゴリ ruby & perl - 軽量プロセスをthreadで代用 erlangで唯一萌える軽量プロセスですが、これはthreadでも比較的簡単に代用はできます。 Rubyist Magazine - Rubyist のための他言語探訪 【第 10 回】 Erlangで紹介されていたErlang Landのフィボナッチ数を非同期で計算する例は、rubyで書くとこんな感じになるでしょう。 thrfib.rb require 'thread' require 'Common' def worker(n, q) return Thread.new do q.push("fib(#{n}) = #{fib(n)}") end end def manager(n, q) Thread.new do n.times { puts q.shift } end end

    ruby & perl - 軽量プロセスをthreadで代用 : 404 Blog Not Found
  • 世界最大のYAPCが東京で行われる理由 : 404 Blog Not Found

    2008年05月08日15:00 カテゴリYAPC::Asia 世界最大のYAPCが東京で行われる理由 もうすぐやってくる。東京にやってくる。 世界最大のYAPCが、世界中のPerl Hackersをともなって。 日Perl Community に、国際競争力があるおかげだ。 梅田望夫×まつもとゆきひろ対談 第2弾「ネットのエネルギーと個の幸福」(後編):ITpro エンジニアが幸せになるためにはその産業が国際競争力を持つことだと思うんだよね。 いや、実はその産業だけではなく、その産業をも含めた「国力」があるから、だ。 オープンソース・プログラマーというのは、実のところ最高に贅沢な生き物である。成熟した先進国でないと誕生しないし、誕生しても生長できないのだから。 オープンソース・プログラマーというのは、つい最近までは道楽か機関研究員でないとやってられない稼業、失礼、業だった。稼いでな

    世界最大のYAPCが東京で行われる理由 : 404 Blog Not Found
  • perl - Jcodeで半角カナを : 404 Blog Not Found

    2008年03月08日23:45 カテゴリLightweight LanguagesTips perl - Jcodeで半角カナを そんなあなたに、Jcode.pm Windows から Mac に乗り換えるときに知っておいたほうがいいこと : 僕は発展途上技術者 オンラインから銀行振込しようとして気づきました。半角カナが入れられない!! オンにする方法はこちら↓を参考にしました。 » たなごころ: macで半角カナ Jcode.pm CPAN経由でインストールして使ってもOKなのですが、Perl 5.8.1以降であれば、インストールなしに単体でも動作します。例えば、こんな感じ。私はperlを自前でbuildして/usr/local/bin/perlにインストールして普段はそれを使っているのですが、ここではあえてプリインストール版の/usr/bin/perlを使っています。 以下、Term

    perl - Jcodeで半角カナを : 404 Blog Not Found
    endor
    endor 2008/03/11
  • perl & javascript - nested list comprehension : 404 Blog Not Found

    2008年03月10日15:30 カテゴリLightweight Languages perl & javascript - nested list comprehension これをperljavascriptでやろうという試み。 Matzにっき(2008-03-03) - [言語] CS 11: Python track: python idioms List Comprehensionの解説で results = [(x, y) for x in range(10) for y in range(10) if x + y == 5 if x > y] という例題がある。そうか、forって複数指定できるんだ。Perl的には 404 Blog Not Found:perl - 格子点を生成する関数の生成 同じ考えです。 http://codepad.org/mTJcx3Nb su

    perl & javascript - nested list comprehension : 404 Blog Not Found
  • 一足早く「Plagger」の便利さを実感してみよう − @IT

    2006年初頭から「Plagger」という技術が、一部で話題になりました。まだまだ知名度が低い「Plagger」ですが、便利でカスタマイズ性が高いものなので、2007年では爆発的に流行するかもしれません。豊富なプラグインを自在に組み合わせ、欲しい情報を収集し、加工して出力するPlaggerの仕組みや使い方を紹介します。 1. 何でもできる? Plaggerの正体に迫る 今回は話題のPlagger(プラガー)を取り上げます。 この連載を読んでいる読者の皆さんは、ネットワーク技術や知識に興味を持っている人が多いでしょうから、「Plagger」という単語は一度は耳にしたことがあるでしょう。しかし、Plaggerという言葉を聞いたことはあっても、いったいどんなものかピンと来ない人もいるかもしれません。今回はPlaggerがどういった働きをするか? その動きの仕組みなどを中心に紹介していきます。 ●

    一足早く「Plagger」の便利さを実感してみよう − @IT
    endor
    endor 2008/03/07
  • Blog Developer's Cookbook : Trackback Tracer

    Trackback Tracer Trackback は Blog のエントリ間のつながりを表現することができるプロトコルです。ある記事を起点にして Trackback Ping をたどれば、E-mail やニュースグループのスレッド表示のように、関連する記事を一覧でブラウズすることができます。今回は、起点となる URL から Trackback をたどっていく Web アプリケーション Trackback Tracer をつくってみます。 Trackback をたどるアプリケーションは、Trackback Auto-Discovery と Trackback の RSS 出力 を組み合わせれば容易に実装できます。つまり、 起点となる URL から Trackback Ping URL を抽出 Ping URL に __mode=rss を付加して RSS を取得 という流れで、起点の U

  • Welcome: YAPC::Asia 2008 - May 15-16th in Tokyo, JAPAN

    YAPC::Asia 2008 を 2008/05/15-16 に東京工業大学大岡山キャンパス (東京都目黒区) で開催します。 最新情報や参加者同士のコミュニケーション用に、ニュースフィード, Twitter, Facebook イベントページ を用意してあります。(Facebook での参加者登録は任意です) ストリーミング・録画チームのみなさんのおかげで、動画のアップロードがすでに一部で完了しています。 DeNA ルームの1日目・2日目および Larry Wall のキーノートについてはアップロードが完了し、スケジュールからリンクされているトークの個別ページに埋め込まれています。(例: Larry Wall のキーノート) 動画の音質や画質は各部屋ごとに異なりますが、どの部屋も問題なく視聴できるものになっているとおもいます。スライドが読みづらい場合は、スピーカーがアップロードしたスラ

  • regexp - 全角英数字を半角に : 404 Blog Not Found

    2008年01月14日03:30 カテゴリLightweight Languages regexp - 全角英数字を半角に きっかけは、はてなハイク。 自分と根的にあわない人 - fmht7 - はてなハイク PCで英数字をダブルバイトで入力する人 禿同、しかし人を憎みたくなかったので。 Perlではお茶の子さいさい。 perl - dankogai - はてなハイク perl -CIO -ple 'tr/\x{FF01}-\x{FF5e}/\x21-\x7e/' は脊髄でひねり出せた。 どうせならJavaScriptでもやってみよう、ということでひねり出したのがこちら。 !釤#$%&釻()*+,−./ 0123456789:;<=>?@ ABCDEFGHIJKLMNOPQRSTUVWXYZ [\]^_` abcdefghijklmnopqrstuvwxyz {|}〜 var fasci

    regexp - 全角英数字を半角に : 404 Blog Not Found
  • perl - ソースが読みにくいには訳がある - そして愛も : 404 Blog Not Found

    2007年12月26日17:45 カテゴリOpen Source perl - ソースが読みにくいには訳がある - そして愛も Can't agree more! まつもとゆきひろのハッカーズライフ:第10回 ソースを読もう (2/2) - ITmedia エンタープライズ このように、ソースコード読解の経験を積むと、読みやすいソースコードと読みにくいソースコードがあることに気がつくと思います。わたしが最悪と思ったのは、(失礼ながら)Perl5のソースコードです。 このPerlのソースコードの読みにくさが、Perlの実装の分化の一番の妨げになってきた。Perlより新しいRubyにYARVが生まれたり、Pythonにあれだけ多彩な実装があるのは、その裏返しと言っていい。Perlにもそういう動きがなかったわけでもないのだが、他の言語のようにうまく行っていないのは、ソースコードの読みにくさが確か

    perl - ソースが読みにくいには訳がある - そして愛も : 404 Blog Not Found
  • Perl、20回目の誕生日を迎える

    Perl.comより。1987年12月18日はPerlの最初のバージョンが公開された日であり、Perl 20回目の誕生日になります。 これに合わせて、新しい安定版であるPerl5.10がリリースされました。CPANから入手可能です。 今回リリースされたのはPerl5.9系として開発されていたもので、switch (given-when) 文や "//"演算子など、Perl6に採用される新しい機能も取り込まれています。 また、これまでWindows環境用には ActivePerl や Strawberry Perl といったディストリビューションが利用されてきましたが、バージョンから家でも完全に対応したようです。 Perl6の方も気になるところですが、その実行環境として開発されているParrotも同日にバージョン0.51("Hatachi")がリリースされており、ようやく折り返し地点とい

    endor
    endor 2007/12/19