タグ

ブックマーク / download-takeshi.hatenablog.com (10)

  • ブロッキングする処理を外部プロセスに任せる - AnyEvent::Workerを使ってみた - download_takeshi’s diary

    AnyEventを使う場合に、どうしてもブロッキングしてしまうような処理があるとして、それを外部プロセスとして切り出しつつ、メインのイベントループの中に取り込みたいんだよな、と。 そんな時はAnyEvent::Workerがよさそうです。 AnyEvent::Worker - Manage blocking task in external process http://search.cpan.org/~mons/AnyEvent-Worker/ POEで言うところのPOE::Component::Genericのようなものらしいです。使いこなせるようになるといろいろと便利! use strict; use warnings; use AnyEvent; use AnyEvent::Worker; $|++; print _timestamp(), "開始しまーす\n"; my $cv =

    ブロッキングする処理を外部プロセスに任せる - AnyEvent::Workerを使ってみた - download_takeshi’s diary
    drk7jp
    drk7jp 2011/04/22
  • Hadoopに入門してみた - セットアップからHadoop Streaming まで - - download_takeshi’s diary

    大規模データを処理する必要が出て来たので、Hadoopを導入してみることになりました。 以下、導入メモです。 セットアップ 以下のような構成で試してみます。環境はCentOSです。 マスター(host001) ━┳ スレーブ(host002) ┣ スレーブ(host003) ┣ スレーブ(host004) ┗ スレーブ(host005) まずは各マシンにJavaをインストール。JDK1.6を落として来てrpmでインストールするか、yum install java-1.6.0*などとたたけばOKです。(rpmでインストールする場合は http://java.sun.com/javase/ja/6/download.html から jdk-6u18-linux-i586-rpm.binをダウンロードして、実行権限を与えてルートで実行すればインストールできます。) 続いてマスターノードにHado

    Hadoopに入門してみた - セットアップからHadoop Streaming まで - - download_takeshi’s diary
    drk7jp
    drk7jp 2010/09/07
  • Javaで暗号化したデータをPerlで復号化しようとしたら大変だった件 - download_takeshi’s diary

    JavaでRijndael(AES)で暗号化されたデータをPerlで復号化しようと思います。 「暗号方式と秘密鍵だけ聞いておけば簡単にデコードできるっしょ、余裕っしょ」とタカをくくっていたら、思いっきり天罰がくだりました。久しぶりにハマったのであります。 ちゃんと確認しておくべきだった情報 まずは暗号方式と秘密鍵だけでなく、以下の情報をしっかりと確認しておく必要アリでした。 暗号アルゴリズム 秘密鍵 秘密鍵の長さ ブロック暗号化モード IV(Initialization Vector:初期化ベクトル) padding方式 暗号のことちゃんと勉強した事がないので、なんだかよくわからんけど、必要らしい。 せめて事前にここらへんを読んで勉強しておけばよかった。 ぱせらんメモ http://d.hatena.ne.jp/pasela/20100612/crypto DESに代わる次世代暗号「AES

    Javaで暗号化したデータをPerlで復号化しようとしたら大変だった件 - download_takeshi’s diary
    drk7jp
    drk7jp 2010/08/19
  • 知ってそうで意外と知られていないperlの小技 10選 - download_takeshi’s diary

    意外と知られていないperlテクってのが、意外とあるもんですね。 最近身の回りでいくつか話題に上がったものがあったので、ちょっと書いてみます。 どれも最新のモダパ的なモノではないけども、知っておくと地味に便利かもしれないノウハウです。 中級レベル以上のperlユーザの人たちでも「お、こんなの知らなかった」というのもあるかもね。 複数項目でのソート よくエクセルなんかで「A列を降順、B列を昇順にして並び替え」みたいなことしますよね? perlで複数項目のsortではどうすればできるでしょうか? じつはとっても簡単。sortの次に続くブロックの中でorするだけです。 例えば以下のような4人の子供たちのデータを年齢順、体重順でソートしてみます。 use strict; my @data = ( { name => '太郎', age => 10, weight => 25, }, { name

    知ってそうで意外と知られていないperlの小技 10選 - download_takeshi’s diary
    drk7jp
    drk7jp 2010/06/11
    ちゃんと全部知ってて良かった
  • windows環境でApache2.2 + mod_perl2 - download_takeshi’s diary

    最近のことですがwindows 2003 serverでApache2.2とmod_perl2をセットアップする必要に迫られ、その際にいろいろハマったことがあったので、手順をメモしておきます。 perl5.8.8 + Apache2.2 インストール activestateのサイトからperl5.8.8をダウンロード&インストール apche.orgからApache2.2.Xをダウンロード&インストール ここまでは何も難しいことはありません。バイナリを持ってきて突っ込むだけです。 mod_perl2 をインストール コマンドプロンプトからppmでmod_perl2をインストール ppm install http://theoryx5.uwinnipeg.ca/ppms/mod_perl.ppdここに色々書いてあるので事前に一読しておくとよいです。 ちなみにちょっと余談ですが、mod_per

    windows環境でApache2.2 + mod_perl2 - download_takeshi’s diary
    drk7jp
    drk7jp 2010/03/03
  • ローカルポートを食いつぶしていた話 - download_takeshi’s diary

    ここのところ、お仕事で管理しているシステムで、夜中に負荷が急上昇する事象が発生しており、夜な夜な対応に追われていました。 (このブログ書いている今も、負荷がじわじわ上昇中なんですが・・・) で、いろいろと調査した結果、ようやく糸口がわかってきました。 結論から言うと、ローカルポートなどのネットワーク資源をいつぶしていたようです。 以下、調べていってわかったことなどのメモです。 トラブルの事象 運用しているのは Apache2.2 + mod_perl2 なwebサーバで、リスティング広告システムの配信系です。 リスティング広告の配信のシステムって一般的にロジックが複雑でいやーな感じなんですが、このシステムもご他聞に漏れずかなりのひねくれ者で、しかもトラヒックは結構多めです。システム全体で、日に1000万〜2000万クエリくらいかな。幸か不幸か、このご時勢においてもトラヒック的には成長し続

    ローカルポートを食いつぶしていた話 - download_takeshi’s diary
    drk7jp
    drk7jp 2009/10/14
  • 「日本語テキストを分類するベイジアンフィルタ」を簡単につくるyo - download_takeshi’s diary

    数週間前の話になりますが、「はてブのリニューアル会見」の記事を読んでいたところ、はてブにも「自動カテゴライズによる記事分類」の機能が搭載されるとか。。。 同じようなタイミングで「似たようなモノ」というか「ほぼ同じようなモノ」を作っていたので、すごーくインスパイアされてしまいました。ジュワ〜。(アドレナリンの放出音) 数週間たってもいまだ興奮冷めやらぬ状態なので、今日はその件について書いてみようと思います。 Lingua::JA::Categorize - a Naive Bayes Classifier for Japanese document. http://search.cpan.org/~miki/Lingua-JA-Categorize-0.00001/ 「はてブのパクリ」ではありません。「ベイジアンによる日語テキスト分類器」を「簡単に作る」ことを目的としたモジュールです。 も

    「日本語テキストを分類するベイジアンフィルタ」を簡単につくるyo - download_takeshi’s diary
    drk7jp
    drk7jp 2009/02/26
  • 手軽にTF/IDFを計算するモジュール - download_takeshi’s diary

    情報検索の分野でよく使われるアルゴリズムで「TF/IDF」というものがあります。 ドキュメントの中から「特徴語」を抽出する、といったような用途でよく使われています。 TF/IDFアルゴリズムのくわしい解説はこことかここを見てください。 今回はこのTF/IDFの計算を「簡単」に実現するためのperlモジュールをCPANに上げましたので、ご紹介します。なまえはLingua::JA::TFIDFといいます。 Lingua::JA::TFIDF - TF/IDF calculator based on MeCab. http://search.cpan.org/~miki/Lingua-JA-TFIDF TF/IDF実装の困りどころ TF/IDFの実装を試みた方であればわかると思うのですが、実際にやろうとすると、TF(Term Frequency)の計算はなんら難しくありませんが、IDF(Inve

    手軽にTF/IDFを計算するモジュール - download_takeshi’s diary
    drk7jp
    drk7jp 2008/11/01
  • mysqlにperlインタプリタを組み込んでみる - ダウンロードたけし(寅年)の日記

    以前「mysqlに独自関数を組み込む(UDF)」というエントリを書いてみましたが、今回はそれの延長で、mysqlのUDFとしてperlインタプリタを組み込んでみようと言う実験です。 mysqlperlを組み込んで何がうれしいかっていうと、簡単なperlスクリプトで自由にmysqlの関数を作れるようになります。 例えば URLリストから実際にLWPで内容を取得してきて何かの処理をした結果を表示したり perlの正規表現で任意のフィルタリング関数を書いてみたり 何かの更新処理のあとに裏でバッチ処理を走らせるためのトリガースクリプトを関数として組み込んでみたり みたいなことがmysqlの中だけでできるようになります。 車輪の再開発 実は先に述べておきますと、今回のこのアイデアですが、なんと今から5年ほど前にかの有名なBrian Aker氏がLinuxJournalにてEmbedding Per

    mysqlにperlインタプリタを組み込んでみる - ダウンロードたけし(寅年)の日記
    drk7jp
    drk7jp 2008/06/23
  • download_takeshi’s diary

    要するにAnyEventでgroongaを使いたかったのでperlモジュール書きました。んでもって久々にCPANにアップしましたよ、という告白です。 AnyEvent::Groonga - Groonga client for AnyEvent http://search.cpan.org/~miki/AnyEvent-Groonga/ 非同期でガンガン全文検索エンジンを叩きたいな、ということでAnyEvent::Groonga。 なおYappo さんが取り組まれているCライブラリのperlバインディングスとは異なり、AE::Groongaはgroongaディストリビューションに同梱されてるオリジナルの「groongaサーバ」を対象としています。 このgroongaの組み込みサーバは、じつはhttpとgqtp(groonga独自プロトコルらしい)両方をしゃべれます。また普通にローカルのDB

    download_takeshi’s diary
    drk7jp
    drk7jp 2007/08/23
    偶然みっけた!
  • 1