タグ

perlに関するmkoujiのブックマーク (89)

  • livedoor Techブログ : Hyper Estraier で検索

    はじめまして。ライブドアの山です。 弊社は最近 CGMコンテンツに注力しています。 データがたまってくると、ユーザーが必要な情報をすばやく得られるように検索機能を実装する必要がでてきます。 各コンテンツそれぞれで検索機能を実装しているのですが、mysql から直接引いたり、Namazu や SUFARY などの検索エンジンもかなり使ったりしています。 今回は某コンテンツの検索エンジンとして使用している HyperEstraier のちょっとした導入方法をご紹介します。 HyperEstraier は平林幹雄さんが開発された検索エンジンで、次のような特徴があります。 * インデックスを使った高速な検索ができます。 * 大量の文書のインデックスを短時間で作成できます。 * N-gram方式による漏れのない検索ができます。 * 形態素解析とN-gramのハイブリッド機構で検索精度を向上させます

  • livedoor Developers Blog:String::Trigram でテキストの類似度を測る - livedoor Blog(ブログ)

    こんにちは。検索グループ解析チームの nabokov7 です。 今回は、livedoor キーワードでの事例より、テキストの類似度を測るのに便利な手法を紹介します。 livedoor キーワードは、livedoor ブログでその日その日で話題になった語をランキング表示するサービスです。 当初、はてなキーワードやWikipediaを足して2で割ったようなサービスを作れといった開き直った指示のもとで開発が開始されたともいう、分社化前の芸風の名残で、キーワードの検索結果にはユーザが自由に解説を書き込める Wikipedia 的スペースもついています。 で、この解説部分に、さまざまなサイトから文章をまる写ししちゃう人がとても多いのですね。 特に多いウィキペディア日語版からの剽窃を防止するために、livedoor キーワードでは以下のような対策を講じることにしました。 ウィキペディア日語版の解説

  • 404 Blog Not Found:perl - Encode 入門

    2008年04月09日01:00 カテゴリLightweight Languages perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ 入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これがすべてです!とにかくこの基方針をまもっていれば幸せになれます。ここでは、EUC-JPでエンコードされたファイル中の「小飼弾」「こがいだん」「コガイダン」「Kogai Dan」を正規表現で書き換えて標準出力にEUC-JPで出力するプログラムを例にとって説明します。 decode() then encode(

    404 Blog Not Found:perl - Encode 入門
  • MobaSiF (Moba/Mobile Simple Framework)

    DeNA のケータイ向けサービス「モバオク」「ポケットアフィリエイト」「モバゲータウン」などで利用されているケータイ向けウェブアプリケーションフレームワークをオープンソース化したものです。

    MobaSiF (Moba/Mobile Simple Framework)
  • Tenjin - the fastest template engine in the world - kuwata-lab.com

    Tenjin News (2012-02-16) pyTenjin 1.1.0 released (2011-11-27) rbTenjin 0.7.1 released (2011-11-24) rbTenjin 0.7.0 released (2011-04-29) pyTenjin 1.0.2 released (2011-02-22) pyTenjin 1.0.1 released (2011-02-21) pyTenjin 1.0.0 released Introduction Tenjin is a very fast and full-featured template engine available in several script languages. How fast Tenjin is? The following is a result of benchmark

  • Re:Catalystアプリオレオレポリシー - 日々のこと

    Catalystアプリオレオレポリシー - unknownplace.org 1. アプリ名にかかわらず設定ファイルはconfig.yamlとconfig_local.yaml 2. でも変更することがないほとんどの設定はyamlには書かない。yamlがごちゃっとするときもい 3. ForceUTF8系モジュールは使用しない。内部がきちんとutf8で統一されていれば必要ない。 4. MyApp::UtilsとかいうのでいろいろBKなことをまとめてする。uri_forを気に入るように直したり、FillInFormの挙動変えたり 仕事では Sledge。個人では Catalyst。 仕事で使っていれば社内のコーディングルールだったり暗黙の了解だったりで均一的なポリシーっていうものができあがってくるけど、個人で使ってるとそういうものがなかなか作れないのが困る。 「はて、みんなは Catalys

  • EmacsでPerlのモジュール名を動的に補完する - Kentaro Kuribayashi's blog

    追記: id:rubikitchさんに、auto-revert-modeってのを教えていただきました!素晴しい!!!1 /path/to/pmlistをauto-revert-modeした状態にしておけばcronの更新が反映されるはず。 そこで(global-)?auto-revert-modeですよ - (rubikitch loves (Emacs Ruby CUI Books)) というわけで、そっちを使うように書き直した。 「EmacsでPerlのモジュール名を補完する - subpop - subtech」で書いたネタだったりするのだけど、ともあれ、Perlモジュール名を補完(dabbrev)したいよー的な要求について。上記リンク先で書いたのは、cperl-mode初回起動時にコマンドを流していて、すごく重くていらいらしてたので、あらかじめモジュールの一覧だけのファイルを作るよう

    EmacsでPerlのモジュール名を動的に補完する - Kentaro Kuribayashi's blog
  • Untitled

    Database Not Connected. Please setup the database. No SETUP directory found.

    mkouji
    mkouji 2008/05/13
  • startup.pl で require? - naoyaのはてなダイアリー

    use と require の話、まだ引っ張るのかよって感じですがもうちょっとだけ。del.icio.us で typester 氏からコメントがありました。 requireだけでも、startup.pl のような使い方すればいいよね? んで、一瞬「そうか、startup.pl で全部 reuiqre すればいっしょなのか」と思ったんですがよく考えてみると、その場合 reuqire でロードされるのって結局 startup.pl に書いたファイルだけですよね。 この方法だと、XML::Atom みたいに中で色々使ってるモジュールとかは、その中の実装を考えて全部 require する必要が出てきます。ソースの require な部分を舐めて require するようなロジックを startup.pl に実装するってのも変な話だし。ということでやっぱり use だよなあと。 勘違いかも。 そう

    startup.pl で require? - naoyaのはてなダイアリー
  • 子どもの家

    放課後 ひとりぼっちだと感じたら 子どもの家に来ませんか 「お帰り」と迎え 寄りそってすごします。 ゚・*:.。. ☆☆.。.:*・゜゚・ 子どもの家では こんなことをしています ゚・*:.。. ☆☆.。.:*・゜゚・ ゜::*'放課後立ち寄る子どもを「おかえりー」と迎え、 ゜::*' ゜::*'今日のできごとに耳を傾け、 ゜::*' ゜::*'遊びで心通わせ、 ゜::*' ゜::*'ひとり一人の学習を支援しています。 ゜::*' ゚・*:.。. ☆☆.。.:*・゜゚・ 夕の必要な子どもは、スタッフと卓を囲みます。 ゚・*:.。. ☆☆.。.:*・゜゚・ ゜::*'(一 300円ですが、手伝いをする子には金銭の負担はありません。) ゜::*' ゜::*'(テレビを置かず、分け合いながら、いただいています。) ゜::*' ゚・*:.。. ☆☆.。.:*・゜゚・ 入浴も洗濯も、必要に応じ

  • mod_perlで親プロセスとのCopy on Writeな共有メモリを増やす方法。 - hideden.hatenablog.com

    大量にアクセスがあってMaxClientを大きく設定したい場合、Apacheの1プロセスあたりのメモリを少なくするのが重要。当然アプリ側で大きなライブラリを読み込まずに画像の変換はGearmandにタスクとして投げたりとかの工夫するのも有効だが、fork元になるApacheの親プロセスと子プロセス間でできる限りCopy on Writeな共有メモリを増やすのも有効。 その辺の詳しい仕組み等の話はnaoyaさんがd:id:naoya:20080212:1202830671でしてるのでそこを参考に。linuxカーネルまわりの仕組みって楽しいよね。会社の案件ではFreeBSDサーバーも結構あるんだけどFreeBSDではどうなるのかは知らない。 で、社内にXenなテストサーバーがあるのでまっさらな環境で色々実験してみた。・・・過程を全部書こうとしたら長くなったので省略。地味にpsしたり/proc/

    mod_perlで親プロセスとのCopy on Writeな共有メモリを増やす方法。 - hideden.hatenablog.com
  • Template::Extract XML::RSS でRSS 生成 : NDO::Weblog

    naoya.dyndns.org is currently offline. Please try again later. Questions about our services? Learn more at Dyn.com.

  • Sledgeのサンプルを動かしてみた - hack my life

    以前Sledgeについて書いたんですが、サンプルが無くて動作確認して無かったので、「まるごとPerl vol.1」のサンプルを使用して動かして見ました。 実際に動かしてみる際に以前の設定から変更した所があるので、再度エントリします。 Apacheの設定 まず、mod_perlを有効にします。また、apacheのSetEnvを使いたいので、mod_envも有効にしておきます。 $ sudo vi /etc/httpd/httpd.conf 206行目 #LoadModule env_module libexec/httpd/mod_env.so コメントを外す LoadModule env_module libexec/httpd/mod_env.so 239行目 #LoadModule perl_module libexec/httpd/libperl.so コメントを外す LoadMod

  • 2007/05/07 - memo - unknownplace.org

    書き忘れたけどさっきの update_schema.pl は ./script/myapp_update_schema.pl dbi:mysql:tablename username password 見たいな感じで DSN を渡す必要がある。めんどう。 ここら辺があれでまだヘルパーにはなってない。 mizzy.org : Re: DBICとDBIx::Class::Schema::Loader 僕のいろいろな勘違い 僕の中で流行ってる使い方があるのでかぶせて書いておいてみる。mizzy さんの二個目の例を自分ルール化させた感じ? 作業は一般的なCatalystアプリのディレクトリ構造上であるとして、そこに新しく schema というディレクトリを作成。 そんで、 schema/lib/Schema/{TableName}.pm に各テーブルのリレーション定義とかメソッドとかを自分で書く。

  • モジュールをuseした際のメモリ使用量(増加量)を調べてみる (iandeth.)

    iandeth. Perl, Flash ActionScript, MySQL, Movable Type, システム開発 - そんなテーマのサイトdeth. gtop.plx #!/usr/bin/perl use strict; use warnings; use GTop; my $gtop = GTop->new; my $before = $gtop->proc_mem($$)->size; eval $ARGV[0]; die $@ if $@; my $after = $gtop->proc_mem($$)->size; my $diff = GTop::size_string($after - $before); print "$diff : $ARGV[0]\n"; 例) CGIモジュールのメモリ増加量は... $ ./gtop.plx 'use CGI' 704k :

  • CAPTCHAもどき - spiritlooseのはてなダイアリー

    高木浩光@自宅の日記 - 飾りじゃないのよCAPTCHAは 〜前代未聞のCAPTCHAもどき, CAPTCHA機能の発注仕様をどうするか うーん。これはひどい。 製造過程を想像するとかなり悲惨。 数字の画像も手で作ったのかなぁ? というわけで、ライブラリを使いましょう。 #!/usr/local/bin/perl use strict; use warnings; use CGI; use GD::SecurityImage; my $image = GD::SecurityImage->new( width => 120, height => 40, lines => 5, gd_font => 'Giant', ); $image->random; $image->create('normal', 'circle', [0, 0, 0], [200, 200, 200]); $imag

    CAPTCHAもどき - spiritlooseのはてなダイアリー
    mkouji
    mkouji 2008/05/12
    スパム防止のために歪んだ文字とかを入力させる、アレ
  • Image::ObjectDetectを使った顔認識サービスまとめ - spiritlooseのはてなダイアリー

    この前 http://d.hatena.ne.jp/spiritloose/20070308/1173314595 で作ったImage::ObjectDetectですが、Perlな方々にいろいろと遊んでいただいているようで、どうもです。 とりあえず以下自分用まとめ。 Perl & Image::ObjectDetect 404 Blog Not Found:perl - 顔を認識するcgi 顔にエフェクトをかけてプライバシーを守るWebサービスの作り方まとめ id:k-z-h - 顔を認識するCGI 顔認識&合成 antipop - The Laughing Man Hacks You! The Laughing Man Hacks You! 「顔面認識→笑い男貼り付け」ツールがすごすぎる! | i d e a * i d e a Ruby RubyForge: ObjectDetect:

    Image::ObjectDetectを使った顔認識サービスまとめ - spiritlooseのはてなダイアリー
  • CSVデータをお手軽/高速に扱うモジュール作った。 - spiritlooseのはてなダイアリー

    CSVファイルを処理することがあったので、いつもどおりText::CSV_XSを使おうかなぁと思ったんだけど、最近libcsvっていうのを見かけたので試してみることにした。 というわけでPerlから使いたいので、適当にモジュール作った。 http://search.cpan.org/dist/Text-CSV-LibCSV/ 使い方は use Text::CSV::LibCSV; csv_parse($data, sub { my @cols = @_; # なんか処理 }); こんだけ。楽チン。 こんなスクリプトでベンチとってみたところ、Text::CSV_XSの倍以上速い。 そんなわけで、そこそこ使えるんじゃないかと思います。 libcsv入れるのがちょっとめんどくさいけどね。 なんか作者にチラッと10行ぐらいのメールしといたら5倍ぐらいになって帰ってきてる・・・ バグ報告もたっぷり。

    CSVデータをお手軽/高速に扱うモジュール作った。 - spiritlooseのはてなダイアリー
  • オープンソースの GeoCoder 「geocoder.ja」がすごい - spiritlooseのはてなダイアリー

    http://www.postlbs.org/postlbs-cms/ja/geocoder オープンソースの GeoCoder。「ジオコーダーじゃ」と読むらしい。 これはすごいな。 早速使ってみた。 まずデータを揃えるのが結構大変。 ゆうびんホームページの郵便番号データと国土交通省から街区レベル位置参照情報のデータを取ってきて、Windows専用のデータ変換ツールでデータを構築する必要がある。 国土交通省のデータのダウンロードがすさまじくだるい・・・ 普通にクリックしていくと多分全部集めるのに200回ぐらいクリックしなきゃいけない。 FireBugで多少楽はしたけど大変だった。 このありえないインターフェースはなんとかならんのかなぁ。 で使ってみた感じは、検索は非常に速い。 精度はGoogleMapsのGeoCoderとかにはかなわないけど、それなりにいい感じ。 一番詳細なレベルではてな

    オープンソースの GeoCoder 「geocoder.ja」がすごい - spiritlooseのはてなダイアリー
  • 携帯キャリア各社のIPアドレス帯域を取ってくるスクリプト - spiritlooseのはてなダイアリー

    前に作ったやつをsoftbankに対応させてみた。 HTML::Selector::XPath を使ってみたかったのだけど、HTMLが微妙なため挫折。 #!/usr/local/bin/perl use strict; use warnings; use utf8; use Jcode; use LWP::Simple; docomo(); au(); softbank(); willcom(); sub docomo { print "docomo\n"; my $url = 'http://www.nttdocomo.co.jp/service/imode/make/content/ip/about/'; my $content = get($url); while ($content =~ m!<FONT COLOR="\#009900"><B>(.*?)</B></FONT>!g)

    携帯キャリア各社のIPアドレス帯域を取ってくるスクリプト - spiritlooseのはてなダイアリー