タグ

ブックマーク / dankogai.livedoor.blog (55)

  • 404 Blog Not Found:クローラにしかとシカトしてもらう50の方法

    2006年10月28日22:30 カテゴリTips クローラにしかとシカトしてもらう50の方法 というわけで備忘録代わりに。 Apache: The Definitive Guide [邦訳:Apacheハンドブック] [を] Yahoo! Slurp に rel="nofollow" を無視されたYahoo! Slurp に一斉にアクセスされてサーバのロードアベレージが激ヤバ。 とりあえず、CGIスクリプトのファイル名を変更して回避。robots.txt 最も基的なのがこれ。たつをくんがこれを知らないはずはないのだけど一応基からということで。 robotstxt.org Robots Exclusion Standard - Wikipedia, the free encyclopedia http://www.dan.co.jp/robots.txt ちなみに最後のワイルドカードを

    404 Blog Not Found:クローラにしかとシカトしてもらう50の方法
  • 404 Blog Not Found:perl tips - Encodeを速く使う方法

    2007年04月23日01:30 カテゴリLightweight LanguagesTips perl tips - Encodeを速く使う方法 はっきり言ってこれはフェアではない。 みかログ: ErlangとPerlの速度比較 Perl側は,Encodeが遅い. Encode::from_toがinplaceでコンバートしてしまうために,直前に文字列コピーがあるのも影響しているのかも なぜなら、Encode::from_to()は速度ではなく、安全性に最適化しているから。 そもそもはじめからUTF-8、それもutf8フラグがたっている文字列にfrom_toを使うのはばかげている。 for(my $i = 0; $i < 0xffff; $i++) { my $str2 = $str; Encode::from_to($str2, "UTF-8", "Shift_JIS"); } は単に

    404 Blog Not Found:perl tips - Encodeを速く使う方法
  • perl - UNIVERSAL::which : 404 Blog Not Found

    2006年05月14日04:30 カテゴリLightweight Languages perl - UNIVERSAL::which どのクラスで定義されたメソッドなのか - にぽたん研究所弊社のあるエンジニアが、とあるクラスを継承している他のクラスで呼出可能なとあるメソッドについて、そのメソッドがそのクラス内に定義されていないので、んじゃどこで定義されてるのか?というのを調べるのに時間がかかってた模様。 hioさんの活躍でめでたしめでたしと思いきや.... k.daibaさんから鋭いツッコミ。 AUTOLOAD使ってる場合にも使えるんでしょうか? というわけで、とどめをさすべく書きました。名付けてUNIVERSAL::which package UNIVERSAL::which; use 5.008001; use strict; use warnings; sub UNIVERSAL:

    perl - UNIVERSAL::which : 404 Blog Not Found
  • 404 Blog Not Found:http://www.amazon.co.jp/ の「二枚舌」に学ぶ究極のSEO

    2007年04月20日23:45 カテゴリiTech http://www.amazon.co.jp/ の「二枚舌」に学ぶ究極のSEO If you prefer English, see Keywords in the URI = The Ultimate SEO - 404 Web 2.0 Not Found これを書いて思ったのは、検索サイトはどうやってAmazonのリンクを正規化しているのかというもの。 404 Blog Not Found:不都合なはてブ はてなブックマーク - www.amazon.co.jp の注目エントリー これのどこが問題かおわかりになるだろうか。 答えは、あっさり出た。 たとえば、blogで先月一番売れた「数に強くなる」をぐぐると、Amazonのリンクが一位で私の書評が二位になる。 このAmazonのリンクに注目していただきたい。こうなっている。 数に

    404 Blog Not Found:http://www.amazon.co.jp/ の「二枚舌」に学ぶ究極のSEO
    nsyee
    nsyee 2008/01/22
  • SMTP - SPF導入のすすめ : 404 Blog Not Found

    2007年04月15日12:00 カテゴリiTech SMTP - SPF導入のすすめ NNIPFの話題も出たので、SPFについても書く事にします。 SPFって何? Weblioはこう答えてくれました。 SPF とは (Sender Policy Framework) エスピーエフ, えすぴーえふ SPFとは、電子メールの送信元ドメインを認証する方式のひとつである。SMTPの拡張仕様であり、RFC 4408として定義されている。 ここまでの説明は合ってます。が、以下の下りは完璧に間違っています。 SPFでは、あるドメインに対して電子メールを送ることのできるアドレスを、メールサーバーの側であらかじめ送信者のIPアドレスとして管理している。管理よって認証されたアドレスがメールサーバーの保有している情報と整合した場合に限り、そのメールが正当なものとして送信される。 詳しくはRFC 4408または

    SMTP - SPF導入のすすめ : 404 Blog Not Found
  • perl - B::Deparse : 404 Blog Not Found

    2007年02月11日13:45 カテゴリLightweight Languages perl - B::Deparse 尻馬乗るべし、ということでB::Deparseの紹介。 いやなブログ - スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。実は私も、デバッガーはperl -de1ぐらいしか使っていない(perl -de1は非常によく使うので、Terminal.appのウィンドウの一つがそれ専用になっている。スクリプト言語のインタラクティブな利用法に関しては以前「404 Blog Not Found:LL Intaractive」にまとめたのでそちらをご覧頂くとして、ここではなぜスクリプト言語では滅多にデバッガーを使わないかをおさらいした

    perl - B::Deparse : 404 Blog Not Found
  • perl - 勝手に添削 - Storable : 404 Blog Not Found

    2006年05月11日13:45 カテゴリLightweight Languages perl - 勝手に添削 - Storable というわけで、ひさかたぶりの勝手に添削のコーナーです。今回は、Storableに関して。 [を] Perl の Storable モジュールのメモ store [ $first->{uhyo}, $first->{hogera} ], "a.dat"; codingそのものに問題はありませんが、damianにも載っていないbest practiceをここで一つ紹介しましょう。 Always use nstore and nfreeze instead of store and freeze. 常にnstoreとnfreezeを使う事。storeとfreezeではなく。 理由は、その方がずっとつぶしが利くからです。頭にnをつけるだけで、platform依存が

    perl - 勝手に添削 - Storable : 404 Blog Not Found
    nsyee
    nsyee 2008/01/22
    nfreezeを使えばplatform依存がなくなる。
  • perl - $scalarの中身が数値か否かを判定する : 404 Blog Not Found

    2007年09月21日00:45 カテゴリLightweight Languages perl - $scalarの中身が数値か否かを判定する 詳しくはCookbookの2.1を参照してもらうとして、これは以外とよく出てくる設問なので。 Perl Cookbook (English) Christiansen / Torkington [邦訳: Perlクックブック] Kazuho@Cybozu Labs: MySQL の高速化プチBKところで、実数の場合はどうすればいいんでしょうね。 Scalar::Util::looks_like_number() Perl 5.8.1以降であれば、第一選択はこれです。第一引数の結果が数値か否かを、Perl APIに直接問い合わせるので高速です。ベンチマークを最後に示しますが、真偽ともに正規表現と比較して250倍高速です。 Regexp::Common

    perl - $scalarの中身が数値か否かを判定する : 404 Blog Not Found
    nsyee
    nsyee 2008/01/22
    ちょうどちょっと前にこの問題にぶち当たっていたとこだった。
  • tips - ApacheのLogフォーマットの方を変えて高速化 : 404 Blog Not Found

    2007年10月05日00:00 カテゴリTipsLightweight Languages tips - ApacheのLogフォーマットの方を変えて高速化 というより、高負荷サーバーの場合、ApacheのLog Formatを変更しちゃった方がいいでしょう。 ? (高速に)Apache の log を解析する正規表現 : a++ My RSS 管理人ブログ こんなの広めちゃいかん と思いついついエントリ。具体的には、 LogFormat "%h\t%l\t%u\t%t\t\"%r\"\t%>s\t%b\t\"%{Referer}i\"\t\"%{User-Agent}i\"" combined_tsv ないし、さらに LogFormat "%h\t%l\t%u\t%t\t%r\t%>s\t%b\t%{Referer}i\t%{User-Agent}i" combined_tsv として

    tips - ApacheのLogフォーマットの方を変えて高速化 : 404 Blog Not Found
  • Regexp - Regexp::Commonを引くAPI : 404 Blog Not Found

    2007年10月17日17:00 カテゴリLightweight Languages Regexp - Regexp::Commonを引くAPI Mastering Regular Expression Jeffrey Friedl [邦訳: 詳説 正規表現] そういうことを防ぐにはどうしたらよいか、と考えて作りました。 秋元@サイボウズラボ・プログラマー・ブログ: phpspotの人は正規表現について語らないほうがいいのでは この人、以前にも正規表現のいいかげんな記事を書いていろいろ突っ込まれている。まずは実例から。 Server Source 何をしているかというと、Regexp::CommonをJSONPで引いているのです。このRegexp::Commonは、実際に使用され配布されている正規表現集としては最も実績のあるものの一つですが、そのままではPerlでしか使えないのでこうしてみ

    Regexp - Regexp::Commonを引くAPI : 404 Blog Not Found
  • 404 Blog Not Found:perl - 勝手に添削 - 40行で作るPerl用テンプレートエンジン

    2007年10月30日20:00 カテゴリLightweight Languages perl - 勝手に添削 - 40行で作るPerl用テンプレートエンジン 久々の勝手に添削。今回はこちら。 40行で作るPerl用テンプレートエンジン 正規表現がらみなので、Perl以外でも有用。 添削箇所は、こちら。 40行で作るPerl用テンプレートエンジン sub convert { return unless defined(my $str = shift); $str =~ s{&amp;}{&amp;}gso; $str =~ s{<}{&lt;}gso; $str =~ s{>}{&gt;}gso; $str =~ s{\"}{&quot;}gso; $str; } これの最初のsubstitutionが&amp;ではなくて&ではないかというのはさておき、こういった場合、何度も正規表現をかけ

    404 Blog Not Found:perl - 勝手に添削 - 40行で作るPerl用テンプレートエンジン
  • 404 Blog Not Found:perl - Module::Compile で Self::Compile

    2007年11月04日16:30 カテゴリLightweight Languages perl - Module::Compile で Self::Compile PERL HACKS(日語版) [英語版] こういうものこそ、Module::Compile self-0.11なるものを触ってみた - Unknown::Programming なんとまあ悲惨な結果になりました。他かだか1000ループでコレではちょっと使い物にならないかなぁ・・・。#!/usr/local/bin/perl use strict; use warnings; use Foo; my $f = Foo->new(); $f->foo("bar"); print $f->foo; Foo.pm package Foo; use strict; use warnings; sub new { bless {}, s

    404 Blog Not Found:perl - Module::Compile で Self::Compile
  • 404 Blog Not Found:perl - パッチなしでパッチする

    2007年04月09日16:15 カテゴリLightweight LanguagesTips perl - パッチなしでパッチする Perlに限らず、動的に名前空間を書き換えることができる言語ならコンセプトはパクれるはずのtips. 状況 人様が書いたモジュールにバグ発見! バグ直した パッチも送った でも作者が$VERSION++してくれない さあどうする? オレバージョンのモジュールをつなぎでつかう? でも標準でないものをイントールするのはいやん サブクラス作ってメソッドをオーバーライドする? でも問題のモジュールが継承をサポートしているとは限らないし そもそも問題のモジュールOOじゃなかったりもするし 代替モジュールを書いてCPANにうp? -- i.e. JSON::* でも元々のモジュールがあまりによく使われているし うpは簡単でもサポート大変そうだし.... 実例 See Al

    404 Blog Not Found:perl - パッチなしでパッチする
  • perl - 文字列ばらしはsplit //, $strで : 404 Blog Not Found

    2007年11月27日13:30 カテゴリLightweight Languages perl - 文字列ばらしはsplit //, $strで うーん、ここがあきまへん。 [を] 転置インデックスによる検索システムを作ってみよう! 9 my @char = ($c =~ /([\x00-\x7f]|[\xC0-\xDF][\x80-\xBF]| 10 [\xE0-\xEF][\x80-\xBF]{2}| 11 [\xF0-\xF7][\x80-\xBF]{3})/gsx); 文字列をばらして(utf8の)文字一つ一つの配列にするには、バイト列に正規表現をかますのではなく、utf8文字列にしてからそれにsplit //をかますのが一番です。単にわかりやすいだけではなく、その方がずっと高速です。以下、Benchmark。 #!/usr/local/bin/perl use strict; u

    perl - 文字列ばらしはsplit //, $strで : 404 Blog Not Found
  • perl - Lingua::JA::Kana released! : 404 Blog Not Found

    2007年12月08日20:30 カテゴリLightweight Languages perl - Lingua::JA::Kana released! かなとローマ字をシンプルに相互変換するモジュールです。 dankogai's p5-lingua-ja-kana at master - GitHub @CPAN (as soon as PAUSED) 車輪の再発明ではあるのですが、どの車輪もちょっと不適当だったので。 私が欲しかったのは、お気軽にカナとローマ字の相互変換をするものだったのですが、Lingua::JA::Romajiは対象文字列がEUC-JPでないと駄目で古すぎで、KawaさんのLingua::JA::Romanize::*はちょっとヘビーウェイトすぎというわけで作りました。 ちょっと test suite が少なすぎるので、テスト募集中です。 Dan the Perl

    perl - Lingua::JA::Kana released! : 404 Blog Not Found
    nsyee
    nsyee 2008/01/22
    かなとローマ字を相互変換するモジュール