The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
多数のユーザーの行動記録からアテンション情報(注目されているデータが何か)をデータマイニングしたいというのは、大量のデータを扱っているウェブサイトにおいては自然と出てくる要求です。そこで、先月末にサービスを終了したサービス「パストラック」において使用していた、アクセスログから注目度(人気度)の高いウェブページや人名等のキーワードを抽出するためのアルゴリズムを紹介しておきたいと思います。 たとえばはてなブックマークのような、ユーザーの能動的な行為(「ブックマークする」という作業)から注目情報を抽出するのは決して難しいことではありません。それは、直近の一定期間内のブックマーク数=注目度、という前提が上手に機能するからです。現に、はてなブックマークの人気エントリーは、最近24時間程度の期間内にブックマークしたユーザー数の多い URL を降順で並べているように見受けられます。 しかし、アクセスログ
Makefile.PLを書くためのビルドユーティリティの一つであるModule::Installは非常に便利だが,XSモジュールのサポートが弱い。 そこで,Module::InstallのプラグインとしてModule::Install::XSUtilを書いてみた。 http://search.cpan.org/dist/Module-Install-XSUtil/ (CPAN) git://github.com/gfx/Perl-Module-Install-XSUtil.git (github) XSモジュールを利用は,Perlから利用する場合とXSから利用する場合の二つの状況がある。ほとんどのXSモジュールはPerlから利用するが,まれにXSからの利用するモジュール(メタXSモジュール)もある。XSUtilはこの二つを両方サポートする。 通常のXSモジュールの場合 XSモジュールでは一
正直言いますと、個人的には定数って殆ど使わないんですよね。 昔はちょこちょこ使ってたんですが、最近は定数となりうる物は基本的にYAML等外部ファイルに持たせて変更可能にすることが多いのでまったく使ってません。 ですがそれでもPerlで定数を使いたい時にはどーすんの?っていう時のために軽くここにまとめておきます。 言わずもかなPerl5.8にはconstantという定数を定義できる標準モジュールがあります。 use strict; use constant PI => 3.14; # 表示 print PI; # 3.14 # 上書きしようとすると・・・ PI = 3; # Can't modify constant item in scalar assignment とこのように上書きしようとするとエラーを吐いて死にます。 しかも実行時ではなく、コンパイル時にエラーを吐きます。 実はこのc
Ark CGIでも実用的に使うことが出来るCatalystライクなウェブアプリケーションフレームワーク 2009.06.01 ArkはCatalystの流れをくむPerl製のウェブアプリケーションフレームワークです。 カヤックのBM11ブッコミイレブンのような大量に小さなアプリケーションを開発するような現場においてはCatalystのような大規模なフレームワークは逆に足枷になってしまう場合があります。 「もっと軽いけどCatalystっぽくつかえるフレームワークが欲しい・・・!」 というラボ内の要望に応えて新しいフレームワークを開発しました。 といっても一から開発したのではなく、最近のPerlにはHTTP::Engineという「フレームワークをつくるためのフレームワーク」とも言える素晴らしいライブラリがあり、そのライブラリの上で開発を行っています。 HTTP::Engineを使用するとCG
KiokuDBがちょっと前から気になってて、そしたらたまたまid:tokuhiromがブログで使い方などを書いてたので、それを見ながら試してみようと思いインストールしていたら、requiredに入ってるProc::InvokeEditorというモジュールが目につきました。なにをするモジュールだろと思って調べてみたら便利そうだったので紹介。 これ、なにをするモジュールかと言うとよくcvsとかsvnとかgitとかでコミットする際に「-m」でコメント指定しないとエディタが開いて編集させたりすると思うんですが、その挙動を簡単に記述できるようになるモジュールです。 use Proc::InvokeEditor; my $unedited_text = '元々のテキスト'; my $edited_text = Proc::InvokeEditor->edit($unedited_text); warn
miyagawaさんが紹介されていたlocal::libを使って非rootでのCPAN環境を作ってみました。平たく言えばさくらインターネットのレンタルサーバで一般ユーザーでCPAN環境を作ってみました。 とはいえ、多くは先人たちの otsune's FreeBSD memo :: ユーザー領域にCPANをインストールする方法 さくらインターネットでCPAN - Charsbar::Note と大差ありません。 まずはlocal::libのアーカイブを取得・解凍します。最新のバージョンは1.003001です。 wget http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.003001.tar.gz tar xzvf local-lib-1.003001.tar.gz cd local-lib-1.003001 ots
よくわかってないんだけど、とりあえず動いたので忘れないようにメモ。 (ただしこれはOSX上でのことなので他のOSだとところどこパスなどで違う部分があると思う) 1. hoge.xsを作る 今回は単純にパッケージ名をPACKAGENAMEで、メソッド名methodnameというのが1つあるだけのhoge.xsだとする。 2. xsubppというコマンドでhoge.xsをhoge.cに変換する typemapが必要なのでExtUtilsのパッケージの中のを使う。 % xsubpp -typemap /System/Library/Perl/5.8.8/ExtUtils/typemap hoge.xs > hoge.c 3. hoge.cをコンパイルする前にppport.hというのを生成しておく % perl -MDevel::PPPort -e 'Devel::PPPort::WriteFil
2009年05月10日20:15 カテゴリLightweight Languages perl - URI::Amazon::APA released! そんなわけで、作りました。 /lang/perl/URI-Amazon-APA/trunk - CodeRepos::Share - Trac dankogai's p5-uri-amazon-apa at master - GitHub @CPAN (coming soon) Amazon アソシエイト・プログラム(アフィリエイト) 公式ブログ: Amazon アソシエイト Web サービスの名称変更および署名認証についてのお知らせ名称変更にともない、Product Advertising API にリクエストを送信いただく都度、認証のための電子署名を含めていただくことが必要になります。この変更は、2009年5月11日より3ヶ月の間の移
ExtUtils::Install, ExtUtils::Installed を使うと cpan コマンドでインストールしたモジュールについてあれやこれや調べる事が出来ます。 インストールされているモジュール一覧 perl -MExtUtils::Installed -le 'print join "\n" => sort ExtUtils::Installed->new->modules;' 特定のモジュール名が属する dist に含まれるファイル一覧 $ perl -MExtUtils::Installed -le 'print join "\n" => sort ExtUtils::Installed->new->files(shift @ARGV);' YAML::Syck /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
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ページを開く