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

  • perl - 勝手に添削 - 相対パスを絶対パスに変更する : 404 Blog Not Found

    2010年12月28日23:30 カテゴリ perl - 勝手に添削 - 相対パスを絶対パスに変更する Perl & XML Erik T Ray / Jason McIntosh 財井一彰訳 [原著:Perl & XML] 一昔前のentryが、はてぶで引っかかっていたので。 相対パスを絶対パスに変更する | perl | 俺のメモ URIオブジェクトは直接文字列として扱える まずはこれ。何とprintされるでしょう? use 5.010; use strict; use warnings; use LWP::UserAgent; use URI; my $base = 'http://japan.cnet.com/news/business/story/0,3800104746,20416479-0,00.htm'; say URI->new_abs('/news/service/',

    perl - 勝手に添削 - 相対パスを絶対パスに変更する : 404 Blog Not Found
  • #perl #regexp - $utf8 =~ /.../i # の傾向と対策 : 404 Blog Not Found

    2009年10月01日18:00 カテゴリLightweight Languages書評/画評/品評 #perl #regexp - $utf8 =~ /.../i # の傾向と対策 というわけで、その傾向と対策を。 [Perl]UTF8-flagged strings affects regexps with the "i" modifier - use GFx::WebLog; Perlではutf8フラグ付きの文字列に対するuc/lc/"i"正規表現修飾子は非常に遅いのだが,H::F::Liteでは/iを使っているので,試しに/iを使わないようにしてみると,速度が改善した id:gfxの主張は、以下のようにして確かに確かめられる。 use strict; use warnings; use Benchmark qw/cmpthese timethese/; { use bytes; m

    #perl #regexp - $utf8 =~ /.../i # の傾向と対策 : 404 Blog Not Found
  • #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found

    2009年09月13日13:00 カテゴリLightweight Languages #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 駄目です。 [を] Perl の utf8 まわりのおまじない 最近良く使うおまじない、というかイディオム。 utf8::decode($text) unless utf8::is_utf8($text); こういう場合は、Encode::decode_utf8()でないと。 以下をごらんください。 #!/usr/bin/perl use strict; use warnings; use Encode; use Devel::Peek; for my $bytes ( "\x2F", "\xC0\xAF", "\xE0\x80\xAF", "\xF0\x80\x80\xAF" ) { my $u

    #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found
  • perl - use utf8; #って何だ? : 404 Blog Not Found

    2009年06月15日07:00 カテゴリLightweight Languages perl - use utf8; #って何だ? id:otsuneに建設予定フラグがたてられていたので。 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech Perl の utf8 関係が未だ全く理解できない。わからないことがわからないので整理 use utf8はいつフラグをたてるか use utf8 しててもフラグたたないことがある…… これは、以下の実例を見ていただくのが一番よいだろう。 #!/usr/bin/perl use strict; use warnings; use utf8 (); sub check_flag{ my $str = shift; print qq("$str" ), utf8::is_utf8($str) ? 'is' : 'IS NOT',

    perl - use utf8; #って何だ? : 404 Blog Not Found
  • perl - use encoding; #は黒歴史 : 404 Blog Not Found

    2009年06月08日14:30 カテゴリLightweight Languages perl - use encoding; #は黒歴史 ぎゃあぁぁ length関数で文字列の長さを求める - perl初心者BLOG - Hatena::Group::Perl語の文字数を正確に求めたい場合、use encodingを指定する use encoding;は、jperlなど、かつて存在したL10Nされたperl用に書かれたレガシースクリプトを、モダンperlで動かすときのためのおまじないです。こういう目的で利用すべきではありません。 このあたりのことは、以前 404 Blog Not Found:perl - no encoding; # whenever possible でも書いたのですが、大事なことなのでまた書きます。 スクリプトはUTF-8で書き、use utf8;する のがモ

    perl - use encoding; #は黒歴史 : 404 Blog Not Found
  • perl - URI::Amazon::APA released! : 404 Blog Not Found

    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ヶ月の間の移

    perl - URI::Amazon::APA released! : 404 Blog Not Found
  • perl - HTMLをXMLとして扱う : 404 Blog Not Found

    2009年02月19日08:30 カテゴリLightweight Languages perl - HTMLをXMLとして扱う そのXML::Liberalが test でこけまくっていたところから旅が始まった。 ゆーすけべー日記: 壊れた Premiere (映像編集ソフト) のプロジェクトファイルが XML::Liberal (Perlモジュール) で直った ということは、なんとかして壊れたプロジェクトファイルを「well formed」な XML にすればいいじゃないのか!と思ったわけ。そこで活躍したのが「XML::Liberal」という miyagawa プロダクトな Perl モジュール。 やりたかったのは、XHTMLでないHTMLを、XML::*なモジュールで扱うこと。例えばXML::LibXMLを使えば、JavaScriptみたいな感覚でDOMを操作できるし、XML::Sim

    perl - HTMLをXMLとして扱う : 404 Blog Not Found
  • 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 - 暗黙的な参照 # @_ と $_ : 404 Blog Not Found

    2008年07月06日19:30 カテゴリLightweight Languages perl - 暗黙的な参照 # @_ と $_ Good Question! @_の要素の$_[0],$_[1]等は、格納するべきアドレスが可変! - 燈明日記 なぜ、こんな仕様にしたのだろうか・・・。 Good Question だけあって、Good Reasons もきちんとあります。 @_と$_の秘密 まず、事実を再確認しておきましょう。 Perlにおいて、引数を格納する配列@_は、常に参照(reference)です。値(value)ではありません。 これが何を意味するかというと、@_への書き込みが、呼び出し元への書き込みとなるということです。 実際に様子を見てみましょう。 [Run via CodePad] sub inc { ++$_[0] } my $a = 0; print $a, "\n"

    perl - 暗黙的な参照 # @_ と $_ : 404 Blog Not Found
  • perl - use List::Util; # for production codes : 404 Blog Not Found

    2008年06月26日17:30 カテゴリLightweight Languages perl - use List::Util; # for production codes Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] うーん、これでもいいし、List処理というのはいざとなったら自分で再発明できてしかるべき技能ではあるのだけど、「公式の車輪」も紹介しておいてほしかった。 最大値と最小値を求める。 - サンプルコードによる Perl 入門 というわけで代わりに紹介。 "Perl Best Practices" P.170 Use the "non-builtin builtins" 「ビルトインされていないビルトイン関数」を使おう Perl 5.8 以降であればList::Utilが標準装備されているので、これのmax()が「標

    perl - use List::Util; # for production codes : 404 Blog Not Found
  • perl - 勝手に添削 - Perl入門#1@ITPro : 404 Blog Not Found

    2008年06月03日06:00 カテゴリLightweight Languages perl - 勝手に添削 - Perl入門#1@ITPro さすがに出典が日経Linux 2003年7月号だけあって、少しトウがたってはいるけど、現在でもわずかな修正で使える記事。さすが川合さんといったところか。 第1回 Perlの文法の基ITpro というわけで、この記事の「現代化」Patchを。 全般 use strict;だけではなくuse warnings;も加えましょう。 さらに,調べても分からないことがあれば,メーリング・リストやユーザー・グループ*2に質問してみてもよいでしょう。 blogに書くのもアリです。あと私は使っていないけどIRCとか。 ビルトイン関数は()でくくらない方が視認性が上がります。 before: chomp($sLine); after: chomp $sLine;

    perl - 勝手に添削 - Perl入門#1@ITPro : 404 Blog Not Found
  • 404 Blog Not Found:javascript - 勝手に添削 - textareaの高さを自動調節

    2008年05月20日14:15 カテゴリLightweight Languages javascript - 勝手に添削 - textareaの高さを自動調節 これはなかなかいいですね。 textareaのサイズを入力にあわせて調整するJavaScript (イラストdeブログ開発記) イラストdeブログの掲示板の使い勝手を高めるため、textareaサイズをJavaScriptで改行入力毎に大きくするコードを書いてみました Firefox 2, Safari 3, Opera 9で動作確認してあります。 イチ に 三 function resize_textarea(ev){ //if (ev.keyCode != 13) return; var textarea = ev.target || ev.srcElement; var value = textarea.value; var

    404 Blog Not Found:javascript - 勝手に添削 - textareaの高さを自動調節
  • perl - stat()、-X 演算子、そして _ ファイルハンドル : 404 Blog Not Found

    2008年05月12日13:30 カテゴリLightweight Languages翻訳/紹介 perl - stat()、-X 演算子、そして _ ファイルハンドル こういった場合のTipです。 ファイル演算子「 -s 」で、ファイルサイズを取得する。 - サンプルコードによる Perl 入門 if( -f $file ){ my $file_size = -s $file; print "$file のファイルサイズは、$file_size バイトです。\n\n"; } else{ print "$file は、存在しませんでした。\n\n"; } _ ファイルハンドル 実は、-X演算子は、その演算子に期待された結果を返すだけではなく、その他のファイル情報を特殊ファイルハンドル_にセットします。これを使うと、上のコードは if( -f $file ){ my $file_size =

    perl - stat()、-X 演算子、そして _ ファイルハンドル : 404 Blog Not Found
  • 404 Blog Not Found:perl - There's more than one way to die

    2008年05月10日15:00 カテゴリLightweight Languages perl - There's more than one way to die いよいよ来週はYAPC::Asia::2008ですが、Hotel DANは日から開業。我が家では日から20日までが「YAPC旬間」です。 というわけで、その間は少なくとも一つはperlがらみのentryにしていく所存です。 で、第一回はいきなりdieの話題です。 開発日誌 pp-perl: Perlのエラー処理プログラムを停止して、メッセージ(LIST)をSTRERRに出力します。 間違っていませんが正しいとは言えません。 die = throw die()とは何か? まずは、以下のコードをご覧下さい。 [Run via codepad] eval { my $zero = 0; my $dead = 1 / $zero;

    404 Blog Not Found:perl - There's more than one way to die
  • 404 Blog Not Found:Amazonアソシエイト決算2008.01 - ポロリもあるよ!

    2008年02月01日06:00 カテゴリ書評/画評/品評 Amazonアソシエイト決算2008.01 Amazonの2008年01月分の決算の集計が終わったので結果を発表します。 自分で言うのもなんですが、今回はすごいです。アフィリエーター必見のentry。 夢の7,000が見えて来た 前月比+100%、倍です。 Google Analyticsによると、PVは125万。前月が110万。アクセス数も伸びてはいますが、ここまでではない。何が違うかというと、クリック数とコンバージョン。どちらも信じがたいほど高い。1月のblogの視聴者のみなさんは、なんと13回に1回は実際に広告をクリックしてくれて、そのうちのさらに13回に1回は実際に商品を注文してくれている。両方を考慮すると160PVに一点注文して下さるわけです。 嬉しいを通り越して、怖いですね、ここまで信用して下さると。 確定申告をお忘

    404 Blog Not Found:Amazonアソシエイト決算2008.01 - ポロリもあるよ!
  • 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:誤った404エラーページをつくるただ1つの方法

    2007年03月29日23:00 カテゴリiTech 誤った404エラーページをつくるただ1つの方法 この話題は以前「404 Blog Not Found:200 Blog Not Found」でも触れたのだけど、まだわかっていない人々があとを断たないのでもう一度。 わかりやすい404エラーページについて考えてみる | caramel*vanilla アクセスされたページを削除してしまったのなら仕方ありませんが、URLが変わっただけならなんとか探し当てていただきたいもの。 せっかくなにかのきっかけで訪れてくれた方をガッカリさせたままでは申し訳ありません。 なにかのきっかけで訪れるのは、人間とは限りません。 特に検索エンジンは「非人間の訪問者」としては非常に重要な訪問者です。 「彼ら」にとって「ページが存在しない」とはいったいどういうことでしょう? ページがわかりやすいこと? 違います。その

    404 Blog Not Found:誤った404エラーページをつくるただ1つの方法
  • 404 Blog Not Found:perl - 任意のURIからfaviconを取得するAPI

    2007年03月22日04:30 カテゴリLightweight Languages perl - 任意のURIからfaviconを取得するAPI 「404 Blog Not Found:Hatena::Bookmark - ぶくマのfaviconを表示する」で示したようなアプリケーションは今後結構ありうると考えて作りました。 利用法は簡単です。 <img src="http://api.dan.co.jp/favicon/http://www.example.com/path/" alt="favicon"> 例: http://api.dan.co.jp/favicon/http://blog.livedoor.jp/ → http://api.dan.co.jp/favicon/http://blog.livedoor.jp/dankogai/ → とはいっても、大々的に使ってもらう

    404 Blog Not Found:perl - 任意のURIからfaviconを取得するAPI
  • 404 Blog Not Found:勝手に添削 - Ajaxでデバッグしよう - @IT

    2007年03月07日11:00 カテゴリLightweight Languages 勝手に添削 - Ajaxでデバッグしよう - @IT 記事そのものはまあいいのだけど、CGIの部分があまりにひどいので。 Ajaxでデバッグしよう - @IT 私の仕事の現場ではJavaを開発言語として使用することが多いので、JSPやServletとして実装していますが、今回はレンタルサーバでも利用しやすいようにPerlで作成しました。以下のソースを参考にしてください。 Before まあご覧下さい。前世紀末においてすら[これはひどい]レベルです。著者はJava屋さんとのことなのでその点を甘く見ても、一体何を参考にして書いたのか是非お聞かせください。 local %params; # エージェントはGETメソッドだけを使用するのでPOSTは考慮しない # リモートログエージェントから送られてたログ情報を環

    404 Blog Not Found:勝手に添削 - Ajaxでデバッグしよう - @IT
  • 勝手に添削 - 日経ソフトウェア2007.03 : 404 Blog Not Found

    2007年01月27日16:30 カテゴリLightweight Languages書評/画評/品評 勝手に添削 - 日経ソフトウェア2007.03 以下につられて買ってみた。 日経ソフトウエア 2007年 03月号 TAKESAKO @ Yet another Cybozu Labs: KENTさんとの対談写真が見れるのは日経ソフトウエアだけそして、去年の11月に:: KENT WEB - CGIスクリプト :: で有名な KENT さんと対談させていただいたときの記事が写真つきで載っています。 KENTさんの写真が見れるのは日経ソフトウエア2007.03(1月24日発売)だけです。 404 Blog Not Found:日経ソフトウェア2007年1月号 - perlはどこだ!? - おおもりさんのコメント申し訳ないです。とりあえず3月号をお楽しみに、という感じです。詳しくは竹迫さんに聞

    勝手に添削 - 日経ソフトウェア2007.03 : 404 Blog Not Found
  • 1